2016-08-15T00:00:43Z Karl_Dscc quit (Remote host closed the connection) 2016-08-15T00:07:23Z pillton joined #lisp 2016-08-15T00:07:43Z knobo: (length (remove nil list)) is (count-if 'identity list). But I probably waste my time changing code like that. 2016-08-15T00:11:54Z MoALTz quit (Quit: Leaving) 2016-08-15T00:14:35Z lexicall joined #lisp 2016-08-15T00:15:33Z nselmo is now known as Anselmo 2016-08-15T00:15:48Z lexicall quit (Client Quit) 2016-08-15T00:21:55Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-15T00:22:12Z despoil quit (Remote host closed the connection) 2016-08-15T00:40:11Z asc232 joined #lisp 2016-08-15T00:43:42Z ezjones joined #lisp 2016-08-15T00:45:22Z lemoinem joined #lisp 2016-08-15T00:48:59Z oleo_ joined #lisp 2016-08-15T00:52:40Z oleo quit (Ping timeout: 264 seconds) 2016-08-15T01:02:54Z safe joined #lisp 2016-08-15T01:09:08Z adolf_stalin joined #lisp 2016-08-15T01:10:03Z quazimod1 quit (Ping timeout: 240 seconds) 2016-08-15T01:10:15Z quazimodo quit (Ping timeout: 244 seconds) 2016-08-15T01:12:33Z shdeng joined #lisp 2016-08-15T01:13:17Z m00natic quit (Remote host closed the connection) 2016-08-15T01:13:44Z adolf_stalin quit (Ping timeout: 250 seconds) 2016-08-15T01:20:18Z Demosthenex joined #lisp 2016-08-15T01:22:42Z Demosthenex left #lisp 2016-08-15T01:24:37Z strykerkkd quit (Remote host closed the connection) 2016-08-15T01:25:11Z Jesin quit (Quit: Leaving) 2016-08-15T01:30:49Z FreeBirdLjj joined #lisp 2016-08-15T01:37:47Z prole quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-08-15T01:40:20Z harish_ joined #lisp 2016-08-15T01:46:08Z wccoder joined #lisp 2016-08-15T01:47:14Z karswell quit (Remote host closed the connection) 2016-08-15T01:47:47Z defaultxr joined #lisp 2016-08-15T01:50:34Z wccoder quit (Ping timeout: 258 seconds) 2016-08-15T01:54:02Z eSVG quit (Read error: Connection reset by peer) 2016-08-15T01:55:38Z eSVG joined #lisp 2016-08-15T02:11:18Z rme joined #lisp 2016-08-15T02:16:05Z vito`` joined #lisp 2016-08-15T02:16:26Z vito`` is now known as VitoVan 2016-08-15T02:17:19Z laurus joined #lisp 2016-08-15T02:20:34Z ezjones quit (Quit: ezjones) 2016-08-15T02:22:28Z VitoVan: Morning everyone~ 2016-08-15T02:22:47Z VitoVan: I have two functions: 2016-08-15T02:22:52Z VitoVan: (defun base-func (param0 &key param1 param2) ...) 2016-08-15T02:22:54Z VitoVan: (defun func1 (&rest args) (apply #'base-func "p0" args)) 2016-08-15T02:23:47Z quazimodo joined #lisp 2016-08-15T02:23:53Z quazimod1 joined #lisp 2016-08-15T02:24:18Z VitoVan: When I typed "base-func" in SLIME-REPL, there will be hints about the parameters on the mode-line. 2016-08-15T02:25:01Z VitoVan: But "func1" won't, because the parameters of "func1" is not clearly told. 2016-08-15T02:27:09Z VitoVan: Should I use something like defmethod to make that happen? 2016-08-15T02:29:32Z Bike: you could have func1 take keys 2016-08-15T02:29:52Z Bike: (defun func1 (&rest args &key param1 param2) (declare (ignore param1 param2)) (apply #'base-func "p0" args)) 2016-08-15T02:30:27Z VitoVan: Bike: Thank you Bike, I know that will work. 2016-08-15T02:30:57Z VitoVan: Bike: But I may have a dozen of func1,func2,func3,...funcN, and they take the same parameters. 2016-08-15T02:31:37Z VitoVan: Bike: Then I have to write down "(&rest args &key param1 param2)" over and over again? 2016-08-15T02:31:49Z pierpa joined #lisp 2016-08-15T02:32:07Z Bike: yeah? i mean, you're defining a bunch of very similar functions, you're going to be writing something repeatedly 2016-08-15T02:32:15Z Bike: if you're just swapping out the "p0" you could make a macro 2016-08-15T02:33:03Z VitoVan: You mean, I could have a macro "make-func", when I call it, it will defun a function for me? 2016-08-15T02:33:49Z VitoVan: Such as (make-func "p1" func1) then I got a function defined as "func1"? 2016-08-15T02:34:03Z Bike: i wouldn't call it make-, but yes 2016-08-15T02:34:17Z VitoVan: Bike: Then what's the better name? 2016-08-15T02:34:26Z Bike: define- or def- 2016-08-15T02:34:37Z VitoVan: Bike: Thanks! 2016-08-15T02:34:58Z Bike: (macrolet ((def (name value) `(defun ,name (&rest args &key param1 param2) (declare (ignore param1 param2)) (apply #'base ,value args)))) (def func1 "p0") (def func2 "p1") ...etc...) 2016-08-15T02:35:54Z VitoVan: Bike: I didn't realize that I can use "macrolet", this is useful~ 2016-08-15T02:36:24Z Bike: it's pretty nice when you only need a macro for a few things 2016-08-15T02:37:00Z VitoVan: Bike: But when I define functions this way, will it make my code more difficult to read? Compare with defun manully. 2016-08-15T02:37:19Z VitoVan: manully => manually 2016-08-15T02:37:25Z Bike: having a bunch of repetitive code is worse, since you need to tune out the noise 2016-08-15T02:38:02Z VitoVan: Bike: And I assume it is ok to export those macro-defined functions in defpackage? 2016-08-15T02:38:26Z Bike: sure, they're just symbols same as anything 2016-08-15T02:38:39Z laurus: I was just reading this article https://sites.google.com/site/steveyegge2/tour-de-babel and was wondering about this quote: "Shel wrote Mailman in C, and Customer Service wrapped it in Lisp." What does this mean? 2016-08-15T02:38:51Z VitoVan: Bike: Thank you! You help me a lot. 2016-08-15T02:45:10Z VitoVan quit (Ping timeout: 250 seconds) 2016-08-15T02:45:52Z VitoVan joined #lisp 2016-08-15T02:49:48Z harish_ quit (Ping timeout: 244 seconds) 2016-08-15T02:51:09Z adolf_stalin joined #lisp 2016-08-15T02:51:56Z axion: given some conses, '((up . down) (odd . even) (row . col)), is there a library/utility function that can help me find all permutations using 1 of each set, or am I best off just doing it myself? example: '((up odd row) (up odd col) (up even row) ...) 2016-08-15T02:52:21Z axion: the actual data set is larger than this :) 2016-08-15T02:53:43Z heddwch: https://common-lisp.net/project/alexandria/draft/alexandria.html#Sequences map-combinations sounds right 2016-08-15T02:54:42Z axion: Thanks, I actually looked into that, but I couldn't figure out how to only consider 1 element of each set using that. 2016-08-15T02:55:39Z heddwch: np :) Use :key 2016-08-15T02:55:58Z quazimodo quit (Ping timeout: 250 seconds) 2016-08-15T02:56:05Z Bike: i think that would just give you combinations of cars 2016-08-15T02:56:25Z heddwch: ah, true… 2016-08-15T02:56:39Z quazimod1 quit (Ping timeout: 260 seconds) 2016-08-15T02:56:48Z Bike: i'd just do it myself. (mapcan (lambda (car) (mapcar (lambda (cdr) (cons car cdr)) list)) list) i think. 2016-08-15T02:56:52Z heddwch: hrm 2016-08-15T02:57:22Z Bike: except that's wrong and i may have misunderstood the problem anyway 2016-08-15T02:57:24Z axion: Hmm ok, thanks! 2016-08-15T02:57:26Z heddwch: hehe 2016-08-15T02:57:31Z zacharias quit (Read error: Connection reset by peer) 2016-08-15T02:58:10Z Bike: if each pair means a new element of the result elements, you have a complete binary tree instead 2016-08-15T02:58:32Z zacharias joined #lisp 2016-08-15T03:01:30Z jleija quit (Quit: leaving) 2016-08-15T03:02:39Z arescorpio joined #lisp 2016-08-15T03:03:19Z rme quit (Quit: rme) 2016-08-15T03:05:11Z laurus left #lisp 2016-08-15T03:05:56Z harish_ joined #lisp 2016-08-15T03:10:48Z beach: Good morning everyone! 2016-08-15T03:10:56Z VitoVan: beach: Morning beach~ 2016-08-15T03:11:14Z beach: McCLIM fundraiser has more than 2000 USD now. YAY! 2016-08-15T03:11:50Z reepca joined #lisp 2016-08-15T03:14:23Z wildlander quit (Quit: Saliendo) 2016-08-15T03:29:26Z gko: Is (Mc)CLIM good? 2016-08-15T03:30:32Z beach: gko: Opinions vary. But it is the only free and native toolkit we have. So we are trying to make it better than it is. I already think it is great. 2016-08-15T03:32:30Z fiddlerwoaroof: The only real problem I have with it is cross-platform usage. 2016-08-15T03:32:44Z beach: How so? 2016-08-15T03:32:48Z fiddlerwoaroof: And that will probably be fixed sometime in the future when people write backends for OSX and Windows 2016-08-15T03:33:07Z beach: Oh, you mean lack of cross platform? 2016-08-15T03:33:10Z fiddlerwoaroof: Yeah 2016-08-15T03:33:14Z beach: Sure. 2016-08-15T03:33:18Z lexicall joined #lisp 2016-08-15T03:33:29Z fiddlerwoaroof: It's a great experience on Linux, though. 2016-08-15T03:33:38Z beach: I agree. 2016-08-15T03:34:12Z beach: gko: Some people think it looks old. They are probably right. We will try to fix that. 2016-08-15T03:38:22Z reepca quit (Remote host closed the connection) 2016-08-15T03:39:46Z akkad: gko it's perfect on commercial lisp 2016-08-15T03:40:00Z gko: Is McCLIM and LispWorks CLIM more or less compatible? 2016-08-15T03:40:21Z beach: gko: The CLIM spec is not as good as (say) the Common Lisp HyperSpec. 2016-08-15T03:40:38Z beach: gko: But otherwise, they are both implementations of the same spec. 2016-08-15T03:42:16Z gko: OK, thanks! 2016-08-15T03:50:16Z karswell joined #lisp 2016-08-15T03:51:37Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-15T03:52:50Z Quadrescence: hello friends 2016-08-15T03:52:58Z beach: Hello Quadrescence. 2016-08-15T03:53:09Z Quadrescence: how's hacking? 2016-08-15T03:53:09Z beach: Quadrescence: Thank you so much for your support! 2016-08-15T03:53:18Z Quadrescence: my pleasure :) 2016-08-15T03:53:52Z beach: Hacking is great! I figured out a way to implement the Common Lisp sequence functions that makes the code both fast, portable, and maintainable. 2016-08-15T03:54:08Z beach: I had the first two already. I figured out the maintainable part recently. 2016-08-15T03:54:21Z heddwch: nice :o 2016-08-15T03:54:26Z beach: I'll write a paper and submit it to ELS 2017 once I am done. 2016-08-15T03:54:38Z heddwch: Glad to see McCLIM getting some love. Wish I had some money to throw into the pot :/ 2016-08-15T03:54:39Z Quadrescence: beach, can you figure out as well an extensible number system, sort of like Julia? ;) 2016-08-15T03:54:57Z fiddlerwoaroof: Will your sequences be extensible as well? 2016-08-15T03:55:04Z beach: Quadrescence: It is not high priority for me. :) 2016-08-15T03:55:14Z beach: fiddlerwoaroof: Sure. 2016-08-15T03:55:20Z Quadrescence: brb 2016-08-15T03:55:23Z Quadrescence quit (Quit: Leaving) 2016-08-15T03:55:44Z Quadrescence joined #lisp 2016-08-15T03:55:51Z beach: heddwch: Don't worry about it. We met our highest goal for this month, after only two days of fund raising!!!! 2016-08-15T03:56:01Z heddwch: That's great :D 2016-08-15T03:56:07Z fiddlerwoaroof: Cool, I was just recently a bit annoyed that the spec specifies that a conforming program can't inherit from sequence 2016-08-15T03:56:57Z fiddlerwoaroof: It makes sense from an efficiency standpoint, it's just seems a bit arbitrary 2016-08-15T03:58:24Z beach: fiddlerwoaroof: There are other ways of doing it. 2016-08-15T03:59:17Z beach: fiddlerwoaroof: One can imagine a class (say) EXTENDED-SEQUENCE that participates in the same protocol as the built-in sequence functions do. 2016-08-15T03:59:42Z beach: fiddlerwoaroof: That class could be a standard class so that it can be subclassed. 2016-08-15T04:00:06Z pillton: Isn't that what the extensible sequence specification does? 2016-08-15T04:00:24Z fiddlerwoaroof: Wouldn't you have to then shadow the built in functions? 2016-08-15T04:00:38Z beach: pillton: I don't know. I was unaware of any such official specification. 2016-08-15T04:00:47Z beach: fiddlerwoaroof: No. 2016-08-15T04:01:05Z pillton: beach: http://www.doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf 2016-08-15T04:01:06Z Bike: beach, pillton: yes, that is what it does. 2016-08-15T04:01:18Z beach: fiddlerwoaroof: The implementation can recognize EXTENDED-SEQUENCE. 2016-08-15T04:01:32Z fiddlerwoaroof: Ah, so it'd require support from the implementation 2016-08-15T04:01:34Z Bike: i mean, sort of. it lets you subclass cl:sequence with whatever. 2016-08-15T04:01:37Z fiddlerwoaroof: That makes sense 2016-08-15T04:01:59Z beach: fiddlerwoaroof: Yes, you can't do it without support from the implementation either way. 2016-08-15T04:02:59Z reepca joined #lisp 2016-08-15T04:04:05Z beach: fiddlerwoaroof: Allowing the user to subclass SEQUENCE may create performance problems in some implementations. 2016-08-15T04:04:24Z fiddlerwoaroof: Yeah, that's the part that makes sense to me 2016-08-15T04:04:39Z Bike: it doesn't make sense that it may create performance problems? 2016-08-15T04:04:56Z fiddlerwoaroof: It makes sense that it could cause performance problems 2016-08-15T04:05:08Z fiddlerwoaroof: It's annoying that we have to pay attention to such things :) 2016-08-15T04:05:41Z beach: Things like ELT and LENGTH would have to be generic and some implementations don't do well with generic functions. 2016-08-15T04:07:06Z Bike: the way the sequence extension protocol works is having cl:foo be the standardized functions, except that for (not (or vector list)) they call sequence:foo, which is generic 2016-08-15T04:07:20Z Bike: which is kinda hacky, but makes enough sense 2016-08-15T04:09:20Z mastokley joined #lisp 2016-08-15T04:09:21Z mastokley quit (Max SendQ exceeded) 2016-08-15T04:09:51Z mastokley joined #lisp 2016-08-15T04:10:03Z heddwch: fiddlerwoaroof: With a sufficiently intelligent compiler, we wouldn't 2016-08-15T04:10:05Z heddwch: *ducks* 2016-08-15T04:10:51Z pillton: The iterator protocol in the extensible sequences document avoids the penalty of generic functions via the make-sequence-iterator generic function. 2016-08-15T04:10:56Z fiddlerwoaroof: Couldn't a compiler macro frequently replace a generic function with a normal function in the appropriate places? 2016-08-15T04:11:35Z pillton: Compiler macros aren't enough. 2016-08-15T04:12:08Z pillton: ...if you want something maintainable. 2016-08-15T04:14:05Z LiamH quit (Quit: Leaving.) 2016-08-15T04:14:11Z beach: Bike: It's a good compromise. 2016-08-15T04:14:53Z Quadrescence: pillton, don't worry, you and Bike can make/finish Compiler Macros Done Right 2016-08-15T04:14:56Z beach: fiddlerwoaroof: A compiler macro can't do much with a generic function. 2016-08-15T04:15:02Z pierpa: changing a standard function to be a generic function instead what would break? 2016-08-15T04:15:10Z beach: fiddlerwoaroof: Because you never know what methods it will have at runtime. 2016-08-15T04:15:28Z Fare quit (Ping timeout: 265 seconds) 2016-08-15T04:15:34Z beach: pierpa: It makes it impossible to make assumptions about what it does at compile time. 2016-08-15T04:15:42Z pierpa: k 2016-08-15T04:15:46Z Quadrescence: beach, what about declining expansion unless there's some notion of a closed-world assumption? 2016-08-15T04:16:18Z Quadrescence: *WHOLE-PROGRAM-COMPILATION-P* 2016-08-15T04:16:22Z Quadrescence: (: 2016-08-15T04:16:31Z fiddlerwoaroof: Hmm, but you could replace it with something like (lambda (...) (typecase ... (vector ...) (t (fun ...)) 2016-08-15T04:16:49Z beach: fiddlerwoaroof: That is basically what the extended-sequence idea does. 2016-08-15T04:17:13Z fiddlerwoaroof: Although, I suppose you'd still be assuming that no relevant methods have been added 2016-08-15T04:17:23Z beach: fiddlerwoaroof: So ELT etc are not generic, but instead of calling ERROR when it has neither a list nor a vector, it call a generic function. 2016-08-15T04:17:32Z fiddlerwoaroof: Makes sense 2016-08-15T04:17:47Z beach: I think it is a reasonable compromise. 2016-08-15T04:18:13Z beach: The other possibility is to have caller-side optimization of calls to generic functions. 2016-08-15T04:18:45Z beach: It is way more complicated to implement. The call would have to be recompiled when the generic function changes. 2016-08-15T04:19:17Z pillton: Yeah. You are better off thinking about the context in which ELT is called. 2016-08-15T04:19:20Z beach: Having said that, I do think that, if we had caller-side optimization, we could do a lot of great things. 2016-08-15T04:20:55Z jackdaniel: good morning 2016-08-15T04:21:06Z beach: Hello jackdaniel! :) 2016-08-15T04:21:28Z jackdaniel: o/ 2016-08-15T04:21:40Z beach: jackdaniel: The McCLIM fundraiser reached the highest goal this month!!!! 2016-08-15T04:21:57Z Fare joined #lisp 2016-08-15T04:22:19Z jackdaniel: wow, then I'll start looking for the second person, hopefully we'll find one :) 2016-08-15T04:22:34Z beach: That would be fantastic! 2016-08-15T04:25:37Z SamSkulls quit (Ping timeout: 265 seconds) 2016-08-15T04:25:39Z beach: I haven't given it much thought, but it seems to me that the Common Lisp HyperSpec would not allow for a caller to be entirely recompiled at arbitrary points in time. But if we could save the AST (as I define it in SICL) it may be possible. 2016-08-15T04:26:22Z fiddlerwoaroof: I'm slightly interested, but I don't really know what the qualifications would be and if I have the time. 2016-08-15T04:27:07Z Bike: i think sbcl and maybe ccl already do caches and recompiles for make-instance calls 2016-08-15T04:27:29Z pillton: beach: Having a module system would help. 2016-08-15T04:27:41Z beach: pillton: In what way? 2016-08-15T04:27:46Z Bike: tragically, nobody alive understands pcl 2016-08-15T04:28:54Z beach: Bike: Why is it tragic? 2016-08-15T04:29:20Z pillton: Knowing what the run time environment is for a "component" would allow you to do the optimisation you speak of. 2016-08-15T04:29:22Z Bike: because understanding things is nice? 2016-08-15T04:29:30Z fiddlerwoaroof: Is the code particularly messy? 2016-08-15T04:29:36Z beach: Bike: Granted. 2016-08-15T04:30:04Z Bike: easier to adapt and modify something if you know how it works 2016-08-15T04:30:54Z beach: pillton: Still, there is a problem. Even if you know the callee, if it is a generic function, you will have to change the optimized inlined call when a method is added or removed, or if the generic function is altered in some way. 2016-08-15T04:31:20Z beach: Bike: The PCL technique for generic dispatch is not well adapted to modern processors. 2016-08-15T04:31:36Z Bike: i know you have your own thing there, i meant the caching. 2016-08-15T04:31:54Z fiddlerwoaroof: beach: couldn't you add a sentinel at the beginning of the inlined chunk that checks if there is a new version of the method? 2016-08-15T04:32:11Z pillton: beach: Ah yep. I'd forgotten about the programmatic part. 2016-08-15T04:32:14Z fiddlerwoaroof: Then, if there is, you fallback on the non-inlined one 2016-08-15T04:32:29Z fiddlerwoaroof: Although, maybe that would destroy the benefits of inlining 2016-08-15T04:32:34Z beach: fiddlerwoaroof: You could, but that won't buy you much. What you really want is for type inference and other optimizations to take advantage of changes. 2016-08-15T04:33:08Z beach: Bike: What aspect of caching in the PCL are you referring to? 2016-08-15T04:33:37Z Bike: how the cache/recompile for make-instance works in general. 2016-08-15T04:33:49Z beach: OK. 2016-08-15T04:36:01Z defaultxr quit (Quit: gnight) 2016-08-15T04:40:39Z mastokley quit (Ping timeout: 264 seconds) 2016-08-15T04:41:34Z shdeng quit (Ping timeout: 244 seconds) 2016-08-15T04:41:57Z shdeng joined #lisp 2016-08-15T04:42:40Z Trystam joined #lisp 2016-08-15T04:43:53Z tmtwd joined #lisp 2016-08-15T04:44:38Z milanj quit (Quit: This computer has gone to sleep) 2016-08-15T04:45:12Z phadthai quit (Ping timeout: 240 seconds) 2016-08-15T04:45:26Z Tristam quit (Ping timeout: 265 seconds) 2016-08-15T04:48:04Z smokeink joined #lisp 2016-08-15T04:51:29Z FreeBirdLjj joined #lisp 2016-08-15T04:53:21Z phadthai joined #lisp 2016-08-15T04:55:12Z adolf_stalin quit (Remote host closed the connection) 2016-08-15T04:56:43Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2016-08-15T05:00:46Z phadthai quit (Ping timeout: 250 seconds) 2016-08-15T05:05:13Z beach: This has got to be one of the strangest macros I have ever written: http://paste.lisp.org/+6XE4 2016-08-15T05:05:57Z Bike: haha, what? 2016-08-15T05:05:58Z Fare quit (Ping timeout: 250 seconds) 2016-08-15T05:06:44Z heddwch: hehe nice 2016-08-15T05:06:44Z beach: Bike: The idea is that the BODY will contain code that will be specialized based on the tests in the COND by a good compiler. 2016-08-15T05:06:45Z Bike: you couldn't just have a validate-test-and-test-not function called before the body? 2016-08-15T05:06:49Z Bike: oh. 2016-08-15T05:07:29Z mathi_aihtam joined #lisp 2016-08-15T05:07:34Z Bike: i guesss that makes sense. 2016-08-15T05:07:35Z beach: This technique will make it fast AND portable. 2016-08-15T05:08:08Z Arathnim: I love how easy McCLIM is to use. The terminology is very different than what I'm used to, but makes a lot of sense. 2016-08-15T05:08:34Z beach: Arathnim: I agree. 2016-08-15T05:09:03Z fiddlerwoaroof: I've been playing a bit with macros for defining one class in relation to another 2016-08-15T05:09:05Z fiddlerwoaroof: http://paste.lisp.org/+6XE1 2016-08-15T05:09:12Z Arathnim: Don't the terms predate modern gui design by several years? 2016-08-15T05:09:58Z beach: Arathnim: I suppose they do. But has there been much change in GUI design terminology? 2016-08-15T05:10:53Z oleo_ quit (Quit: Leaving) 2016-08-15T05:11:48Z coetry joined #lisp 2016-08-15T05:12:03Z arescorpio quit (Quit: Leaving.) 2016-08-15T05:12:15Z coetry: How do we upgrade ASDF? Shouldn't the latest quicklisp take care of that? 2016-08-15T05:12:16Z coetry: https://gist.github.com/coetry/a5df1ce5b493d3ed29c75819fa5f24d5 2016-08-15T05:12:33Z jackdaniel: coetry: no, ASDF is bundled with the implementation 2016-08-15T05:13:07Z jackdaniel: you may upgrade it, but you're on your own then 2016-08-15T05:13:15Z Bike: you can download and load an asdf file. 2016-08-15T05:13:33Z coetry: hmm 2016-08-15T05:13:36Z Bike: quicklisp only ensures that there's a minimal version installed, it's like, asdf2 or something. 2016-08-15T05:13:37Z jackdaniel: even compile and load :) (load (compile-file "asdf.lisp")) 2016-08-15T05:13:47Z Arathnim: The clim terms fell into disuse when symbolics died and the other gui terms (NeXT?) took over. 2016-08-15T05:13:54Z coetry: i was hmm ok 2016-08-15T05:13:57Z fiddlerwoaroof: Arathnim: According to wiki, CLIM is from 1988 while the macintosh is from 84 2016-08-15T05:14:13Z fiddlerwoaroof: I have no idea about the origin of the various terms, though 2016-08-15T05:15:51Z beach: Arathnim: Do you have any specific terms in mind? 2016-08-15T05:16:18Z phadthai joined #lisp 2016-08-15T05:17:05Z beach: Arathnim: For example, the concept of presentations and presentation types can not be said to have "fallen into disuse" because they were never present in any other GUI toolkit as far as I know. 2016-08-15T05:17:30Z Arathnim: pane, sheet, and medium, vs. windows, frames, widgets 2016-08-15T05:18:21Z beach: I don't think those were ever used by other toolkits either, so it is hard to say that they have "fallen into disuse". 2016-08-15T05:18:36Z beach: In CLIM it is "gadget" and not "widget" by the way. 2016-08-15T05:20:27Z beach: Arathnim: I think this terminology is a simple case of needing more names than a simpler toolkit provides, so they had to invent some new ones. 2016-08-15T05:25:35Z phadthai quit (Read error: Connection reset by peer) 2016-08-15T05:25:52Z Arathnim: Yeah, the usage in clim is very exact, they usually correspond directly to classes. Anyway, I'm trying to get a simple interactor pane working, is there any way to remove the pixel-width black border, and the grey-ish bar at the top? 2016-08-15T05:27:10Z flamebeard joined #lisp 2016-08-15T05:27:22Z beach: Arathnim: It may not be possible at the moment. Can I ask you to write it up as an issue on GitHub? Here is the repository URL: https://github.com/robert-strandh/McCLIM 2016-08-15T05:28:07Z beach: Arathnim: We now have some resources to work on such problems. 2016-08-15T05:28:32Z phadthai joined #lisp 2016-08-15T05:29:22Z Arathnim: Sure. 2016-08-15T05:29:49Z beach: Thanks! 2016-08-15T05:30:02Z loke: beach: Does there exist (or is there planned to exist) some kind of tutorial how to build user "standard" interfaces in MacCLIM? 2016-08-15T05:30:42Z heddwch: How long until it has animations? Interfaces are ugly unless they bounce and have random spinning crap. 2016-08-15T05:31:10Z nikki93 joined #lisp 2016-08-15T05:31:14Z fiddlerwoaroof: It actually does have animation 2016-08-15T05:31:20Z beach: loke: "standard" as in "typical CLIM"? 2016-08-15T05:31:32Z beach: loke: The documentation contains such a tutorial. Unfortunately, the documentation is a mess right now. 2016-08-15T05:31:34Z mastokley joined #lisp 2016-08-15T05:34:12Z loke: beach: I read the totorial in the documentation (I think that's the one I read), but it didn't help me grasp things very well. 2016-08-15T05:34:42Z heddwch: fiddlerwoaroof: D: I was hoping it was a joke. 2016-08-15T05:34:46Z beach: loke: That must mean that my writing skills need to improve. I'll work on that. 2016-08-15T05:35:01Z safe quit (Read error: Connection reset by peer) 2016-08-15T05:35:58Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2016-08-15T05:36:56Z fiddlerwoaroof: What I like about CLIM is that it's really easy to take an app that dumps a bunch of stuff to a stream and improve its output a little bit 2016-08-15T05:37:45Z fiddlerwoaroof: Without losing the flexibility of a command line application. 2016-08-15T05:37:46Z jackdaniel: loke: we've discussed it on the #clim channel some time ago, that it would be nice to provide some "traditional" GUI example 2016-08-15T05:38:25Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-15T05:38:41Z Arathnim: hmm, it looks like some of the demos don't have borders at all. I'll mess around with the panes (and maybe the layout) and see if I can't figure it out before I submit an issue. 2016-08-15T05:39:00Z beach: Arathnim: OK, sounds great! 2016-08-15T05:44:39Z sulky quit (Ping timeout: 260 seconds) 2016-08-15T05:45:36Z visaev joined #lisp 2016-08-15T05:46:58Z sulky joined #lisp 2016-08-15T05:47:44Z wccoder joined #lisp 2016-08-15T05:49:08Z mathi_aihtam joined #lisp 2016-08-15T05:52:24Z wccoder quit (Ping timeout: 258 seconds) 2016-08-15T05:52:46Z FreeBirdLjj joined #lisp 2016-08-15T05:57:00Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2016-08-15T06:00:12Z coetry quit (Ping timeout: 240 seconds) 2016-08-15T06:01:51Z sjl quit (Read error: Connection reset by peer) 2016-08-15T06:02:28Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-15T06:04:18Z angavrilov joined #lisp 2016-08-15T06:06:12Z eivarv joined #lisp 2016-08-15T06:07:08Z eivarv quit (Client Quit) 2016-08-15T06:09:46Z coetry joined #lisp 2016-08-15T06:12:45Z Davidbrcz joined #lisp 2016-08-15T06:18:06Z Arathnim quit (Quit: Lost terminal) 2016-08-15T06:20:52Z coetry quit (Ping timeout: 240 seconds) 2016-08-15T06:25:48Z Davidbrcz quit (Quit: Leaving) 2016-08-15T06:26:15Z coetry joined #lisp 2016-08-15T06:26:16Z beach: (time (cl:find 'a *l* :test #'eq)) gives 120 ms when *l* has 10 million elements and A is the last element. 2016-08-15T06:26:21Z beach: ... on SBCL. 2016-08-15T06:26:34Z smokeink quit (Ping timeout: 250 seconds) 2016-08-15T06:26:57Z zacharias quit (Ping timeout: 244 seconds) 2016-08-15T06:27:21Z beach: (time (find-list 'a *l* nil #'eq nil 0 nil #'identity)) is my function for lists, and it takes 46 ms. 2016-08-15T06:27:40Z beach: And that is even without my having declared some variables to be fixnums. 2016-08-15T06:27:40Z fiddlerwoaroof: Cool 2016-08-15T06:28:49Z Bike: does it involve five layers of macroexpansion like sbcls 2016-08-15T06:29:23Z beach: I haven't looked at the SBCL version. But I will post mine. Hold on... 2016-08-15T06:30:48Z Bike: find expands into %find-position, which expands into %find-position-if, which is expanded inline by %find/position-if-list-expansion 2016-08-15T06:31:18Z beach: http://paste.lisp.org/+6XED 2016-08-15T06:32:07Z Bike: that is quite simple. 2016-08-15T06:32:20Z beach: Yes. 2016-08-15T06:33:03Z beach: And SATISFIES-TWO-ARGUMENT-TEST-P is an ordinary function. 2016-08-15T06:33:12Z beach: Inlined, but an ordinary function. 2016-08-15T06:33:27Z Bike: do you have a high safety version that errors if the list is circular, or is that baked into for-each-relevant-cons? 2016-08-15T06:33:43Z beach: I haven't implemented circularity test. 2016-08-15T06:34:04Z beach: I probably should for high safety. You are right. 2016-08-15T06:34:41Z Bike: just looking at sbcl's and seeing that it does so. also has a bounds error if start and end are messed up. 2016-08-15T06:35:04Z beach: I do check start and end. 2016-08-15T06:35:08Z Bike: nice failures are way harder than making it work 2016-08-15T06:35:16Z Colleen quit (Ping timeout: 250 seconds) 2016-08-15T06:35:16Z isoraqathedh quit (Ping timeout: 250 seconds) 2016-08-15T06:35:42Z beach: True, but I think I found some good abstractions here, so I won't have to implement those things for each sequence function. 2016-08-15T06:36:22Z Bike: yeah, that's very clear 2016-08-15T06:37:28Z nikki93 quit (Remote host closed the connection) 2016-08-15T06:37:45Z beach: The FROM-END part of FOR-EACH-RELEVANT-CONS is a bit messy for reasons of performance. Otherwise the individual abstractions are quite easy to understand as well. 2016-08-15T06:38:07Z nikki93 joined #lisp 2016-08-15T06:39:00Z beach: If FROM-END is NIL, then it is a simple loop. In each iteration, it checks whether END is NIL, but that test will be eliminated by a good compiler that does constant propagation. 2016-08-15T06:39:03Z ASau quit (Ping timeout: 240 seconds) 2016-08-15T06:39:19Z Bike: sbcl apparently just iterates forward and keeps track of the last one found. 2016-08-15T06:39:48Z beach: I know. That was the subject of one of my papers. 2016-08-15T06:39:51Z EnergyCoffee joined #lisp 2016-08-15T06:39:52Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:40:01Z beach: ECL London as I recall. 2016-08-15T06:40:36Z Arathnim joined #lisp 2016-08-15T06:40:41Z beach: If FROM-END is true and the element to be found is close to the end, my technique is way much faster. 2016-08-15T06:41:16Z EnergyCoffee joined #lisp 2016-08-15T06:41:17Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:41:42Z Bike: cool. 2016-08-15T06:42:12Z nikki93 quit (Ping timeout: 250 seconds) 2016-08-15T06:42:15Z beach: http://metamodular.com/reverse-order.pdf 2016-08-15T06:42:18Z jackdaniel: ECL \o/ :) 2016-08-15T06:42:35Z jackdaniel: I remember this lecture at ELS 2016-08-15T06:42:40Z EnergyCoffee joined #lisp 2016-08-15T06:42:41Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:42:46Z beach: jackdaniel: Thanks! 2016-08-15T06:44:06Z EnergyCoffee joined #lisp 2016-08-15T06:44:06Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:44:11Z SumoSudo joined #lisp 2016-08-15T06:44:15Z vlatkoB joined #lisp 2016-08-15T06:45:31Z EnergyCoffee joined #lisp 2016-08-15T06:45:32Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:46:32Z beach: Bike: You should come to ELS 2017, in my opinion. 2016-08-15T06:46:56Z EnergyCoffee joined #lisp 2016-08-15T06:46:57Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:47:18Z Arathnim: When using make-device-font-text-style, what is required for the display-device arg? There's no mention in the documentation. 2016-08-15T06:47:19Z Bike: where is it? 2016-08-15T06:47:39Z beach: Bike: preliminary location is Brussels. 2016-08-15T06:47:40Z Bike: i suppose that probably hasn't been decided, huh 2016-08-15T06:47:42Z beach: Easy to get to. 2016-08-15T06:47:43Z Bike: oh. 2016-08-15T06:47:51Z beach: Nice city. 2016-08-15T06:48:00Z pierpa: where will be els 2017? 2016-08-15T06:48:14Z easye: pierpa: Brussels. 2016-08-15T06:48:16Z beach: pierpa: preliminary location is Brussels. 2016-08-15T06:48:20Z EnergyCoffee joined #lisp 2016-08-15T06:48:21Z EnergyCoffee quit (Max SendQ exceeded) 2016-08-15T06:48:21Z beach: Easy to get to. 2016-08-15T06:48:23Z beach: Nice city. 2016-08-15T06:48:24Z Harag joined #lisp 2016-08-15T06:48:24Z beach: :) 2016-08-15T06:48:32Z pierpa: hmmm 2016-08-15T06:49:07Z beach: pierpa: Where are you located? 2016-08-15T06:49:23Z pierpa: near Rome 2016-08-15T06:49:31Z beach: There should be a direct flight. 2016-08-15T06:49:40Z pierpa: probably, yes 2016-08-15T06:50:19Z phadthai quit (Read error: Connection reset by peer) 2016-08-15T06:50:44Z beach: Ryanair direct 85€ according to Google. 2016-08-15T06:51:06Z beach: a bit more than 2 hours flight time. 2016-08-15T06:51:27Z pierpa: it will depend on external factors :) 2016-08-15T06:51:41Z beach: Sure. Just saying... 2016-08-15T06:52:06Z beach: For Bike, it's a bit more complicated. :) 2016-08-15T06:53:06Z pierpa: USA? 2016-08-15T06:53:26Z Bike: indeed. also, i don't have any money, though i might by then. 2016-08-15T06:54:11Z VitoVan: coetry: check this, https://common-lisp.net/project/asdf/asdf.html#Replacing-your-implementation_0027s-ASDF 2016-08-15T06:55:01Z phadthai joined #lisp 2016-08-15T06:55:10Z fluter quit (Ping timeout: 250 seconds) 2016-08-15T06:55:48Z beach: Bike: Let's hope so. 2016-08-15T06:56:02Z tmtwd quit (Ping timeout: 258 seconds) 2016-08-15T06:56:24Z beach: Bike: You could work on some of the McCLIM bounties that we are about to post. 2016-08-15T06:56:26Z beach: :) 2016-08-15T06:56:40Z Bike: not a bad idea 2016-08-15T06:57:32Z Arathnim: beach: What is a 'display device' in mcclim? 2016-08-15T06:57:39Z smokeink joined #lisp 2016-08-15T06:57:50Z beach: Arathnim: Good question. 2016-08-15T06:58:23Z beach: Arathnim: Let me see if I can find the answer... 2016-08-15T06:59:43Z heddwch: I think it's a device that displays things. 2016-08-15T06:59:58Z beach: Arathnim: A port, it seems. 2016-08-15T07:01:47Z FreeBirdLjj joined #lisp 2016-08-15T07:08:21Z Arathnim: I see. Is 'loading fonts via clx is broken' an acceptable issue for the repo? 2016-08-15T07:09:29Z beach: Sure. What kind of fonts are we talking about here? 2016-08-15T07:10:18Z beach: You should submit a test case with your issue so that we can try to reproduce it. 2016-08-15T07:11:55Z Davidbrcz joined #lisp 2016-08-15T07:14:43Z Munksgaard joined #lisp 2016-08-15T07:17:29Z Cymew joined #lisp 2016-08-15T07:19:33Z Oddity quit (Ping timeout: 276 seconds) 2016-08-15T07:20:01Z tmtwd joined #lisp 2016-08-15T07:22:19Z shka_ joined #lisp 2016-08-15T07:29:46Z Bike quit (Quit: leaving) 2016-08-15T07:30:35Z Oddity joined #lisp 2016-08-15T07:30:35Z Oddity quit (Changing host) 2016-08-15T07:30:35Z Oddity joined #lisp 2016-08-15T07:30:50Z Indecipherable joined #lisp 2016-08-15T07:31:36Z zacharias joined #lisp 2016-08-15T07:33:18Z karswell` joined #lisp 2016-08-15T07:34:50Z karswell quit (Remote host closed the connection) 2016-08-15T07:36:47Z beach: (time (cl:find 'a *l* :from-end t :test (lambda (x y) (string-equal (symbol-name x) (symbol-name y))))) 2016-08-15T07:36:54Z beach: 422 ms on SBCL. 2016-08-15T07:37:05Z Firedancer joined #lisp 2016-08-15T07:37:22Z beach: (time (find-list 'a *l* t (lambda (x y) (string-equal (symbol-name x) (symbol-name y))) nil 0 nil #'identity)) 2016-08-15T07:37:26Z beach: 36 ms. 2016-08-15T07:37:42Z beach: Just to give you an idea of the impact of my FROM-END technique. 2016-08-15T07:37:53Z phadthai quit (Read error: Connection reset by peer) 2016-08-15T07:38:36Z beach: ... because A is the last element, so in the last case, the :TEST function is only called once. 2016-08-15T07:39:03Z iskander quit (Ping timeout: 276 seconds) 2016-08-15T07:40:50Z phadthai joined #lisp 2016-08-15T07:43:50Z iskander joined #lisp 2016-08-15T07:44:49Z Davidbrcz quit (Ping timeout: 260 seconds) 2016-08-15T07:46:07Z Colleen joined #lisp 2016-08-15T07:47:59Z VitoVan quit (Remote host closed the connection) 2016-08-15T07:49:25Z fiddlerwoaroof: Is the default value of an optional argument considered to be a literal value? 2016-08-15T07:49:30Z thomas1 joined #lisp 2016-08-15T07:50:03Z fiddlerwoaroof: i.e. would it be conforming to do something like (lambda (&optional x) (nconc x (list 1 2 3))) 2016-08-15T07:50:08Z beach: I suppose that depends on the form you put in to supply it. 2016-08-15T07:50:33Z thomas1 is now known as thomas 2016-08-15T07:51:01Z beach: The default argument here is NIL so you should be safe. 2016-08-15T07:51:46Z beach: But you can't call this function with a literal list, like '(a b c). 2016-08-15T07:52:26Z fiddlerwoaroof: I suppose that's why people seem to avoid nconc most of the time 2016-08-15T07:52:41Z beach: Yeah. 2016-08-15T07:52:58Z beach: Use it only when you have full control over the allocation of the arguments. 2016-08-15T07:54:09Z smokeink quit (Ping timeout: 260 seconds) 2016-08-15T07:54:57Z smokeink joined #lisp 2016-08-15T07:55:09Z iskander quit (Ping timeout: 244 seconds) 2016-08-15T07:59:18Z iskander joined #lisp 2016-08-15T07:59:23Z stepnem joined #lisp 2016-08-15T08:01:44Z yrdz```` quit (Ping timeout: 260 seconds) 2016-08-15T08:05:33Z bdr3552 left #lisp 2016-08-15T08:05:48Z SumoSudo quit (Ping timeout: 258 seconds) 2016-08-15T08:09:04Z lexicall joined #lisp 2016-08-15T08:09:24Z lexicall quit (Client Quit) 2016-08-15T08:10:48Z hhdave joined #lisp 2016-08-15T08:12:01Z Patzy quit (Quit: leaving) 2016-08-15T08:13:45Z bjdaro joined #lisp 2016-08-15T08:15:27Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-15T08:17:30Z hhdave quit (Ping timeout: 250 seconds) 2016-08-15T08:18:31Z hhdave joined #lisp 2016-08-15T08:19:43Z Beetny joined #lisp 2016-08-15T08:21:27Z gravicappa joined #lisp 2016-08-15T08:22:14Z dysy joined #lisp 2016-08-15T08:23:34Z dysy: Hello 2016-08-15T08:23:40Z shka_: dysy: good day! 2016-08-15T08:23:56Z dysy: hi shka_ 2016-08-15T08:24:00Z beach: Hello dysy. 2016-08-15T08:24:28Z dysy: I am learning lisp 2016-08-15T08:24:35Z beach: Good idea. 2016-08-15T08:24:44Z shka_: good for you :D 2016-08-15T08:24:58Z shka_: practical cl? 2016-08-15T08:25:48Z dysy: I bought land of lisp , but im also using practical common lisp from gigamonkeys 2016-08-15T08:25:57Z shka_: excelent 2016-08-15T08:26:13Z shka_: both are… very good! 2016-08-15T08:26:27Z dysy: A while ago I tried to read the original article written by mcarthy 2016-08-15T08:27:24Z dysy: That thing was so hard to make sense of , but I think it has been helpful so far 2016-08-15T08:27:46Z jackdaniel: we've added the roadmap to the McCLIM website – all comments/corrections are very welcomed: https://common-lisp.net/project/mcclim/involve 2016-08-15T08:28:53Z shka_: jackdaniel: question 2016-08-15T08:29:15Z shka_: is it possible to make web backend for mcclim using websockets? 2016-08-15T08:29:26Z Cymew quit (Remote host closed the connection) 2016-08-15T08:30:22Z jackdaniel: shka_: I don't see something impossible with that, but it may be a lot of work 2016-08-15T08:30:33Z shka_: right 2016-08-15T08:30:40Z Cymew joined #lisp 2016-08-15T08:30:46Z shka_: could be pretty cool 2016-08-15T08:31:00Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2016-08-15T08:31:01Z beach: SRI had an HTML backend for CLIM as I recal. 2016-08-15T08:31:07Z beach: recall, even. 2016-08-15T08:31:26Z shka_: that would be way back, right? 2016-08-15T08:32:17Z beach: Quite some time ago, yes. 2016-08-15T08:32:47Z shka_: well, web tech improved recently 2016-08-15T08:33:04Z shka_: namely, websockets make it a lot more usable for interactive applications 2016-08-15T08:33:26Z shka_: and google put whole office suite in the browser already 2016-08-15T08:33:57Z asc232 quit (Remote host closed the connection) 2016-08-15T08:34:22Z shka_: that was just question, though 2016-08-15T08:35:44Z fiddlerwoaroof joined #lisp 2016-08-15T08:35:57Z Arathnim: What parts of the material design guidelines is it referring to? Implementing the actual look and feel would be an ambitious project, to say the least. 2016-08-15T08:36:57Z Beetny quit (Ping timeout: 265 seconds) 2016-08-15T08:37:02Z beach: Ambition is our middle name. 2016-08-15T08:37:19Z FreeBirdLjj joined #lisp 2016-08-15T08:37:47Z jackdaniel: Arathnim: material design is a set of guidelines, which may be implemented in any toolkit 2016-08-15T08:38:07Z jackdaniel: android /implements/ these, there is also some js implementation afair 2016-08-15T08:46:13Z Arathnim: Yes, but having material in the first place requires a number of visual effects. Shadows and animations, at least. 2016-08-15T08:47:09Z Arathnim: In any case, if you ever get that working, I'd spend my time writing nothing but lisp. Good luck. 2016-08-15T08:47:44Z dto quit (Remote host closed the connection) 2016-08-15T08:47:46Z jackdaniel: Arathnim: :) 2016-08-15T08:48:27Z carleos joined #lisp 2016-08-15T08:52:20Z Karl_Dscc joined #lisp 2016-08-15T08:52:49Z tmtwd quit (Ping timeout: 265 seconds) 2016-08-15T08:52:49Z dysy quit (Remote host closed the connection) 2016-08-15T08:52:55Z shka_: and next, support wayland 2016-08-15T08:53:03Z shka_: shit load of work indeed 2016-08-15T08:55:14Z fluter joined #lisp 2016-08-15T08:57:52Z iskander quit (Ping timeout: 240 seconds) 2016-08-15T08:58:02Z elimik31 joined #lisp 2016-08-15T09:01:11Z iskander joined #lisp 2016-08-15T09:02:57Z freehck quit (Remote host closed the connection) 2016-08-15T09:15:20Z Karl_Dscc quit (Remote host closed the connection) 2016-08-15T09:16:50Z Velveeta_Chef joined #lisp 2016-08-15T09:16:50Z Velveeta_Chef quit (Changing host) 2016-08-15T09:16:50Z Velveeta_Chef joined #lisp 2016-08-15T09:17:20Z harish_ quit (Ping timeout: 250 seconds) 2016-08-15T09:23:17Z eSVG quit (Ping timeout: 258 seconds) 2016-08-15T09:26:08Z isoraqathedh joined #lisp 2016-08-15T09:26:53Z Grue`` quit (Remote host closed the connection) 2016-08-15T09:31:06Z DeadTrickster joined #lisp 2016-08-15T09:32:08Z SumoSudo joined #lisp 2016-08-15T09:32:43Z Xizor joined #lisp 2016-08-15T09:37:08Z mvilleneuve joined #lisp 2016-08-15T09:41:03Z Velveeta_Chef quit (Ping timeout: 240 seconds) 2016-08-15T09:41:31Z Karl_Dscc joined #lisp 2016-08-15T09:43:14Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-15T09:48:59Z gravicappa quit (Ping timeout: 244 seconds) 2016-08-15T09:49:09Z wccoder joined #lisp 2016-08-15T09:50:53Z jack_rip_vim joined #lisp 2016-08-15T09:51:58Z jack_rip_vim: get some problems during install rawsock module 2016-08-15T09:52:04Z harish_ joined #lisp 2016-08-15T09:52:19Z jack_rip_vim: clisp-link install rawsock didnt work 2016-08-15T09:53:13Z Velveeta_Chef joined #lisp 2016-08-15T09:53:31Z wccoder quit (Ping timeout: 258 seconds) 2016-08-15T09:53:39Z Leupold joined #lisp 2016-08-15T09:57:48Z knobo: H4ns: Are you there? 2016-08-15T09:57:56Z H4ns: knobo: ack 2016-08-15T09:58:00Z knobo: H4ns: I'm trying out bknr 2016-08-15T09:58:12Z knobo: And I have some issues with xml-import 2016-08-15T09:58:43Z knobo: H4ns: test case: https://github.com/knobo/test-bknr 2016-08-15T09:59:10Z knobo: The problem is tht the sax parser is not collecting the body of the tag 2016-08-15T09:59:25Z knobo: in my example it is the line tag. 2016-08-15T09:59:42Z lexicall joined #lisp 2016-08-15T09:59:59Z knobo: And another problem is that the :parser is not called with the whole string, so it can not parse the content. 2016-08-15T10:00:39Z knobo: So the first thing that has to be done, is to collect the string. 2016-08-15T10:00:46Z knobo: I have tested it here: https://github.com/knobo/bknr-datastore/tree/debug-xml-import 2016-08-15T10:01:44Z H4ns: i have not used the xml-import functionality in the last, say, ten years. i i would have to debug using trace etc, but it is better if you do that because you'll have to be able to support yourself if you plan on continuing to use it. 2016-08-15T10:01:56Z knobo: And then the :parser has to be called on importer-finalize, or in importer-add-element for BKNR.IMPEX::XML-NODE 2016-08-15T10:03:06Z elimik31 quit (Ping timeout: 258 seconds) 2016-08-15T10:03:06Z knobo: I could fix it. Just thought I'd get some input on how to fix it. 2016-08-15T10:03:11Z EvW joined #lisp 2016-08-15T10:03:40Z H4ns: let me try to find out how the thing was supposed to work 2016-08-15T10:05:30Z strelox joined #lisp 2016-08-15T10:06:25Z knobo: As the parser is called in importer-add-element for xml-class-instance, I guess the right place is to add it in the same place for xml-node. 2016-08-15T10:07:28Z EvW quit (Ping timeout: 252 seconds) 2016-08-15T10:08:05Z knobo: Except I must be able to retriev the xml-effective-slot-definition for the slot... 2016-08-15T10:08:41Z knobo: And I don't know if I have access to it from that function 2016-08-15T10:10:07Z jack_rip_vim quit (Remote host closed the connection) 2016-08-15T10:12:15Z m00natic joined #lisp 2016-08-15T10:12:30Z H4ns: i think i don't feel motivated enough to climb down that rabbit hole now. it seems that the tutorial still works as planned, so something in your usage of the library seems to differ from how the tutorial does it. maybe you want to start from the tutorial if you have not done that before. 2016-08-15T10:17:08Z d4ryus quit (Ping timeout: 250 seconds) 2016-08-15T10:19:52Z d4ryus joined #lisp 2016-08-15T10:20:42Z knobo: I started from the tutorial. 2016-08-15T10:21:27Z knobo: And it is a bug in the import system. And I almost have a fix. 2016-08-15T10:22:05Z H4ns: ok - i'll merge a pr and if you plan on using the library more, i can move it to a separate github organization and make you a comaintainer. 2016-08-15T10:23:47Z test1600_ quit (Quit: Leaving) 2016-08-15T10:24:35Z knobo: First I'll fix this, then I'll do some more tests, and I'll decide if I'll use it. 2016-08-15T10:28:57Z adolf_stalin joined #lisp 2016-08-15T10:31:34Z FreeBirdLjj joined #lisp 2016-08-15T10:32:07Z milanj joined #lisp 2016-08-15T10:32:37Z coetry quit (Ping timeout: 258 seconds) 2016-08-15T10:33:18Z coetry joined #lisp 2016-08-15T10:36:03Z MoALTz joined #lisp 2016-08-15T10:36:06Z knobo: Looks like I have to call it from sax:end-element 2016-08-15T10:37:03Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2016-08-15T10:41:39Z coetry quit (Ping timeout: 265 seconds) 2016-08-15T10:42:26Z coetry joined #lisp 2016-08-15T10:51:03Z coetry quit (Ping timeout: 240 seconds) 2016-08-15T10:51:13Z Davidbrcz joined #lisp 2016-08-15T10:54:09Z EvW joined #lisp 2016-08-15T10:56:50Z adolf_stalin quit (Remote host closed the connection) 2016-08-15T10:59:32Z smokeink quit (Ping timeout: 265 seconds) 2016-08-15T11:02:38Z beach` joined #lisp 2016-08-15T11:03:07Z beach quit (Disconnected by services) 2016-08-15T11:03:11Z beach` is now known as beach 2016-08-15T11:08:55Z Davidbrcz quit (Quit: Leaving) 2016-08-15T11:19:31Z SumoSudo quit (Ping timeout: 252 seconds) 2016-08-15T11:20:43Z DGASAU` is now known as DGASAU 2016-08-15T11:20:54Z FreeBirdLjj joined #lisp 2016-08-15T11:23:21Z prole joined #lisp 2016-08-15T11:23:27Z shdeng quit (Quit: Leaving) 2016-08-15T11:24:56Z jack_rip_vim joined #lisp 2016-08-15T11:25:23Z jack_rip_vim: figure out the way now 2016-08-15T11:25:45Z jack_rip_vim: (require [module]) 2016-08-15T11:33:03Z Cymew quit (Ping timeout: 276 seconds) 2016-08-15T11:34:43Z josteink quit (Ping timeout: 258 seconds) 2016-08-15T11:40:51Z carleos quit (Ping timeout: 258 seconds) 2016-08-15T11:50:34Z wccoder joined #lisp 2016-08-15T11:55:05Z wccoder quit (Ping timeout: 258 seconds) 2016-08-15T11:56:56Z coetry joined #lisp 2016-08-15T11:58:50Z knicklux joined #lisp 2016-08-15T11:59:07Z EvW quit (Ping timeout: 252 seconds) 2016-08-15T12:03:05Z EvW joined #lisp 2016-08-15T12:04:48Z ggole joined #lisp 2016-08-15T12:05:52Z coetry quit (Ping timeout: 250 seconds) 2016-08-15T12:06:10Z coetry joined #lisp 2016-08-15T12:10:12Z harish_ quit (Ping timeout: 240 seconds) 2016-08-15T12:10:31Z Cymew joined #lisp 2016-08-15T12:14:54Z coetry quit (Ping timeout: 260 seconds) 2016-08-15T12:15:30Z coetry joined #lisp 2016-08-15T12:16:48Z SumoSudo joined #lisp 2016-08-15T12:23:38Z Harag quit (Ping timeout: 265 seconds) 2016-08-15T12:27:27Z EvW quit (Ping timeout: 264 seconds) 2016-08-15T12:28:24Z lexicall quit (Remote host closed the connection) 2016-08-15T12:33:18Z coetry quit (Ping timeout: 265 seconds) 2016-08-15T12:34:00Z coetry joined #lisp 2016-08-15T12:41:03Z __acher__ joined #lisp 2016-08-15T12:42:34Z coetry quit (Ping timeout: 258 seconds) 2016-08-15T12:42:37Z __acher_` joined #lisp 2016-08-15T12:43:10Z coetry joined #lisp 2016-08-15T12:45:24Z jack_rip_vim left #lisp 2016-08-15T12:46:58Z __acher__ quit (Remote host closed the connection) 2016-08-15T12:46:59Z __acher_` quit (Remote host closed the connection) 2016-08-15T12:47:10Z attila_lendvai joined #lisp 2016-08-15T12:48:53Z Harag joined #lisp 2016-08-15T12:52:36Z algae joined #lisp 2016-08-15T12:57:00Z josteink joined #lisp 2016-08-15T12:59:24Z adolf_stalin joined #lisp 2016-08-15T13:00:39Z coetry quit (Ping timeout: 244 seconds) 2016-08-15T13:01:40Z coetry joined #lisp 2016-08-15T13:02:09Z SumoSudo quit (Ping timeout: 260 seconds) 2016-08-15T13:02:21Z LiamH joined #lisp 2016-08-15T13:03:36Z LiamH quit (Client Quit) 2016-08-15T13:05:10Z LiamH joined #lisp 2016-08-15T13:05:24Z ovenpasta joined #lisp 2016-08-15T13:06:21Z LiamH quit (Client Quit) 2016-08-15T13:06:23Z papachan quit (Quit: WeeChat 0.4.2) 2016-08-15T13:08:12Z papachan joined #lisp 2016-08-15T13:09:09Z strelox quit (Ping timeout: 250 seconds) 2016-08-15T13:10:39Z coetry quit (Ping timeout: 264 seconds) 2016-08-15T13:11:02Z coetry joined #lisp 2016-08-15T13:13:42Z mbrock joined #lisp 2016-08-15T13:14:10Z lexicall joined #lisp 2016-08-15T13:14:35Z DGASAU quit (Read error: Connection reset by peer) 2016-08-15T13:15:04Z DGASAU joined #lisp 2016-08-15T13:17:00Z rjnw joined #lisp 2016-08-15T13:17:47Z SumoSudo joined #lisp 2016-08-15T13:18:44Z lexicall quit (Ping timeout: 244 seconds) 2016-08-15T13:18:44Z coetry quit (Ping timeout: 244 seconds) 2016-08-15T13:19:40Z coetry joined #lisp 2016-08-15T13:21:17Z harish_ joined #lisp 2016-08-15T13:23:16Z LiamH joined #lisp 2016-08-15T13:24:27Z jerme joined #lisp 2016-08-15T13:28:20Z angavrilov quit (Quit: Konversation terminated!) 2016-08-15T13:28:36Z angavrilov joined #lisp 2016-08-15T13:28:51Z eSVG joined #lisp 2016-08-15T13:29:49Z whiteline quit (Quit: Leaving) 2016-08-15T13:30:00Z whiteline_ joined #lisp 2016-08-15T13:30:08Z whiteline_ is now known as whiteline 2016-08-15T13:30:10Z oleo joined #lisp 2016-08-15T13:31:19Z lemoinem quit (Ping timeout: 260 seconds) 2016-08-15T13:32:16Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-15T13:33:30Z smokeink joined #lisp 2016-08-15T13:33:45Z rpg joined #lisp 2016-08-15T13:36:32Z lexicall joined #lisp 2016-08-15T13:39:18Z al-damiri joined #lisp 2016-08-15T13:46:47Z sjl joined #lisp 2016-08-15T13:47:45Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2016-08-15T13:49:49Z karswell` quit (Read error: Connection reset by peer) 2016-08-15T13:57:45Z coetry quit (Ping timeout: 258 seconds) 2016-08-15T14:04:37Z Davidbrcz joined #lisp 2016-08-15T14:06:47Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2016-08-15T14:06:48Z Davidbrcz_ joined #lisp 2016-08-15T14:07:14Z Davidbrcz_ quit (Remote host closed the connection) 2016-08-15T14:08:10Z nzambe joined #lisp 2016-08-15T14:08:24Z Karl_Dscc quit (Remote host closed the connection) 2016-08-15T14:14:44Z Inode joined #lisp 2016-08-15T14:15:10Z Inode left #lisp 2016-08-15T14:25:36Z aries_liuxueyang: Hello. ;-) 2016-08-15T14:25:51Z aries_liuxueyang: http://paste.lisp.org/display/323253 Can I use DO macro in LOOP ? 2016-08-15T14:26:18Z beach: Sure, you an use any form. 2016-08-15T14:26:27Z beach: But why would you want to? 2016-08-15T14:26:45Z aries_liuxueyang: it is just a nested loop. 2016-08-15T14:27:03Z beach: So why use LOOP in one and DO in another? 2016-08-15T14:27:39Z beach: By the way, you can't use T as a variable. 2016-08-15T14:27:46Z beach: T is a constant. 2016-08-15T14:28:02Z DeadTrickster quit (Ping timeout: 258 seconds) 2016-08-15T14:28:07Z warweasle joined #lisp 2016-08-15T14:28:10Z aries_liuxueyang: because LOOP looks more simple and it just loop a index, in DO I can do other things. 2016-08-15T14:28:17Z aries_liuxueyang: oh. my bad.. ;-( 2016-08-15T14:28:53Z Indecipherable quit (Ping timeout: 250 seconds) 2016-08-15T14:29:15Z beach: Furthermore, it looks like your DO form does not have any side effects. Right? 2016-08-15T14:29:18Z jdz: aries_liuxueyang: there's the for-as-equals-then clause in LOOP 2016-08-15T14:29:23Z beach: It returns ANS? 2016-08-15T14:29:35Z aries_liuxueyang: yes. it return ANS. 2016-08-15T14:29:44Z jdz: aries_liuxueyang: like (loop ... for j = i then (floor (/ j 10)) ...) 2016-08-15T14:29:49Z beach: Then your LOOP does nothing, because it returns NIL. 2016-08-15T14:29:51Z warweasle: Morning. Does anyone know the internals of sbcl's garbage collection? I want to specify which thread it collects from. 2016-08-15T14:30:55Z aries_liuxueyang: LOOP does something. iterate i from 1 to n, use `i` in DO 2016-08-15T14:31:04Z Blukunfando quit (Ping timeout: 264 seconds) 2016-08-15T14:31:25Z aries_liuxueyang: oops, i know your meaning. 2016-08-15T14:31:53Z Xach: jdz: !!! 2016-08-15T14:31:54Z [1]ringer1 joined #lisp 2016-08-15T14:32:05Z aries_liuxueyang: jaz: I will have a try. 2016-08-15T14:32:06Z jdz: o_O 2016-08-15T14:32:14Z aries_liuxueyang: jdz: thanks. 2016-08-15T14:32:16Z Xach: ok, i see the source 2016-08-15T14:32:44Z Xach: (floor (/ j 10)) should be (floor j 10) 2016-08-15T14:33:34Z ringer1 quit (Ping timeout: 265 seconds) 2016-08-15T14:33:34Z [1]ringer1 is now known as ringer1 2016-08-15T14:34:28Z discardedes joined #lisp 2016-08-15T14:35:23Z aries_liuxueyang: Xach: their result are not same? 2016-08-15T14:35:34Z Xach: aries_liuxueyang: the primary result is the same 2016-08-15T14:35:39Z Xach: and that is what is used in this case 2016-08-15T14:35:58Z jdz: aries_liuxueyang: also, you might need to join the FOR clauses with AND if you need the non-sequential behaviour (for the "ans" variable) 2016-08-15T14:35:59Z aries_liuxueyang: okay. got it. 2016-08-15T14:36:05Z coetry joined #lisp 2016-08-15T14:36:17Z jdz: if you choose to use LOOP instead of DO, that is 2016-08-15T14:37:43Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2016-08-15T14:38:23Z aries_liuxueyang: maybe I have to learn more detail use of LOOP. 2016-08-15T14:40:55Z aries_liuxueyang: jdz: thanks for your suggesstion. I find that for-as-equals-then clause. 2016-08-15T14:42:27Z jdz: aries_liuxueyang: check http://paste.lisp.org/display/323253#1 2016-08-15T14:43:47Z coetry quit (Quit: Lost terminal) 2016-08-15T14:44:25Z aries_liuxueyang: jdz: Good implementation, thank you so much! I have so much to learn. 2016-08-15T14:45:19Z Jesin joined #lisp 2016-08-15T14:45:51Z jdz: aries_liuxueyang: you'll have to prove it does what you need yourself, though :) 2016-08-15T14:46:42Z aries_liuxueyang: yeah. At least I can understand that. ;-) 2016-08-15T14:49:09Z sellout- joined #lisp 2016-08-15T14:51:25Z gilez joined #lisp 2016-08-15T14:55:12Z MrWoohoo quit (Ping timeout: 276 seconds) 2016-08-15T14:55:39Z smokeink quit (Ping timeout: 264 seconds) 2016-08-15T15:01:00Z przl joined #lisp 2016-08-15T15:01:49Z lexicall joined #lisp 2016-08-15T15:02:11Z lexicall quit (Client Quit) 2016-08-15T15:02:12Z visaev quit (Quit: leaving) 2016-08-15T15:02:25Z dyelar joined #lisp 2016-08-15T15:02:35Z SumoSudo quit (Ping timeout: 244 seconds) 2016-08-15T15:03:06Z mastokley quit (Ping timeout: 250 seconds) 2016-08-15T15:04:00Z eivarv joined #lisp 2016-08-15T15:05:06Z Karl_Dscc joined #lisp 2016-08-15T15:12:25Z varjag joined #lisp 2016-08-15T15:14:47Z flamebeard quit (Quit: Leaving) 2016-08-15T15:20:25Z sjl quit (Ping timeout: 252 seconds) 2016-08-15T15:21:14Z SumoSudo joined #lisp 2016-08-15T15:21:34Z eSVG quit (Read error: Connection reset by peer) 2016-08-15T15:24:45Z Munksgaard quit (Quit: Leaving.) 2016-08-15T15:24:55Z heaven joined #lisp 2016-08-15T15:26:00Z knicklux quit (Quit: Leaving) 2016-08-15T15:26:52Z __acher__ joined #lisp 2016-08-15T15:27:08Z heaven quit (Client Quit) 2016-08-15T15:28:17Z asc232 joined #lisp 2016-08-15T15:30:13Z Intensity quit (Remote host closed the connection) 2016-08-15T15:33:20Z lexicall joined #lisp 2016-08-15T15:33:40Z tristero joined #lisp 2016-08-15T15:34:44Z SumoSudo quit (Ping timeout: 250 seconds) 2016-08-15T15:37:55Z eivarv quit (Quit: Sleep) 2016-08-15T15:42:53Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2016-08-15T15:43:51Z eivarv joined #lisp 2016-08-15T15:45:33Z __acher__ quit (Remote host closed the connection) 2016-08-15T15:45:36Z papachan quit (Quit: Leaving) 2016-08-15T15:45:38Z Blukunfando joined #lisp 2016-08-15T15:47:42Z SumoSudo joined #lisp 2016-08-15T15:50:27Z przl quit (Ping timeout: 276 seconds) 2016-08-15T15:50:33Z unbalancedparen joined #lisp 2016-08-15T15:50:39Z rjnw quit (Quit: Connection closed for inactivity) 2016-08-15T15:51:12Z unbalancedparen quit (Client Quit) 2016-08-15T15:51:57Z wccoder joined #lisp 2016-08-15T15:54:07Z unbalancedparen joined #lisp 2016-08-15T15:56:10Z wccoder quit (Ping timeout: 252 seconds) 2016-08-15T16:04:49Z Grue` joined #lisp 2016-08-15T16:04:50Z attila_lendvai quit (Read error: Connection reset by peer) 2016-08-15T16:05:00Z attila_lendvai joined #lisp 2016-08-15T16:05:00Z attila_lendvai quit (Changing host) 2016-08-15T16:05:00Z attila_lendvai joined #lisp 2016-08-15T16:08:05Z Bike joined #lisp 2016-08-15T16:08:30Z snits joined #lisp 2016-08-15T16:09:01Z sjl joined #lisp 2016-08-15T16:11:28Z wccoder joined #lisp 2016-08-15T16:14:33Z fourier joined #lisp 2016-08-15T16:23:40Z fourier quit (Ping timeout: 252 seconds) 2016-08-15T16:26:24Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T16:26:42Z przl joined #lisp 2016-08-15T16:27:33Z lnostdal joined #lisp 2016-08-15T16:28:16Z moredhel left #lisp 2016-08-15T16:28:55Z mishoo joined #lisp 2016-08-15T16:29:07Z zacharias quit (Ping timeout: 258 seconds) 2016-08-15T16:30:23Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T16:30:57Z lnostdal joined #lisp 2016-08-15T16:31:05Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T16:31:28Z strelox joined #lisp 2016-08-15T16:32:14Z lnostdal joined #lisp 2016-08-15T16:33:20Z warweasle: Morning. Does anyone know the internals of sbcl's garbage collection? I want to specify which thread it collects from. 2016-08-15T16:34:25Z rme joined #lisp 2016-08-15T16:36:13Z loke: warweasle: Does it even have a "gc thread"? 2016-08-15T16:36:21Z fourier joined #lisp 2016-08-15T16:36:46Z beach: warweasle: What does it mean to "collect from a thread"? 2016-08-15T16:36:52Z warweasle: I'm not sure. 2016-08-15T16:37:18Z loke: Java uses GC threads that can (under cetain conditions) work in parallel. 2016-08-15T16:37:24Z loke: I don't think SBCL does that. 2016-08-15T16:38:14Z beach: But that would not be "FROM" a thread. It would be "USING" a thread. 2016-08-15T16:38:17Z Bike: i believe any thread can initialize a gc, and when they do, all threads are paused, so there's not a lot of parallelism either 2016-08-15T16:40:37Z beach: warweasle: OK, so let me ask you this: Why do you want to collect from a particular thread? 2016-08-15T16:41:55Z Lord_of_Life quit (Ping timeout: 250 seconds) 2016-08-15T16:42:53Z jasom: warweasle: IIRC whenever a thread triggers a GC by a failed allocation, it pauses all other threads and collects within that thread 2016-08-15T16:43:12Z mathi_aihtam joined #lisp 2016-08-15T16:43:41Z beach: That's still "USING". Not "FROM". 2016-08-15T16:44:45Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T16:44:56Z warweasle: Beach, so I can make my game smoother. 2016-08-15T16:45:41Z cromachina joined #lisp 2016-08-15T16:45:57Z jdz: As far as I know SBCL's GC is of the "stop the world" kind, regardless of which thread triggers the GC. 2016-08-15T16:46:38Z Lord_of_Life joined #lisp 2016-08-15T16:47:29Z lnostdal joined #lisp 2016-08-15T16:53:19Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T16:54:25Z lnostdal joined #lisp 2016-08-15T16:57:44Z araujo quit (K-Lined) 2016-08-15T16:58:08Z eivarv quit (Quit: Sleep) 2016-08-15T16:58:11Z shka_: warweasle: use per thread memory pool 2016-08-15T16:58:21Z shka_: it HELPS 2016-08-15T16:58:45Z shka_: and thanks to dynamic variables is not even that hard to implement 2016-08-15T16:59:37Z knicklux joined #lisp 2016-08-15T17:00:09Z eivarv joined #lisp 2016-08-15T17:03:25Z lnostdal quit (Read error: Connection reset by peer) 2016-08-15T17:03:49Z lnostdal joined #lisp 2016-08-15T17:06:52Z gingerale joined #lisp 2016-08-15T17:08:53Z mastokley joined #lisp 2016-08-15T17:09:07Z MrWoohoo joined #lisp 2016-08-15T17:11:05Z eivarv quit (Quit: Sleep) 2016-08-15T17:11:47Z unbalancedparen quit (Quit: WeeChat 1.4) 2016-08-15T17:11:49Z Kruppe quit (Quit: ZNC - http://znc.in) 2016-08-15T17:12:23Z unbalancedparen joined #lisp 2016-08-15T17:12:34Z jasom: warweasle: to make your game smoother, dynamically allocate what you need up front, when loading the level 2016-08-15T17:12:58Z Kruppe joined #lisp 2016-08-15T17:13:04Z jasom: warweasle: CONSing in your event loop is a recipe for FPS jitter 2016-08-15T17:14:03Z asc232 quit (Remote host closed the connection) 2016-08-15T17:14:20Z jasom: most lisp GCs are tuned for throughput over latency, so are a poor fit for games. 2016-08-15T17:14:29Z eivarv joined #lisp 2016-08-15T17:15:18Z jasom: I'm working on an incremental GC for sbcl, but only spending ~1 hour a week on it so I'll have something working in 5 years or so :) 2016-08-15T17:15:54Z fourier quit (Ping timeout: 244 seconds) 2016-08-15T17:16:05Z jasom: incremental GC means rewriting comparisons, hashes &ct. so it's not just a GC change, but a runtime change. 2016-08-15T17:16:13Z fiddlerwoaroof: You could also adjust the thigns available here: http://www.sbcl.org/manual/#Introspection-and-Tuning 2016-08-15T17:16:49Z loke: jasom: Were you the authour of that article re. modifciation tracking in multi-genrational GC's? 2016-08-15T17:17:31Z jasom: loke: no, but I'm doing almost the exact same thing; I wish someone would point me at contact info for that person 2016-08-15T17:17:57Z loke: jasom: Who was it? 2016-08-15T17:18:09Z jasom: I'm using read protection on the FROM space so that I don't have to modify codegen 2016-08-15T17:18:27Z jasom: this is *terrible* for throughput, btw, though the new system calls they mentioned will greatly improve things 2016-08-15T17:18:57Z jasom: loke: I can't find the article; I read it on my phone not my pc 2016-08-15T17:19:10Z ggole: https://medium.com/@MartinCracauer/generational-garbage-collection-write-barriers-write-protection-and-userfaultfd-2-8b0e796b8f7f?source=user_profile---------1- 2016-08-15T17:19:13Z ggole: That one? 2016-08-15T17:19:19Z jasom: That's the one 2016-08-15T17:19:25Z loke: jasom: I'm not familiar with x86, but SPARC has a bit in the mapping table that automatically gets set when a write happens to a page. 2016-08-15T17:19:32Z ggole: His contact details (his twitter at least) is in the profile 2016-08-15T17:19:41Z loke: No need to mess with protections and stuff. Are oyu saying this feature doesn't exist in x86? 2016-08-15T17:19:58Z Bike: there is an email address on his webpage (https://www.cons.org/cracauer/) 2016-08-15T17:20:00Z jasom: loke: it's supervisor mode only IIRC 2016-08-15T17:20:51Z jasom: the other thing is recently linux added another syscall that makes mapping in the same memory to two diferent virtual addresses much easier as well. 2016-08-15T17:20:59Z loke: jasom: You saying supervisor-only ccesses affects the bit? Or that you need to be privileged to read it? 2016-08-15T17:21:21Z loke: because if it's the latter, there is no problem yes? 2016-08-15T17:21:35Z jasom: it's the latter 2016-08-15T17:21:47Z loke: OK then. What is the problem? 2016-08-15T17:21:47Z phoe joined #lisp 2016-08-15T17:21:58Z jasom: so the kernel knows if the page is dirty, but you don't have a good way of asking it for a list of dirty pages 2016-08-15T17:22:08Z loke: jason: write a driver 2016-08-15T17:22:44Z loke: should be trivial 2016-08-15T17:23:39Z loke: OK, gotta go now. Byw 2016-08-15T17:23:42Z loke: bye for now 2016-08-15T17:24:06Z jasom: damnit I went on vacation and now can't find my notes on how to map an alias in. 2016-08-15T17:26:09Z m00natic quit (Remote host closed the connection) 2016-08-15T17:27:14Z jasom: ah, memfd_create followed by mmap 2016-08-15T17:29:42Z SumoSudo quit (Quit: WeeChat 1.5) 2016-08-15T17:29:46Z Jesin quit (Read error: Connection reset by peer) 2016-08-15T17:30:14Z Jesin joined #lisp 2016-08-15T17:30:32Z Ven joined #lisp 2016-08-15T17:30:47Z ym: What's the name of CLOS wrapper which makes foo.bar out from (slot-value foo 'bar)? 2016-08-15T17:31:08Z jasom: ym: I think rutils or rutilsx had stuff like that 2016-08-15T17:31:47Z fiddlerwoaroof: I generally prefer WITH-ACCESSORS to such tricks 2016-08-15T17:32:00Z jasom: fiddlerwoaroof: as do I 2016-08-15T17:32:12Z dim: I got used to (bar foo) and (setf (bar foo) ...) real quick 2016-08-15T17:32:35Z ym: Thanks. 2016-08-15T17:33:04Z dim: do use :accessor already in your slot definitions? 2016-08-15T17:33:24Z fiddlerwoaroof: ym: an advantage of using accessors and the with-accessors macro is that, since they use a generic function to access the values, you get more control over things 2016-08-15T17:33:45Z fiddlerwoaroof: For example, you can use a computed value rather than a slot value 2016-08-15T17:33:49Z ym: Yep, I took accessors in account. 2016-08-15T17:34:28Z shka_: hmmm i could use macro that would build with accessors in this form, though 2016-08-15T17:34:32Z shka_: you know 2016-08-15T17:34:34Z shka_: foo.bar 2016-08-15T17:34:43Z Bike: slot-value is also a gf, you know 2016-08-15T17:34:45Z shka_: sligthl shorter 2016-08-15T17:35:34Z shka_: slot-value is not prefered 2016-08-15T17:35:39Z fiddlerwoaroof: Yeah, but I'm more hesitant to extend slot-value than I am to extend an accessor 2016-08-15T17:35:58Z Kruppe quit (Read error: Connection reset by peer) 2016-08-15T17:36:11Z Kruppe joined #lisp 2016-08-15T17:36:27Z shka_: (defmethod slot-value ((object my-class) symbol)) "FUCK YOU!!!") 2016-08-15T17:36:33Z dim: it got me to understand the “generalized place” and setf thing before being more comfortable with accessors than anything else I guess 2016-08-15T17:37:16Z dim: “Places and Generalized Reference” in the official slang apparently 2016-08-15T17:37:30Z shka_: i have no idea how those are implemented to be honest 2016-08-15T17:37:45Z fiddlerwoaroof: (defmethod slot-value :around (object symbol) "have fun!") 2016-08-15T17:38:01Z shka_: i mean, surely it is not just hash table with a bunch of lambdas 2016-08-15T17:38:22Z Kruppe- joined #lisp 2016-08-15T17:38:31Z Kruppe quit (Read error: Connection reset by peer) 2016-08-15T17:38:35Z fiddlerwoaroof: Hmm, in sbcl I get "COMMON-LISP:SLOT-VALUE already names an ordinary function or a macro." 2016-08-15T17:39:04Z Bike: well, you can't do it with no specializer 2016-08-15T17:39:10Z Bike: that's kind of weird though 2016-08-15T17:39:20Z fiddlerwoaroof: I don't think it's a gf 2016-08-15T17:39:43Z fiddlerwoaroof: Yep, it's a defun in src/pcl/slots.lisp 2016-08-15T17:40:04Z Bike: oh. the gf is slot-value-using-class. my mistake. 2016-08-15T17:41:53Z frgo_ joined #lisp 2016-08-15T17:42:39Z Kruppe joined #lisp 2016-08-15T17:42:42Z Kruppe- quit (Read error: Connection reset by peer) 2016-08-15T17:45:14Z warweasle quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2016-08-15T17:45:37Z frgo_ quit (Remote host closed the connection) 2016-08-15T17:49:48Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2016-08-15T17:50:42Z Ven joined #lisp 2016-08-15T17:52:03Z jasom: anyone have a good pointer to how real-world runtimes manage concurrent GCs? I have no idea how to efficiently move data that is being pointed to by a register in a running thread. This is a big part of why I'm just doing incremental; at least then no threads are running while the GC is moving memory. 2016-08-15T17:52:38Z White_Flame: presumable with read/write guards 2016-08-15T17:52:44Z White_Flame: *presumably 2016-08-15T17:52:56Z Ven quit (Client Quit) 2016-08-15T17:53:12Z DGASAU quit (Ping timeout: 240 seconds) 2016-08-15T17:53:14Z fe[nl]ix: jasom: real-world runtimes don't do concurrent GCs 2016-08-15T17:53:19Z jasom: fe[nl]ix: jvm? 2016-08-15T17:53:37Z fe[nl]ix: except for Zing/C4 2016-08-15T17:53:46Z shka_: is there any way to specialize find? 2016-08-15T17:53:50Z Ven joined #lisp 2016-08-15T17:53:54Z fe[nl]ix: shka_: no 2016-08-15T17:53:56Z Bike: specialize how? 2016-08-15T17:53:59Z jasom: fe[nl]ix: ah, the JVM concurrent is non-moving mark-and-sweek. 2016-08-15T17:54:05Z shka_: for my implementation of hashtable 2016-08-15T17:54:18Z ggole: jasom: there was a talk on it recently at VMSS 2016-08-15T17:54:20Z jasom: shka_: find doesn't operate on hashtables anyways 2016-08-15T17:54:22Z Bike: no. find works on sequences, anyway. 2016-08-15T17:54:29Z shka_: right 2016-08-15T17:54:30Z ggole: Looks very hard. 2016-08-15T17:54:38Z shka_: any advice? 2016-08-15T17:54:45Z Bike: define mygethash, use that 2016-08-15T17:54:52Z ggole: (They used bounded model checking to test their design, and found some problems.) 2016-08-15T17:54:52Z shka_: i made generic find-hash 2016-08-15T17:54:54Z Ven quit (Client Quit) 2016-08-15T17:55:07Z shka_: Bike: right, sounds ok 2016-08-15T17:55:36Z jasom: ggole: yeah even a fairly bog-simple incremental cheney GC is non-trivial. 2016-08-15T17:55:47Z Ven joined #lisp 2016-08-15T17:55:52Z JuanDaugherty joined #lisp 2016-08-15T17:56:12Z jasom: ggole: and pluggable GCs make zero sense (When I first was unhappy with certain corners of sbcl's GC I asked "why don't runtimes have pluggable GCs", then I learned why) 2016-08-15T17:56:38Z ggole: HotSpot has pluggable GCs 2016-08-15T17:56:45Z ggole: But that was probably a lot of work and complexity. 2016-08-15T17:56:47Z mbrock quit (Quit: Connection closed for inactivity) 2016-08-15T17:56:52Z Ven quit (Client Quit) 2016-08-15T17:57:03Z jasom: ggole: I imagine it's not truely pluggable, but there are N runtimes implemented in hotspot for N gcs 2016-08-15T17:57:43Z jasom: or perhaps a small set of runtimes, each of which supports some combination of moving/incremental/concurrent. 2016-08-15T17:58:16Z ggole: Could be. You have a fixed set (4?) to choose from at startup 2016-08-15T17:58:22Z jasom: just think of eq for a moving, incremental collector vs. eq for a collector that is either non-incremental or non-moving 2016-08-15T17:58:52Z ggole: Java doesn't have eq-tables though 2016-08-15T17:59:24Z ggole: Although iirc there is some interaction with the hashcode? 2016-08-15T18:00:04Z jasom: ggole: '=' in java acts like eq, right? 2016-08-15T18:00:22Z shka_: jasom: == 2016-08-15T18:00:29Z jasom: sorry == 2016-08-15T18:00:37Z ggole: == doesn't cause problems for moving GC 2016-08-15T18:00:38Z White_Flame: for references 2016-08-15T18:00:57Z dwchandler: are you people writing in quoted printable or what? 2016-08-15T18:01:04Z jasom: like: "new Integer(1) == new Integer(1)" is false in Java, right? 2016-08-15T18:01:09Z fourier joined #lisp 2016-08-15T18:01:33Z ggole: Yeah. (I think there is a small cache for Integer, but forget that.) 2016-08-15T18:01:48Z jasom: so therefore it has to handle the case that "a == b" will have loaded the pointers for a and b into registers at different points along the moving gc. 2016-08-15T18:02:14Z ggole: Oh yeah, all the live values have to be rewritten. 2016-08-15T18:02:33Z jasom: ggole: incremental GCs typically don't rewrite all the live values at once, but do it incrementally 2016-08-15T18:02:36Z ggole: They have object and "stack" maps (that include register mappings) 2016-08-15T18:02:48Z Kruppe quit (Quit: ZNC - http://znc.in) 2016-08-15T18:02:52Z ggole: Perhaps we have different understandings of the term. 2016-08-15T18:02:55Z White_Flame: or, read & write barriers that lazily update on use 2016-08-15T18:03:21Z ggole: My experience is that "incremental GC" means that major collections do a slice of work rather than the whole heap at once. 2016-08-15T18:03:22Z jasom: White_Flame: but then there would need to be a read barrier on object identity checking, which seems expensive 2016-08-15T18:03:40Z White_Flame: jasom: yep. That expense is the tradeoff for having no (or little) GC pauses 2016-08-15T18:03:47Z Kruppe joined #lisp 2016-08-15T18:03:52Z White_Flame: and why Azul did that in hardware 2016-08-15T18:04:06Z ggole: Do you mean pauseless GC? Where collector and mutator run in parallel? 2016-08-15T18:04:31Z jasom: ggole: no, I mean where the GC is "stop the world, do some work, resume the world, repeat" 2016-08-15T18:04:58Z ggole: Yeah, I don't think that kind of GC has any problem with ==. 2016-08-15T18:05:12Z jasom: ggole: if you want to bound the amount of work that happens in an incremental GC, then you can't guarantee that all inbound pointers to moved data have been updated. 2016-08-15T18:06:29Z shka_: quick question 2016-08-15T18:06:42Z shka_: how do i run parametrized tests with fiveam? 2016-08-15T18:07:19Z Ven joined #lisp 2016-08-15T18:07:42Z ggole: jasom: I don't understand. If the program gets to manipulates pointers that aren't updated, surely the GC design is broken. 2016-08-15T18:08:00Z jasom: ggole: not necessarily 2016-08-15T18:08:23Z ggole: Or at least, this is a large departure from the incremental designs that I'm familiar with 2016-08-15T18:08:39Z jasom: ggole: read/write barriers prevent it from messing up the heap layout, but then you need to do the equivalent of a read-barrier on object identity testing 2016-08-15T18:08:40Z White_Flame: you can also fiddle with mmu page traps to capture unupdated areas 2016-08-15T18:08:48Z ggole: (Where a slice of eg, marking or sweeping work is done for each major collection.) 2016-08-15T18:09:08Z przl quit (Ping timeout: 265 seconds) 2016-08-15T18:09:13Z jasom: ggole: for implementations where you can tell if an object is in to/from space by testing just the pointer, this can be efficient (e.g. a naive two-space implementation). 2016-08-15T18:09:19Z ggole: Hmm. Interesting - I haven't heard of a GC design like that. 2016-08-15T18:09:47Z jasom: http://www.ibm.com/developerworks/java/library/j-rtj4/index.html <-- there's a decent introduction to one way of doing it 2016-08-15T18:12:19Z DGASAU joined #lisp 2016-08-15T18:13:08Z jasom: my plan is to use a standard semi-space collector and PROT_NONE on all memory in the FROM space. pinned memory will be immediately promoted to the TO space. This is much slower than other approaches, but has the advantage of allowing minimal runtime changes. 2016-08-15T18:15:36Z jasom: Several tools designed for virtualization make it more efficient than it would have been 10 years ago 2016-08-15T18:15:41Z jasom: userfaultfd is one example. 2016-08-15T18:16:47Z akkad: anyone use pgloader? 2016-08-15T18:16:59Z fiddlerwoaroof: dim maintains it 2016-08-15T18:16:59Z jasom: akkad: I think dim does :) 2016-08-15T18:17:22Z akkad: dim is here? 2016-08-15T18:17:33Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2016-08-15T18:17:41Z fiddlerwoaroof: I used it a while ago to convert an MSSQL to postgresql 2016-08-15T18:17:48Z fiddlerwoaroof: akkad: he was this morning 2016-08-15T18:18:06Z akkad: man. this solves half my battles with postgres 2016-08-15T18:18:58Z dim: akkad: yeah? 2016-08-15T18:21:20Z przl joined #lisp 2016-08-15T18:26:37Z mbrock joined #lisp 2016-08-15T18:26:45Z jasom: the big issue isn't things like eq, but rather every place that uses without-{interrupts|gcing}. Those need to be rewritten to preserve their semantics while understanding that reads could interrupt them. 2016-08-15T18:28:51Z frgo_ joined #lisp 2016-08-15T18:29:04Z rumbler31 joined #lisp 2016-08-15T18:30:29Z dim: well maybe pgloader just works for akkad ;-) 2016-08-15T18:30:29Z Josh2 joined #lisp 2016-08-15T18:32:26Z fiddlerwoaroof: one of these days I should get back to the PR about mssql nvarchar fields 2016-08-15T18:32:40Z dim: url? 2016-08-15T18:32:45Z fiddlerwoaroof: https://github.com/dimitri/pgloader/pull/304 2016-08-15T18:33:19Z fiddlerwoaroof: Unfortunately, the project I was using pgloader for fell through 2016-08-15T18:34:01Z frgo_ quit (Remote host closed the connection) 2016-08-15T18:34:44Z Josh3 joined #lisp 2016-08-15T18:35:06Z dim: oh, sorry about that (to keep using mssql doesn't sound something enjoyable) --- if you know a way to implement Nvarchar N'...' notation at the SELECT level as in https://github.com/dimitri/pgloader/blob/master/src/sources/mssql/mssql-schema.lisp#L279 that would be perfect 2016-08-15T18:35:14Z Josh2 quit (Ping timeout: 265 seconds) 2016-08-15T18:35:14Z Josh3 is now known as Josh2 2016-08-15T18:35:50Z dim: e.g. I can't guess stuff like SELECT convert(varchar, [colname], 126) FROM [table] to output a datetime in ISO format 2016-08-15T18:36:46Z fiddlerwoaroof: That makes sense 2016-08-15T18:37:01Z zacharias joined #lisp 2016-08-15T18:37:24Z Cymew quit (Quit: Konversation terminated!) 2016-08-15T18:38:22Z fiddlerwoaroof: If I remember the details correctly, nvarchar vs. varchar has something to do with localization 2016-08-15T18:38:45Z fiddlerwoaroof: https://msdn.microsoft.com/en-us/library/ms186939.aspx 2016-08-15T18:42:16Z BlueRavenGT joined #lisp 2016-08-15T18:44:07Z jasom: hmmm, looking more like I can't use userfaultfd for what I'm trying to do, since I need to unroll the thread's stack. 2016-08-15T18:46:12Z Josh3 joined #lisp 2016-08-15T18:46:59Z queitsch joined #lisp 2016-08-15T18:47:53Z Josh2 quit (Ping timeout: 258 seconds) 2016-08-15T18:48:05Z Josh3 is now known as Josh2 2016-08-15T18:48:54Z vlatkoB quit (Remote host closed the connection) 2016-08-15T18:53:59Z Ven joined #lisp 2016-08-15T18:55:09Z Orion3k joined #lisp 2016-08-15T18:56:49Z Davidbrcz quit (Ping timeout: 260 seconds) 2016-08-15T18:57:35Z Ven quit (Client Quit) 2016-08-15T19:00:12Z przl quit (Ping timeout: 240 seconds) 2016-08-15T19:03:16Z DeadTrickster joined #lisp 2016-08-15T19:09:00Z Josh3 joined #lisp 2016-08-15T19:10:52Z Josh2 quit (Ping timeout: 240 seconds) 2016-08-15T19:10:52Z Josh3 is now known as Josh2 2016-08-15T19:11:20Z grimsley joined #lisp 2016-08-15T19:12:55Z wccoder quit (Remote host closed the connection) 2016-08-15T19:17:35Z wccoder joined #lisp 2016-08-15T19:18:43Z akkad: dim; could you use pgloader on json files/logs? if one already had the parsers written in CL 2016-08-15T19:20:51Z dim: general json means nested data sets... and some advanced “mapping” to rational model / tables 2016-08-15T19:26:02Z dim: for some very specific use cases, there is this trick you might be interested into: https://github.com/dimitri/pgloader/blob/master/test/csv-json.load 2016-08-15T19:27:15Z akkad: thanks. been reading the code. I have a parser now that walks a tree and has n number of threads gunzipping/json-parsing then reversing ips, and doing normalization to postgresql. 2016-08-15T19:28:42Z zygentoma joined #lisp 2016-08-15T19:28:51Z akkad: that is very slick 2016-08-15T19:30:40Z fourier quit (Ping timeout: 252 seconds) 2016-08-15T19:32:40Z fiddlerwoaroof: akkad: are you working on IDS logs or something? 2016-08-15T19:32:49Z rpg joined #lisp 2016-08-15T19:33:41Z akkad: fiddlerwoaroof: aws cloudtrail, and now aws vpc flow logs; 2016-08-15T19:34:05Z akkad: 100% normalization for all fields in postgresql helps keep the size down. 2016-08-15T19:34:05Z dim: and do you want to use pgloader for the loading in pg part? 2016-08-15T19:34:12Z adolf_st_ joined #lisp 2016-08-15T19:34:33Z fiddlerwoaroof: ok, it sounded like some of the stuff I've been working on recently 2016-08-15T19:34:38Z nikki93 joined #lisp 2016-08-15T19:34:48Z dim: you might want to consider TorodB, akkad, see http://www.8kdata.com/torodb/ 2016-08-15T19:35:05Z adolf_stalin quit (Read error: Connection reset by peer) 2016-08-15T19:35:19Z adolf_stalin joined #lisp 2016-08-15T19:35:31Z dim: it's a mongodb “proxy” that talks to PostgreSQL, it's easy to have it normalize json on the fly, and it should be able to allow you to easily query the dataset in SQL too 2016-08-15T19:36:24Z gingerale quit (Remote host closed the connection) 2016-08-15T19:36:41Z shka_: soooo what's up with mongodb? 2016-08-15T19:36:53Z algae quit (Quit: leaving) 2016-08-15T19:36:55Z shka_: namely 2016-08-15T19:37:06Z shka_: it seems to be popular cache for other dbs 2016-08-15T19:37:16Z shka_: but other dbs already have some sort of cache 2016-08-15T19:37:46Z shka_: what's so great about it? 2016-08-15T19:38:06Z akkad: native json storage format 2016-08-15T19:38:32Z adolf_st_ quit (Ping timeout: 240 seconds) 2016-08-15T19:38:34Z shka_: what does "native" means here? 2016-08-15T19:38:42Z akkad: it's written in js 2016-08-15T19:39:10Z shka_: that actually sounds bad 2016-08-15T19:39:32Z akkad: their upsell at our office was "we have migrated from Mozjs to v8 from chrome" 2016-08-15T19:39:39Z yrdz joined #lisp 2016-08-15T19:39:52Z akkad: dim; thanks. I'll take a look 2016-08-15T19:40:17Z dim: shka_: marketshare? 2016-08-15T19:41:17Z dim: akkad: having a general json normalisation facility, user driven, with a choice of target tables per nesting-level / object-matching / json path expression is something that interest me, if you want to work on adding that to pgloader please let's consider it 2016-08-15T19:41:31Z dim: meanwhile, my understanding is that ToroDB does the job just fine 2016-08-15T19:41:59Z dim: the understanding comes from chats with the ToroDB CEO, that said, not from first hands experience using it, so to take with a grain of salt 2016-08-15T19:45:06Z akkad: excellent thanks 2016-08-15T19:46:12Z ovenpasta quit (Ping timeout: 240 seconds) 2016-08-15T19:47:06Z Arathnim quit (Quit: Lost terminal) 2016-08-15T19:47:18Z wccoder quit (Remote host closed the connection) 2016-08-15T19:47:36Z wccoder joined #lisp 2016-08-15T19:50:28Z rpg: SLIME q: on Linux, slime has started spewing eldoc errors that say (wrong-type-argument consp nil). Any idea how to debug this? BTW, this happens in ASDF code where top-level constructs are wrapped in WITH-UPGRADABILITY 2016-08-15T19:50:55Z rpg: I was wondering if ELDOC is trying to find a top-level block and maybe finding one it (or SLIME?) doesn't understand. 2016-08-15T19:51:46Z scottj joined #lisp 2016-08-15T19:55:00Z mvilleneuve quit (Quit: This computer has gone to sleep) 2016-08-15T19:57:52Z sellout- quit (Quit: Leaving.) 2016-08-15T19:59:36Z eivarv quit (Quit: Sleep) 2016-08-15T19:59:51Z rpg: the interaction between slime and eldoc seems complicated.... 2016-08-15T19:59:51Z przl joined #lisp 2016-08-15T20:05:15Z przl quit (Ping timeout: 276 seconds) 2016-08-15T20:08:39Z strelox quit (Remote host closed the connection) 2016-08-15T20:08:42Z wccoder quit (Remote host closed the connection) 2016-08-15T20:08:57Z wccoder joined #lisp 2016-08-15T20:10:21Z loke quit (Ping timeout: 250 seconds) 2016-08-15T20:14:09Z mishoo quit (Ping timeout: 244 seconds) 2016-08-15T20:16:48Z noffle left #lisp 2016-08-15T20:17:37Z mvilleneuve joined #lisp 2016-08-15T20:19:23Z yrk joined #lisp 2016-08-15T20:19:42Z alphor: anyone have recommendations on what common lisp sdl framework to use? I've tried sketch but it keeps stuttering, even on the examples. 2016-08-15T20:19:57Z yrk quit (Changing host) 2016-08-15T20:19:57Z yrk joined #lisp 2016-08-15T20:21:06Z Davidbrcz joined #lisp 2016-08-15T20:22:05Z edgar-rft: alphor: the people in #lispgames probably know SDL things better that we 2016-08-15T20:23:06Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2016-08-15T20:23:06Z alphor: edgar-rft: thanks! 2016-08-15T20:25:24Z mvilleneuve quit (Quit: This computer has gone to sleep) 2016-08-15T20:29:29Z Petit_Dejeuner quit (Ping timeout: 244 seconds) 2016-08-15T20:32:44Z adlai: ~/bu14 2016-08-15T20:32:46Z adlai: oops 2016-08-15T20:33:44Z Josh2 quit (Remote host closed the connection) 2016-08-15T20:40:00Z dim: is it time to change a password maybe? 2016-08-15T20:43:44Z ovenpasta joined #lisp 2016-08-15T20:44:33Z shka_ quit (Ping timeout: 240 seconds) 2016-08-15T20:47:20Z strelox joined #lisp 2016-08-15T20:47:55Z des_consolado quit (Ping timeout: 258 seconds) 2016-08-15T20:49:48Z queitsch quit (Quit: queitsch) 2016-08-15T20:51:03Z gilez quit (Ping timeout: 265 seconds) 2016-08-15T20:54:28Z grimsley quit (Quit: Leaving) 2016-08-15T21:00:29Z Davidbrcz quit (Ping timeout: 260 seconds) 2016-08-15T21:00:33Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2016-08-15T21:01:05Z EvW joined #lisp 2016-08-15T21:04:32Z mvilleneuve joined #lisp 2016-08-15T21:08:09Z aphprentice joined #lisp 2016-08-15T21:08:15Z bjdaro quit (Ping timeout: 264 seconds) 2016-08-15T21:11:59Z Josh2 joined #lisp 2016-08-15T21:13:19Z attila_lendvai quit (Read error: Connection reset by peer) 2016-08-15T21:13:32Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-15T21:14:24Z attila_lendvai joined #lisp 2016-08-15T21:14:24Z attila_lendvai quit (Changing host) 2016-08-15T21:14:24Z attila_lendvai joined #lisp 2016-08-15T21:15:04Z Trystam is now known as Tristam 2016-08-15T21:15:59Z MoALTz quit (Quit: Leaving) 2016-08-15T21:16:47Z mbrock quit (Quit: Connection closed for inactivity) 2016-08-15T21:17:28Z saturniid: nah, passwords get starred out. ******* see? 2016-08-15T21:17:28Z milanj: is there a portable way to print backtrace when condition is caught 2016-08-15T21:17:58Z milanj: portable in a way that there is some trivial-* lib thats' doing this sort of things 2016-08-15T21:18:12Z milanj: I guess I should look at slime ... 2016-08-15T21:18:48Z shka_ joined #lisp 2016-08-15T21:20:04Z wildlander joined #lisp 2016-08-15T21:21:18Z Bike: there is a trivial-backtrace 2016-08-15T21:21:20Z Xach: milanj: there's trivial-backtrace 2016-08-15T21:21:35Z phoe: Bike: Xach: thank you for that one 2016-08-15T21:24:10Z milanj: well, I want backtrace when condition is singled 2016-08-15T21:24:14Z milanj: *signaled 2016-08-15T21:24:55Z zygentoma joined #lisp 2016-08-15T21:25:58Z Grue` quit (Ping timeout: 244 seconds) 2016-08-15T21:26:02Z des_consolado joined #lisp 2016-08-15T21:28:55Z davsebamse quit (Ping timeout: 252 seconds) 2016-08-15T21:31:49Z des_consolado: hey I'm getting this "warning: Constant :SUPERCEDE conflicts with its asserted type" error, this is the code, copied directly from Practical Common Lisp, first bunch of code chapter 2: http://pastebin.com/raw/pbFE20Np 2016-08-15T21:32:10Z Bike: pretty sure it's "supersede", with an s 2016-08-15T21:32:57Z Bike: yes. 2016-08-15T21:33:51Z shka_: good night all 2016-08-15T21:34:27Z des_consolado: oh shite 2016-08-15T21:34:44Z des_consolado: how embarrassing 2016-08-15T21:34:49Z Bike: your lisp implementation might be telling you the type, which is probably (member ... :supersede ...) 2016-08-15T21:35:59Z asc232 joined #lisp 2016-08-15T21:36:03Z davsebamse joined #lisp 2016-08-15T21:36:16Z Fare joined #lisp 2016-08-15T21:39:18Z Xizor quit 2016-08-15T21:39:34Z shka_ quit (Ping timeout: 260 seconds) 2016-08-15T21:41:32Z davsebamse quit (Ping timeout: 258 seconds) 2016-08-15T21:41:42Z ggole quit 2016-08-15T21:41:58Z milanj: would be good if condition is specified to hold backtrace when it's singled 2016-08-15T21:42:12Z milanj: just like java exception does 2016-08-15T21:42:28Z Bike: "singled"? 2016-08-15T21:42:34Z milanj: *signaled 2016-08-15T21:43:13Z milanj: (i don't know to turn off auto correct on this irc client) 2016-08-15T21:43:21Z milanj: so, if you have thread pool of workers 2016-08-15T21:43:29Z Bike: Oh. Yeah, it might be nice if it was specified. trivial backtrace has the same basic interface though. 2016-08-15T21:43:30Z davsebamse joined #lisp 2016-08-15T21:43:49Z milanj: yes, but I can't get backtrace where error is signaled 2016-08-15T21:43:59Z milanj: you are getting backtrace on call site 2016-08-15T21:44:05Z Bike: are you using handler-case? 2016-08-15T21:44:17Z milanj: hm, 2016-08-15T21:44:31Z Bike: handler-case undoes the stack, you probably want handler-bind. 2016-08-15T21:45:28Z milanj: ahh, damn 2016-08-15T21:45:41Z milanj: I'm dumb 2016-08-15T21:45:45Z milanj: I was using handler-case 2016-08-15T21:45:57Z Bike: you're not dumb, it's a subtle point. 2016-08-15T21:46:34Z milanj: I know that handler-case unwind stack ... thanks anyway 2016-08-15T21:46:39Z milanj: so, it's easy enough I guess : ) 2016-08-15T21:47:54Z jerme joined #lisp 2016-08-15T21:51:55Z dim: milanj: see https://github.com/dimitri/pgloader/blob/master/src/main.lisp#L293 for an example 2016-08-15T21:53:18Z dim: or https://github.com/dimitri/pgloader/blob/master/src/sources/common/methods.lisp#L154 for an example in a multi-threaded workers situation, using lparallel here 2016-08-15T21:53:53Z pavelpenev quit (Ping timeout: 265 seconds) 2016-08-15T21:54:00Z jasom: minion: memo for loke here's an article by MS talking about how much a PITA it was to figure out if a page was dirty from userspace on linux https://blogs.msdn.microsoft.com/maoni/2016/07/02/working-through-things-on-other-oss/ 2016-08-15T21:54:02Z minion: i run on crux linux - http://www.crux.nu/ 2016-08-15T21:54:51Z mvilleneuve quit (Quit: This computer has gone to sleep) 2016-08-15T21:54:57Z Bike: jasom: you have to do "minion: memo for name:" with both colons 2016-08-15T21:55:15Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2016-08-15T21:55:42Z jasom: minion: memo for loke: here's an article by MS talking about how much a PITA it was to figure out if a page was dirty from userspace on linux https://blogs.msdn.microsoft.com/maoni/2016/07/02/working-through-things-on-other-oss/ 2016-08-15T21:55:42Z minion: Remembered. I'll tell loke when he/she/it next speaks. 2016-08-15T21:56:00Z jasom: Bike: I get that wrong pretty much every single time 2016-08-15T21:56:04Z Bike: same 2016-08-15T21:59:31Z milanj: dim, thanks, I'll check that 2016-08-15T22:00:42Z adolf_stalin quit (Quit: Leaving...) 2016-08-15T22:00:49Z BlueRavenGT quit (Ping timeout: 252 seconds) 2016-08-15T22:01:52Z Bike: i have a condition class that is reported in the debugger like "Error (SIMPLE-ERROR) while printing: #" but i can't find another way to reproduce or figure out what's happening, any advice? 2016-08-15T22:01:57Z milanj: who needs backtrace as condition field when you have handler-bind, now java way of doing the same thing looks so primitive 2016-08-15T22:02:43Z Bike: ah, nevermind, got it. 2016-08-15T22:03:15Z pavelpenev joined #lisp 2016-08-15T22:04:12Z phoe quit (Ping timeout: 276 seconds) 2016-08-15T22:04:12Z davsebamse quit (Ping timeout: 244 seconds) 2016-08-15T22:05:19Z fiddlerwoaroof: (handler-bind ((condition (lambda (c) ...))) (handler-case (do-stuff) ((condition (c) ...)))) 2016-08-15T22:06:14Z davsebamse joined #lisp 2016-08-15T22:06:56Z zacts joined #lisp 2016-08-15T22:10:11Z angavrilov quit (Remote host closed the connection) 2016-08-15T22:13:07Z fiddlerwoaroof: That way you can report the condition, even if it gets caught by (do-stuff) but still handle it if no one else does 2016-08-15T22:14:03Z LiamH quit (Quit: Leaving.) 2016-08-15T22:15:13Z zacts quit (Read error: Connection reset by peer) 2016-08-15T22:19:25Z edgar-rft is now known as pretty-pig 2016-08-15T22:20:31Z rumbler31 quit (Remote host closed the connection) 2016-08-15T22:24:32Z dyelar quit (Quit: Leaving.) 2016-08-15T22:26:52Z ASau joined #lisp 2016-08-15T22:28:43Z hydan joined #lisp 2016-08-15T22:30:55Z adolf_stalin joined #lisp 2016-08-15T22:32:51Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-15T22:33:23Z milanj quit (Quit: Leaving) 2016-08-15T22:33:59Z phoe joined #lisp 2016-08-15T22:38:32Z karswell` joined #lisp 2016-08-15T22:41:27Z Arathnim joined #lisp 2016-08-15T22:48:30Z Fare quit (Ping timeout: 250 seconds) 2016-08-15T22:54:33Z karswell` quit (Ping timeout: 240 seconds) 2016-08-15T22:55:59Z hydan quit (Remote host closed the connection) 2016-08-15T23:04:53Z Bike: i've spent a few hours trying to figure out cleavir and only just now noticed a "Documentation" directory. excellent. 2016-08-15T23:05:24Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-15T23:06:29Z arescorpio joined #lisp 2016-08-15T23:09:59Z varjag quit (Ping timeout: 260 seconds) 2016-08-15T23:10:29Z Polyphony joined #lisp 2016-08-15T23:11:42Z strelox quit (Ping timeout: 265 seconds) 2016-08-15T23:13:56Z pretty-pig quit (Quit: pretty-pig) 2016-08-15T23:14:14Z aphprentice quit (Quit: Connection closed for inactivity) 2016-08-15T23:17:33Z asc232 quit (Quit: Saliendo) 2016-08-15T23:18:11Z pillton: I think all of beach's projects have that directory. 2016-08-15T23:19:16Z Fare joined #lisp 2016-08-15T23:19:16Z Bike: i was distracted by the Specification/ directory higher up, which is out of date 2016-08-15T23:20:23Z rumbler31 joined #lisp 2016-08-15T23:20:56Z al-damiri quit (Quit: Connection closed for inactivity) 2016-08-15T23:21:33Z SamSkulls joined #lisp 2016-08-15T23:21:43Z rumbler31: good evening #lisp 2016-08-15T23:22:12Z EvW quit (Ping timeout: 240 seconds) 2016-08-15T23:22:51Z rumbler31: trying to figure out a clean way of turning an interleaved data stream into a planar one. 2016-08-15T23:23:55Z rumbler31: I have a stream with several different types of messages that I parse into objects. At first I only cared about data from one message type, so the inner loop was easy. (if correct-type get-value) 2016-08-15T23:23:59Z rumbler31: sort of thing 2016-08-15T23:24:42Z rumbler31: so at the end of parsing the whole stream I would end up with just a list of one particular value. but now I want to end up with a collection from various message types 2016-08-15T23:26:22Z wccoder quit (Remote host closed the connection) 2016-08-15T23:26:48Z pierpa: (push obj (gethash (key obj) messages)) ? 2016-08-15T23:27:35Z pierpa: (push obj (gethash (key obj) messages '())) ? 2016-08-15T23:27:59Z Arathnim: If you're using loop or iterate, there's also the 'collect' clause. 2016-08-15T23:28:37Z Arathnim: Which collects a value from each iteration. 2016-08-15T23:28:39Z Bike: these docs wouldn't have helped me anyway, so i guess it doesn't matter much 2016-08-15T23:30:10Z rumbler31: Arathnim: what i'm trying to figure out is how to write something such that the different method calls get collected into a unique list 2016-08-15T23:30:19Z wccoder joined #lisp 2016-08-15T23:31:33Z lnostdal quit (Quit: lnostdal) 2016-08-15T23:32:27Z rumbler31: pierpa: I guess a hash table would work 2016-08-15T23:33:01Z pierpa: looks like the most obvious solution, to me 2016-08-15T23:33:23Z nikki93 quit (Remote host closed the connection) 2016-08-15T23:33:55Z al-damiri joined #lisp 2016-08-15T23:36:05Z nisstyre quit (Remote host closed the connection) 2016-08-15T23:41:46Z jerme joined #lisp 2016-08-15T23:44:13Z kobain joined #lisp 2016-08-15T23:45:36Z karswell` joined #lisp 2016-08-15T23:46:15Z jerme quit (Client Quit) 2016-08-15T23:47:12Z nikki93 joined #lisp 2016-08-15T23:47:20Z gmareske joined #lisp 2016-08-15T23:48:18Z gmareske quit (Client Quit) 2016-08-15T23:49:55Z karswell` is now known as karswell 2016-08-15T23:51:20Z _sjs joined #lisp 2016-08-15T23:51:22Z pierpa quit (Ping timeout: 252 seconds) 2016-08-15T23:59:46Z mastokley quit (Ping timeout: 244 seconds)