2015-03-05T00:00:30Z vaporatorius quit (Remote host closed the connection) 2015-03-05T00:00:40Z axion: i mostly have to learn more about non-primitive data structures and some basic math. last week i needed to write an implementation of doubly-linked lists for a game feature, having never heard of them before. also, i trip over simple algebra constantly. 2015-03-05T00:00:57Z robot-beethoven joined #lisp 2015-03-05T00:02:12Z kraison1 quit (Ping timeout: 256 seconds) 2015-03-05T00:02:22Z zyaku quit (Ping timeout: 245 seconds) 2015-03-05T00:02:38Z joneshf-laptop quit (Ping timeout: 244 seconds) 2015-03-05T00:04:11Z vdamewood quit (Ping timeout: 244 seconds) 2015-03-05T00:04:16Z zyaku joined #lisp 2015-03-05T00:05:46Z sz0 quit (Quit: My computer has gone to sleep. ZZZzzz…) 2015-03-05T00:06:30Z Bicyclidine joined #lisp 2015-03-05T00:10:13Z beta_android joined #lisp 2015-03-05T00:10:30Z beta_android left #lisp 2015-03-05T00:12:16Z a2015 quit (Quit: Page closed) 2015-03-05T00:12:27Z xan_ quit (Ping timeout: 244 seconds) 2015-03-05T00:12:31Z Ethan- joined #lisp 2015-03-05T00:17:56Z vdamewood joined #lisp 2015-03-05T00:18:21Z stepnem quit (Ping timeout: 250 seconds) 2015-03-05T00:18:25Z munksgaard quit (Ping timeout: 264 seconds) 2015-03-05T00:18:54Z jlongster joined #lisp 2015-03-05T00:22:06Z thodg joined #lisp 2015-03-05T00:23:10Z Bicyclidine quit (Ping timeout: 256 seconds) 2015-03-05T00:23:25Z arnaudga joined #lisp 2015-03-05T00:24:48Z rpg quit (Quit: rpg) 2015-03-05T00:25:02Z nowhere_man quit (Ping timeout: 246 seconds) 2015-03-05T00:25:10Z nowhereman joined #lisp 2015-03-05T00:27:30Z ASau quit (Remote host closed the connection) 2015-03-05T00:28:07Z cadadar quit (Quit: Leaving.) 2015-03-05T00:30:35Z innertracks quit (Remote host closed the connection) 2015-03-05T00:30:59Z innertracks joined #lisp 2015-03-05T00:31:41Z AntiSpamMeta quit (Quit: Automatic restart triggered due to persistent lag. Freenode staff: If this is happening too frequently, please set a nickserv freeze on my account, and once my connection is stable, unfreeze the account and /kill me to trigger a reconnect.) 2015-03-05T00:31:56Z AntiSpamMeta joined #lisp 2015-03-05T00:32:13Z fierydiarreha quit (Ping timeout: 250 seconds) 2015-03-05T00:34:02Z fierydiarreha joined #lisp 2015-03-05T00:34:56Z AntiSpamMeta quit (Client Quit) 2015-03-05T00:35:23Z Karl_Dscc quit (Remote host closed the connection) 2015-03-05T00:35:57Z AntiSpamMeta joined #lisp 2015-03-05T00:36:16Z harish_ joined #lisp 2015-03-05T00:39:08Z AntiSpamMeta quit (Client Quit) 2015-03-05T00:39:21Z AntiSpamMeta joined #lisp 2015-03-05T00:39:46Z ASau joined #lisp 2015-03-05T00:40:39Z Bicyclidine joined #lisp 2015-03-05T00:42:21Z ASau quit (Remote host closed the connection) 2015-03-05T00:44:18Z drmeister: For keyword arguments - I need to set all the sensor flags to nil at the start of processing - correct? 2015-03-05T00:44:43Z drmeister: There's no way to avoid this is there? 2015-03-05T00:45:30Z drmeister: I'm re-re-re-re-writing a keyword argument handler for the Cleavir/Clasp compiler and I'm re-evaluating how I do things (for the Nth freakin' time) 2015-03-05T00:45:34Z hitecnologys_ joined #lisp 2015-03-05T00:45:36Z innertracks quit (Quit: innertracks) 2015-03-05T00:45:56Z PuffTheMagic joined #lisp 2015-03-05T00:45:59Z Bicyclidine quit (Ping timeout: 256 seconds) 2015-03-05T00:46:06Z innertracks joined #lisp 2015-03-05T00:47:24Z scarygelatin quit (Ping timeout: 252 seconds) 2015-03-05T00:47:28Z k-dawg joined #lisp 2015-03-05T00:48:23Z hitecnologys quit (Ping timeout: 240 seconds) 2015-03-05T00:48:23Z defaultxr joined #lisp 2015-03-05T00:48:53Z charlie quit (Ping timeout: 252 seconds) 2015-03-05T00:52:35Z stardiviner joined #lisp 2015-03-05T00:53:01Z a2015_ joined #lisp 2015-03-05T00:55:52Z sz0 joined #lisp 2015-03-05T00:57:53Z harish_ quit (Ping timeout: 256 seconds) 2015-03-05T00:58:57Z jlongster quit (Ping timeout: 244 seconds) 2015-03-05T00:59:47Z kraison joined #lisp 2015-03-05T01:00:31Z scarygelatin joined #lisp 2015-03-05T01:00:38Z kraison quit (Read error: Connection reset by peer) 2015-03-05T01:01:29Z kraison joined #lisp 2015-03-05T01:01:36Z jlongster joined #lisp 2015-03-05T01:01:42Z enaden joined #lisp 2015-03-05T01:04:07Z innertracks quit (Ping timeout: 244 seconds) 2015-03-05T01:05:38Z AntiSpamMeta quit (Quit: Automatic restart triggered due to persistent lag. Freenode staff: If this is happening too frequently, please set a nickserv freeze on my account, and once my connection is stable, unfreeze the account and /kill me to trigger a reconnect.) 2015-03-05T01:05:56Z AntiSpamMeta joined #lisp 2015-03-05T01:06:43Z gklimowi_ quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-05T01:07:08Z kepler quit (Remote host closed the connection) 2015-03-05T01:09:24Z nell quit (Ping timeout: 252 seconds) 2015-03-05T01:14:03Z linux_dream quit (Quit: Leaving) 2015-03-05T01:15:46Z drmeister: In SLIME - is there no key for "evaluate the top level expression I'm pointing at"? Do I have to C-e M-C-x to evaluate the current expression? 2015-03-05T01:16:08Z drmeister: I know - whoa is he - he has to hit C-e all the time. 2015-03-05T01:17:19Z jlongster quit (Ping timeout: 245 seconds) 2015-03-05T01:17:44Z attila_lendvai quit (Ping timeout: 245 seconds) 2015-03-05T01:19:36Z Xach: i always use C-c C-c when I'm not at the end. For sbcl it makes no difference. 2015-03-05T01:19:53Z Xach: Maybe whatever C-c C-c does could be adapted to eval instead, or maybe there's a command that I just don't know. 2015-03-05T01:20:46Z k-dawg quit (Quit: This computer has gone to sleep) 2015-03-05T01:23:13Z drmeister: Hmm, now that I know how I implemented C-c C-c, I'm a little reluctant to use it liberally (perhaps I'm not justified). It grabs the current top level form, writes it out to a file in /tmp, COMPILE-FILEs it and then loads the fasl back in. 2015-03-05T01:24:02Z drmeister: It also spoofs the source position for debugging. 2015-03-05T01:24:34Z White_Flame: "woe is he", not "whoa is he", unless you're talking about Neo ;) 2015-03-05T01:25:01Z drmeister: The round-trip to the hard drive makes me queazy. 2015-03-05T01:25:29Z drmeister: White_Flame: I'm going to go with "whoa". 2015-03-05T01:25:31Z drmeister: :-) 2015-03-05T01:32:04Z arnaudga quit (Ping timeout: 272 seconds) 2015-03-05T01:34:38Z nell joined #lisp 2015-03-05T01:37:47Z gklimowicz joined #lisp 2015-03-05T01:37:52Z ajtulloc_ quit (Remote host closed the connection) 2015-03-05T01:38:26Z ajtulloch joined #lisp 2015-03-05T01:44:33Z Harag quit (Remote host closed the connection) 2015-03-05T01:44:52Z Harag joined #lisp 2015-03-05T01:45:06Z jlongster joined #lisp 2015-03-05T01:45:14Z thodg quit (Ping timeout: 246 seconds) 2015-03-05T01:46:13Z ASau joined #lisp 2015-03-05T01:48:21Z JJaskologist joined #lisp 2015-03-05T01:50:27Z jlongster quit (Ping timeout: 264 seconds) 2015-03-05T01:51:29Z JJJJJJJJJJ quit (Ping timeout: 245 seconds) 2015-03-05T01:52:15Z fierydiarreha quit (Ping timeout: 264 seconds) 2015-03-05T01:52:52Z ASau quit (Remote host closed the connection) 2015-03-05T01:53:14Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-03-05T01:53:27Z AntiSpamMeta joined #lisp 2015-03-05T01:54:01Z fierydiarreha joined #lisp 2015-03-05T01:54:13Z echo-area joined #lisp 2015-03-05T01:55:38Z Sgeo quit (Read error: Connection reset by peer) 2015-03-05T01:56:24Z mathrick quit (Remote host closed the connection) 2015-03-05T01:56:41Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-03-05T01:56:46Z warweasle joined #lisp 2015-03-05T01:56:55Z AntiSpamMeta joined #lisp 2015-03-05T01:56:56Z JJJJJJJJJJ joined #lisp 2015-03-05T01:57:05Z ASau joined #lisp 2015-03-05T01:58:49Z Sgeo joined #lisp 2015-03-05T01:58:55Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-03-05T01:59:08Z AntiSpamMeta joined #lisp 2015-03-05T02:00:38Z Harag quit (Ping timeout: 256 seconds) 2015-03-05T02:00:44Z warweasle: Quicklisp question. I added a new subproject to one of my local-dists but quicklisp can't find it. How do I force it to update the local-dists? 2015-03-05T02:00:57Z JJaskologist quit (Ping timeout: 252 seconds) 2015-03-05T02:01:10Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-03-05T02:01:44Z AntiSpamMeta joined #lisp 2015-03-05T02:02:13Z harish joined #lisp 2015-03-05T02:02:18Z jlongster joined #lisp 2015-03-05T02:03:43Z Harag joined #lisp 2015-03-05T02:05:42Z rak[1] quit (Remote host closed the connection) 2015-03-05T02:06:36Z jlongster quit (Ping timeout: 246 seconds) 2015-03-05T02:07:57Z wjiang joined #lisp 2015-03-05T02:10:16Z slyrus quit (Ping timeout: 252 seconds) 2015-03-05T02:10:47Z scymtym_ quit (Ping timeout: 246 seconds) 2015-03-05T02:10:56Z Eschatologist joined #lisp 2015-03-05T02:15:55Z nikki93_ joined #lisp 2015-03-05T02:16:47Z PaulCape_ joined #lisp 2015-03-05T02:17:01Z pjb` joined #lisp 2015-03-05T02:19:16Z PaulCape_ quit (Max SendQ exceeded) 2015-03-05T02:19:44Z Cheery_ joined #lisp 2015-03-05T02:20:09Z scarygel1tin joined #lisp 2015-03-05T02:20:10Z PaulCape_ joined #lisp 2015-03-05T02:20:33Z enfors_ joined #lisp 2015-03-05T02:20:37Z zyaku_ joined #lisp 2015-03-05T02:20:42Z apathor_ joined #lisp 2015-03-05T02:21:22Z scarygelatin quit (Ping timeout: 250 seconds) 2015-03-05T02:21:22Z BitPuffin quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z Cheery quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z Posterdati quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z harish quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z zyaku quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z backupthrick quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z f03lipe quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z pjb quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z PaulCapestany quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z schoppenhauer quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z apathor quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z enfors quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z tristero quit (Ping timeout: 250 seconds) 2015-03-05T02:21:23Z alexherbo2 quit (Ping timeout: 250 seconds) 2015-03-05T02:21:25Z trystero joined #lisp 2015-03-05T02:21:39Z f03lipe_ joined #lisp 2015-03-05T02:21:49Z harish joined #lisp 2015-03-05T02:22:06Z schoppenhauer joined #lisp 2015-03-05T02:22:17Z Posterdati joined #lisp 2015-03-05T02:22:47Z jlongster joined #lisp 2015-03-05T02:24:26Z nikki93_ quit (Remote host closed the connection) 2015-03-05T02:25:28Z linux_dream joined #lisp 2015-03-05T02:27:31Z backupthrick joined #lisp 2015-03-05T02:27:53Z zyaku_ quit (Ping timeout: 246 seconds) 2015-03-05T02:29:04Z jlongster quit (Ping timeout: 272 seconds) 2015-03-05T02:31:20Z kanru joined #lisp 2015-03-05T02:32:15Z alexherbo2 joined #lisp 2015-03-05T02:33:07Z burtons joined #lisp 2015-03-05T02:35:46Z emaczen joined #lisp 2015-03-05T02:36:18Z Eschatologist quit (Quit: Eschatologist) 2015-03-05T02:38:20Z Eschatologist joined #lisp 2015-03-05T02:38:54Z nikki93_ joined #lisp 2015-03-05T02:40:40Z Eschatologist quit (Client Quit) 2015-03-05T02:40:48Z clintm joined #lisp 2015-03-05T02:41:53Z Kanae quit (Ping timeout: 246 seconds) 2015-03-05T02:43:37Z zyaku joined #lisp 2015-03-05T02:47:13Z Xach: warweasle: (ql:register-local-projects) 2015-03-05T02:47:25Z Xach: warweasle: it will automatically detect it if it's in the top-level directory, but it must be manually scanned otherwise 2015-03-05T02:53:22Z jlongster joined #lisp 2015-03-05T02:53:31Z ebrasca quit (Quit: ebrasca) 2015-03-05T02:55:39Z warweasle: Xach: Thanks! 2015-03-05T02:57:40Z zacharias_ joined #lisp 2015-03-05T02:58:38Z cmack quit (Ping timeout: 265 seconds) 2015-03-05T03:00:42Z zacharias quit (Ping timeout: 256 seconds) 2015-03-05T03:01:14Z kraison quit (Ping timeout: 252 seconds) 2015-03-05T03:01:40Z smokeink joined #lisp 2015-03-05T03:02:02Z smokeink: are ,@ and ,` the same thing ? 2015-03-05T03:03:34Z Zhivago: No. 2015-03-05T03:07:05Z smokeink: ok 2015-03-05T03:08:02Z kraison joined #lisp 2015-03-05T03:13:28Z qubitnerd joined #lisp 2015-03-05T03:15:39Z jackdaniel quit (Ping timeout: 245 seconds) 2015-03-05T03:16:42Z jackdaniel joined #lisp 2015-03-05T03:16:51Z ajtulloch quit (Ping timeout: 252 seconds) 2015-03-05T03:16:58Z beach joined #lisp 2015-03-05T03:17:09Z beach: Good morning everyone! 2015-03-05T03:18:39Z Oladon: Evening beach :) 2015-03-05T03:19:24Z ajtulloch joined #lisp 2015-03-05T03:19:44Z smokeink: morning' 2015-03-05T03:20:32Z beach: Cleavir now does inlining! Yay! 2015-03-05T03:20:44Z theos quit (Disconnected by services) 2015-03-05T03:21:12Z theos joined #lisp 2015-03-05T03:27:28Z beach: drmeister: When you create an instance of GLOBAL-FUNCTION-INFO, if you initialize it with :INLINE 'CL:INLINE and :AST , then, provided that the FUNCTION-AST has only required parameters, and provided that the function call to be compiled has the right number of arguments, the AST will be cloned into the result, and no CALL-aST will be generated. 2015-03-05T03:28:01Z drmeister: Woohoo! 2015-03-05T03:28:43Z beach: Baby steps. 2015-03-05T03:29:02Z clintm: nice job! 2015-03-05T03:29:07Z drmeister: I sent an email about a simple typo in Cleavir - did you receive it? 2015-03-05T03:29:21Z beach: No. :( 2015-03-05T03:30:07Z beach: clintm: Thanks! It was maybe 20 lines of code. 2015-03-05T03:31:01Z drmeister: Crap - I forgot to push send. Sent. 2015-03-05T03:31:44Z Oladon: drmeister: Helps to push that :P 2015-03-05T03:31:58Z beach: drmeister: Thanks. 2015-03-05T03:33:27Z theos quit (Read error: Connection reset by peer) 2015-03-05T03:34:04Z beach: drmeister: Fixed and pushed. 2015-03-05T03:34:18Z modula joined #lisp 2015-03-05T03:34:46Z paroneayea quit (Read error: Connection reset by peer) 2015-03-05T03:35:03Z drmeister: Thank you. 2015-03-05T03:35:16Z paroneayea joined #lisp 2015-03-05T03:35:19Z theos joined #lisp 2015-03-05T03:35:40Z someon joined #lisp 2015-03-05T03:35:46Z drmeister: I have required, &OPTIONAL, &REST arguments working. I'm working on &KEY now. 2015-03-05T03:35:53Z beach: Excellent! 2015-03-05T03:35:55Z mj-0 joined #lisp 2015-03-05T03:36:07Z defaultxr quit (Ping timeout: 255 seconds) 2015-03-05T03:36:08Z modula is now known as defaultxr 2015-03-05T03:36:18Z warweasle quit (Remote host closed the connection) 2015-03-05T03:36:19Z {0}grant joined #lisp 2015-03-05T03:37:03Z {0}grant quit (Remote host closed the connection) 2015-03-05T03:37:13Z beach: drmeister: Cloning an AST was slightly harder than I thought, but not much. As predicted, I was able to use the SAVE-INFO for that purpose as well. While I was at it, I also wrote a version of the cloning function that produces a Common Lisp program that, when run, creates a copy of the AST. I could have deleted the first version, but I am keeping it for now. 2015-03-05T03:37:25Z {0}grant joined #lisp 2015-03-05T03:37:48Z mj-0 quit (Remote host closed the connection) 2015-03-05T03:38:13Z drmeister: Regarding &KEY argument handling, I'm re-evaluating how I do it. I was going to set all the supplied-p bindings to NIL at the start to keep track of which keywords have been seen - that's necessary isn't it? 2015-03-05T03:39:09Z beach: Yes, supplied-p has to be set in all cases. 2015-03-05T03:40:46Z theseb joined #lisp 2015-03-05T03:41:06Z drmeister: An "argument" is what is passed to a function, a "parameter" is what is in the lambda-list - is that the normal vernacular ? 2015-03-05T03:41:14Z beach: Yes. 2015-03-05T03:42:05Z beach: http://en.wikipedia.org/wiki/Parameter_%28computer_programming%29#Parameters_and_arguments 2015-03-05T03:43:06Z smokeink: (defun primep (number) 2015-03-05T03:43:06Z smokeink: (when (> number 1) 2015-03-05T03:43:06Z smokeink: (loop for fac from 2 to (isqrt number) never (zerop (mod number fac))))) 2015-03-05T03:43:06Z smokeink: (defun next-prime (number) 2015-03-05T03:43:06Z smokeink: (loop for n from number when (primep n) return n)) 2015-03-05T03:43:07Z smokeink: (defmacro once-only ((&rest names) &body body) 2015-03-05T03:43:07Z smokeink: (let ((gensyms (loop for n in names collect (gensym)))) 2015-03-05T03:43:08Z smokeink: `(let (,@(loop for g in gensyms collect `(,g (gensym)))) 2015-03-05T03:43:08Z smokeink: `(let (,,@(loop for g in gensyms for n in names collect ``(,,g ,,n))) 2015-03-05T03:43:08Z drmeister: Ok, the way I was going to process keyword arguments is to set all of the supplied-p bindings to nil, then iterate over the argument pairs with an inner loop that iterates over the keyword parameters. This way I scan through the argument list just once. 2015-03-05T03:43:09Z smokeink: ,(let (,@(loop for n in names for g in gensyms collect `(,n ,g))) 2015-03-05T03:43:09Z smokeink: ;/\ when expanding once-onl, why isn't this 'let' being evaluated? why is this comma still present? 2015-03-05T03:43:10Z smokeink: ,@body))))) 2015-03-05T03:43:18Z beach: smokeink: Don't paste here please. 2015-03-05T03:43:23Z linux_dream quit (Quit: Leaving) 2015-03-05T03:43:23Z drmeister: smokeink: Whoah there 2015-03-05T03:43:40Z beach: minion: Please tell smokeink about lisppaste. 2015-03-05T03:43:40Z minion: smokeink: please see lisppaste: lisppaste is an IRC bot that runs under the nickname "lisppaste" and can be used (only for the #lisp IRC channel!) at http://paste.lisp.org/new/lisp - or http://paste.lisp.org/ for other destinations 2015-03-05T03:43:49Z smokeink: brb 2015-03-05T03:44:46Z bb010g joined #lisp 2015-03-05T03:46:38Z beach: drmeister: It is not going to make much difference if you scan the argument list for each keyword parameter, or you scan the list of keyword parameters for each argument. 2015-03-05T03:47:31Z drmeister: It doesn't? 2015-03-05T03:47:46Z drmeister: I guess - it's an NxM problem. 2015-03-05T03:47:52Z beach: Yep. 2015-03-05T03:48:57Z taylanub quit (Disconnected by services) 2015-03-05T03:49:01Z beach: My approach is to say that keyword arguments are not going to be blazing fast anyway, and that anyone who wants them to be must use compiler macros. 2015-03-05T03:49:16Z taylanub joined #lisp 2015-03-05T03:49:27Z beach: Certainly, standard Common Lisp functions that take optional and keyword arguments should come with compiler macros. 2015-03-05T03:49:39Z keen__________78 joined #lisp 2015-03-05T03:50:17Z tharugrim quit (Ping timeout: 245 seconds) 2015-03-05T03:51:03Z keen__________77 quit (Ping timeout: 264 seconds) 2015-03-05T03:52:32Z burtons: if you call a macro before it's defined in a file during compilation, is that undefined behaviour? 2015-03-05T03:52:56Z burtons: or does the compiler assume it's a function call and compile it that way? 2015-03-05T03:53:03Z beach: burtons: Most compilers will proceed as if it were a function. 2015-03-05T03:53:35Z burtons: i just ran into that with the mezzano compiler and i just wanted to check if there was a standard behaviour for that 2015-03-05T03:53:46Z burtons: i guess there's not much more that it can do really 2015-03-05T03:54:03Z {0}grant quit (Ping timeout: 264 seconds) 2015-03-05T03:54:07Z beach: Right. Either signal an error or warn and continue. 2015-03-05T03:54:25Z burtons: warn of an undefined function? 2015-03-05T03:54:33Z beach: Yes. 2015-03-05T03:55:09Z burtons: hard to tell if it warns in that case, no scrollback in the output windows yet 2015-03-05T03:56:15Z lieven quit (Ping timeout: 252 seconds) 2015-03-05T03:56:21Z keen__________78 quit (Read error: Connection reset by peer) 2015-03-05T03:56:23Z vdamewood quit (Remote host closed the connection) 2015-03-05T03:57:21Z gko__ joined #lisp 2015-03-05T03:58:16Z Zhivago: burtons: The question should probably be about declaration rather than definition. 2015-03-05T03:58:38Z keen__________78 joined #lisp 2015-03-05T04:00:46Z burtons: a test shows that it doesn't give a warning in that case 2015-03-05T04:00:52Z burtons: Zhivago: could you explain? 2015-03-05T04:01:01Z pillton: clhs 3.1.2.1.2 2015-03-05T04:01:01Z specbot: Conses as Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_abab.htm 2015-03-05T04:01:19Z pillton: "If a operator is neither a special operator nor a macro name, it is assumed to be a function name." 2015-03-05T04:01:30Z Zhivago: burtons: See 'proclaim', etc. 2015-03-05T04:01:34Z beach: drmeister: Given the way Cleavir handles lambda lists (what you are working on now), as it turns out, inlining was very easy to implement. 2015-03-05T04:01:56Z someon is now known as someone 2015-03-05T04:02:26Z burtons: pillton: ok, makes sense, just something that caught me off guard 2015-03-05T04:03:08Z burtons: i need to fully test my code first by compiling my files and not just evaulating the forms in the editor 2015-03-05T04:03:12Z pillton: burtons: There is also the minimal compilation requirement too. 2015-03-05T04:03:14Z pillton: clhs 3.2.2.2 2015-03-05T04:03:14Z specbot: Minimal Compilation: http://www.lispworks.com/reference/HyperSpec/Body/03_bbb.htm 2015-03-05T04:03:41Z pillton: "All macro and symbol macro calls appearing in the source code being compiled are expanded at compile time..." 2015-03-05T04:04:04Z ajtulloch quit (Remote host closed the connection) 2015-03-05T04:04:32Z burtons: and thus they must be defined before use, lest they be compiled to function calls causing runtime errors that make little sense (like i was seeing) 2015-03-05T04:04:40Z smokeink: http://paste.lisp.org/new/lisp 'please select a channel to lisppaste to: ' in the list there is only empty and none 2015-03-05T04:05:20Z emaczen quit (Ping timeout: 265 seconds) 2015-03-05T04:05:23Z beach: smokeink: You don't need to worry about that anymore. 2015-03-05T04:05:55Z beach: smokeink: It used to be the case that the paste was automatically announced in a channel, but it was removed for reasons of spam. 2015-03-05T04:06:10Z beach: smokeink: So nowadays you need to manually paste the URL into the channel. 2015-03-05T04:06:27Z smokeink: http://paste.lisp.org/display/146070 i meant to paste this link, tmux messed up with my clipboard 2015-03-05T04:08:03Z beach: smokeink: Did you have a question relating to that paste? 2015-03-05T04:08:38Z smokeink: yes, i wrote the question there in the comments, "why is that comma stil there, at the beginning of the line?" 2015-03-05T04:09:00Z smokeink: it's not clear to me why that expression following the , is not being evaluated 2015-03-05T04:10:23Z beach: smokeink: You need to tell us what the form was that gave the output that you announced. 2015-03-05T04:10:58Z jlongster quit (Ping timeout: 256 seconds) 2015-03-05T04:11:06Z DeadTrickster quit (Read error: No route to host) 2015-03-05T04:11:10Z smokeink: i wrote it in the comment above, it's the (only-once ... called inside the do-primes 2015-03-05T04:11:13Z Plazma quit (Ping timeout: 245 seconds) 2015-03-05T04:11:22Z Plazma joined #lisp 2015-03-05T04:11:36Z beach: Oh, OK. 2015-03-05T04:11:42Z smokeink: just above the output, inside the definition of do-primes, i expanded the once-only there 2015-03-05T04:12:01Z beach: You "expanded" it. What exactly did you type? 2015-03-05T04:12:30Z smokeink: macroexpand-1 2015-03-05T04:12:41Z burtons: anybody else playing/working on with mezzano at all? 2015-03-05T04:12:55Z beach: smokeink: That would have given you: undefined variable: macroexpand-1. 2015-03-05T04:13:05Z beach: smokeink: You need to give the full form. 2015-03-05T04:13:22Z smokeink: i am using slimV so i typed the shortcut corresponding to macroexpand-1, when my cursor was on once-only 2015-03-05T04:13:51Z urandom__ quit (Quit: Konversation terminated!) 2015-03-05T04:14:27Z smokeink: if i were to type manually the whole form, how would it be? 2015-03-05T04:14:31Z beach: smokeink: I would think the cursor would have to be an a CALL to once-only. 2015-03-05T04:14:44Z beach: It doesn't make sense to expand a macro definition. 2015-03-05T04:14:48Z BitPuffin joined #lisp 2015-03-05T04:15:31Z smokeink: inside the definition of do-primes macro, isn't there a call to the once-only macro? 2015-03-05T04:15:38Z beach: Yes, there is. 2015-03-05T04:15:39Z smokeink: it's that call that i expanded 2015-03-05T04:15:49Z beach: That's what I needed to know. 2015-03-05T04:16:52Z smokeink: how would the form be, that would expand that call 2015-03-05T04:17:14Z beach: (macroexpand-1 '(once-only (start end) ...)) 2015-03-05T04:17:27Z smokeink: right.. 2015-03-05T04:18:37Z beach: I am not sure why you are surprised. 2015-03-05T04:19:16Z beach: A call to DO-PRIMES expands to a call to ONCE-ONLY. 2015-03-05T04:19:44Z beach: A call to ONCE-ONLY expands to the output you are seeing. 2015-03-05T04:22:31Z beach: smokeink: Where is this from? On Lisp? 2015-03-05T04:22:54Z smokeink: what surprises me, is that here: ,(let (,@(loop for n in names for g in gensyms collect `(,n ,g))) ,n and ,g are evaluated, but not the whole expression ,(let...) 2015-03-05T04:23:12Z smokeink: http://www.gigamonkeys.com/book/macros-defining-your-own.html 2015-03-05T04:23:27Z enaden quit (Ping timeout: 264 seconds) 2015-03-05T04:23:39Z nikki93_ quit (Remote host closed the connection) 2015-03-05T04:24:26Z zyaku quit (Ping timeout: 246 seconds) 2015-03-05T04:25:22Z DeadTrickster joined #lisp 2015-03-05T04:25:35Z beach: smokeink: Maybe you should expand DO-PRIMES multiple times to see what it is doing. 2015-03-05T04:25:41Z Zhivago: That expression is incomplete -- , is only meaningful with respect to a `. 2015-03-05T04:26:19Z beach: Zhivago: I think there are nested backquotes in that macro. 2015-03-05T04:27:05Z kraison quit (Read error: Connection reset by peer) 2015-03-05T04:27:21Z beach: smokeink: Why do you expect the expression to be evaluated when all you do is a macro expansion. 2015-03-05T04:27:41Z nikki93_ joined #lisp 2015-03-05T04:27:57Z kraison joined #lisp 2015-03-05T04:28:02Z k-dawg joined #lisp 2015-03-05T04:29:33Z {0}grant joined #lisp 2015-03-05T04:30:16Z {0}grant quit (Read error: Connection reset by peer) 2015-03-05T04:30:35Z {0}grant joined #lisp 2015-03-05T04:30:53Z Zhivago: Yes, but he needs to look at the nesting in order to understand his problem. 2015-03-05T04:31:01Z smokeink: all the ,g ,n and ,@ will change to new forms, but why ,(let ... is an exception ? 2015-03-05T04:31:22Z Zhivago: smokeink: Look at the backquote form ,(let ... is part of ... 2015-03-05T04:31:29Z cmack joined #lisp 2015-03-05T04:32:24Z smokeink: Zhivago, it's that one `(let (,,@(lo ... right ? 2015-03-05T04:32:36Z beach: smokeink: It is inside another level of backquote. 2015-03-05T04:32:47Z Vutral quit (Ping timeout: 245 seconds) 2015-03-05T04:32:54Z Zhivago: What you just quoted doesn't contain ,(let ... 2015-03-05T04:33:55Z smokeink: what i just quoted, doesn't it contain ,(let.. and also ,@body ? 2015-03-05T04:34:53Z johann joined #lisp 2015-03-05T04:35:30Z Zhivago: `(let (,,@(lo ... <- there is no ,(let there. 2015-03-05T04:36:14Z PaulCape_ is now known as PaulCapestany 2015-03-05T04:36:22Z innertracks joined #lisp 2015-03-05T04:37:15Z smokeink: Zhivago, i mean this http://paste.lisp.org/display/146071 2015-03-05T04:37:15Z linux_dream joined #lisp 2015-03-05T04:38:09Z beach: smokeink: Let's try a different approach... 2015-03-05T04:38:23Z smokeink: ok 2015-03-05T04:38:31Z beach: smokeink: Do you agree that START and END must refer to the parameters in DO-PRIMES? 2015-03-05T04:38:39Z smokeink: yes 2015-03-05T04:38:45Z beach: smokeink: Good. 2015-03-05T04:39:13Z beach: Suppose you didn't have a comma here ,(let ((start ...) 2015-03-05T04:39:31Z smokeink: ok 2015-03-05T04:39:46Z beach: Then the START would be inside a backquote, namely the backquote on the previous line `(LET ... 2015-03-05T04:39:48Z Zhivago: smokeink: Count your `s and ,s -- they don't match up. 2015-03-05T04:39:59Z beach: smokeink: Do you agree? 2015-03-05T04:40:26Z smokeink: yes beach, and the whole thing would not work 2015-03-05T04:40:37Z beach: smokeink: So then, the START would no longer refer to the parameter of DO-PRIMES. 2015-03-05T04:40:42Z smokeink: yes 2015-03-05T04:41:05Z beach: smokeink: And that is why there is a comma there, to "escape" from the backquote on the previous line. 2015-03-05T04:42:06Z smokeink: i understand that this is how it should be in order for it to work, the thing is i'm new to macros and i am missing a small detail. i know the comma has to be there after only-once is expanded. is the comma still there because it is inside two ` ? 2015-03-05T04:42:13Z nikki93_ quit (Remote host closed the connection) 2015-03-05T04:42:38Z Jubb joined #lisp 2015-03-05T04:42:40Z beach: smokeink: If you are new to macros, you might want to wait with macro-writing macros until you have more experience. 2015-03-05T04:43:11Z beach: smokeink: ONCE-ONLY is one of those macro-writing macros that can be a bit complicated in the beginning. 2015-03-05T04:44:09Z beach: smokeink: As Zhivago says, the ` and the , must "match up". 2015-03-05T04:44:30Z beach: smokeink: The answer to your question depends on what level of ` you want. 2015-03-05T04:44:48Z beach: In this case, START refers to something outside the outer ` so you need as many , as you have `. 2015-03-05T04:44:51Z drmeister: beach: I ran into a package problem loading the new Cleavir code. 2015-03-05T04:45:05Z drmeister: sicl/Code/Cleavir/Generate-AST/convert-form.lisp 2015-03-05T04:45:19Z beach: drmeister: Probably just a missing dependency. 2015-03-05T04:45:20Z drmeister: Line 154 2015-03-05T04:45:22Z drmeister: Yeah 2015-03-05T04:45:35Z drmeister: cleavir-ast-transformations:clone-ast ast) 2015-03-05T04:45:58Z beach: Right, so generate-ast must depend on ast-transformations. 2015-03-05T04:46:08Z beach: I'll fix it. 2015-03-05T04:47:59Z beach: Fixed and pushed. 2015-03-05T04:48:24Z drmeister: Thank you 2015-03-05T04:48:24Z beach: smokeink: Does what I said make sense? 2015-03-05T04:48:36Z beach: drmeister: Anytime! :) 2015-03-05T04:48:58Z beach: drmeister: Like I said, I am very happy about how easy it was to implement inlining. 2015-03-05T04:49:05Z theseb left #lisp 2015-03-05T04:49:26Z beach: drmeister: The simplicity is mainly due to the fact that the lambda list contains only lexical variables. 2015-03-05T04:49:32Z drmeister: Right - so how do I use it? I couldn't quite follow the directions above. Do I have to submit functions for inlining? 2015-03-05T04:49:34Z Xaving joined #lisp 2015-03-05T04:49:58Z beach: You have to make sure that you store ASTs associated with the global functions you want to inline. 2015-03-05T04:50:05Z beach: Maybe in a hash table or something. 2015-03-05T04:50:14Z kraison quit (Ping timeout: 245 seconds) 2015-03-05T04:50:16Z beach: In SICL I store it in the first-class global environment. 2015-03-05T04:51:00Z beach: Then, when you are asked for FUNCTION-INFO, you create the GLOBAL-FUNCTION-INFO instance with :inline and :ast. 2015-03-05T04:51:17Z drmeister: I see. 2015-03-05T04:51:53Z beach: For example, you may want your DEFUN macro to expand to something that stores the AST at compile time. 2015-03-05T04:52:10Z beach: That's what I intend to do for SICL. 2015-03-05T04:53:32Z smokeink: thanks beach and Zhivago 2015-03-05T04:53:32Z Vutral joined #lisp 2015-03-05T04:53:47Z beach: smokeink: Are you enlightened? :) 2015-03-05T04:54:18Z smokeink: i'm close to getting enlightened 2015-03-05T04:54:30Z beach: smokeink: If you are really into macros, On Lisp is the reference. 2015-03-05T04:54:37Z drmeister: beach: Ok, it loads now. 2015-03-05T04:54:40Z smokeink: ok 2015-03-05T04:54:45Z cmack` joined #lisp 2015-03-05T04:54:58Z beach: smokeink: Paul Graham's Lisp coding style is not always perfect, but that book is very complete when it comes to macro writing. 2015-03-05T04:55:23Z nikki93_ joined #lisp 2015-03-05T04:55:24Z beach: smokeink: Furthermore, it is available as a PDF online, as I recall. 2015-03-05T04:55:43Z mj-0 joined #lisp 2015-03-05T04:55:52Z smokeink: yes i found it, i m gonna go through it 2015-03-05T04:55:57Z smokeink: thanks for the recommandation 2015-03-05T04:56:01Z beach: sure. 2015-03-05T04:56:31Z karswell` joined #lisp 2015-03-05T04:57:08Z cmack quit (Ping timeout: 244 seconds) 2015-03-05T04:58:04Z k-dawg quit (Quit: This computer has gone to sleep) 2015-03-05T04:58:48Z beach: drmeister: Maybe one day in the future I can convince you to implement first-class global environments. Then could use more stuff from SICL and cut down on the maintenance problem. 2015-03-05T04:59:02Z beach: Then YOU could use... 2015-03-05T05:00:04Z cluck quit (Remote host closed the connection) 2015-03-05T05:02:16Z karswell` is now known as karswell 2015-03-05T05:06:57Z innertracks quit (Ping timeout: 244 seconds) 2015-03-05T05:07:45Z ktt9 quit (Remote host closed the connection) 2015-03-05T05:09:32Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-03-05T05:12:27Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2015-03-05T05:12:37Z Xaving quit (Ping timeout: 246 seconds) 2015-03-05T05:19:54Z PaulCapestany is now known as PaulCape_ 2015-03-05T05:22:34Z kraison joined #lisp 2015-03-05T05:22:35Z drmeister: I could use what? 2015-03-05T05:23:12Z Bike: the "YOU" is supposed to be a correction, since beach typoed that last sentence. 2015-03-05T05:23:43Z drmeister: Sorry, I'm distracted - I'm trying to finish up &KEY - then I can compile the Clasp source code with Cleavir/Clasp. 2015-03-05T05:23:56Z drmeister: Ah - I've been on the edge of my seat for 20 minutes! 2015-03-05T05:24:33Z drmeister: How do you keep an idiot in suspense?... 2015-03-05T05:24:44Z zRecursive joined #lisp 2015-03-05T05:25:30Z pillton: Invite them to dinner? 2015-03-05T05:26:43Z drmeister: Something like that. 2015-03-05T05:27:38Z drmeister: beach: You don't have to do much work to convince me of anything - it's just a question of what to do next and how much time I have. 2015-03-05T05:27:57Z zRecursive left #lisp 2015-03-05T05:28:10Z drmeister: If first-class global environments make it easier to implement threading then I might do it just for that. 2015-03-05T05:29:24Z drmeister: Not that I care much for threading. 2015-03-05T05:30:01Z drmeister: But it might be useful for communicating with processes running on different processors. 2015-03-05T05:30:22Z drmeister: Dunno - haven't thought it through really. 2015-03-05T05:30:47Z beach: Me neither. 2015-03-05T05:31:21Z sbryant joined #lisp 2015-03-05T05:32:10Z pillton: Wouldn't it be easy if you assume each thread has its own global environment. 2015-03-05T05:32:21Z pillton: Then you could have a pipe which communicates objects between threads. 2015-03-05T05:32:41Z pillton: Kind of like fork, but not using binary streams. 2015-03-05T05:33:18Z beach: pillton: I see what you mean, but my first-class global environments are not that powerful. I wouldn't know how to combine such power with good performance. 2015-03-05T05:34:18Z beach: My first-class global environments just map names to meanings, and they are resolved at "link time". 2015-03-05T05:36:23Z beach: drmeister: I am just thinking that the part that is unique to Clasp is the C++ integration and perhaps the use of LLVM. There is no particular point in having your own representation of environments. 2015-03-05T05:36:48Z drmeister: Well, there is bootstrapping. 2015-03-05T05:36:57Z beach: There is that, yes. 2015-03-05T05:36:58Z drmeister: Gotta get up in the morning. 2015-03-05T05:37:12Z pillton: drmeister: I know the feeling. 2015-03-05T05:37:53Z beach: I need a break. I'll be back in half an hour or so. 2015-03-05T05:39:41Z schjetne quit (Ping timeout: 246 seconds) 2015-03-05T05:44:11Z schjetne joined #lisp 2015-03-05T05:45:39Z PaulCape_ is now known as PaulCapestany 2015-03-05T05:46:20Z linux_dream quit (Quit: Leaving) 2015-03-05T05:46:29Z theos quit (Disconnected by services) 2015-03-05T05:47:00Z theos joined #lisp 2015-03-05T05:47:37Z enaden joined #lisp 2015-03-05T05:49:00Z qubitnerd quit (Ping timeout: 256 seconds) 2015-03-05T05:49:49Z kobain quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-03-05T05:52:30Z jtza8 joined #lisp 2015-03-05T05:57:14Z f03lipe_ quit (Ping timeout: 252 seconds) 2015-03-05T05:58:59Z xorox90 joined #lisp 2015-03-05T05:59:34Z jasom: I found and fixed bugs in two of my current projects' dependencies; hurray for open-source. 2015-03-05T06:00:48Z beach: jasom: Indeed. 2015-03-05T06:01:28Z jasom: One of which is parenscript; a project which is growing on me 2015-03-05T06:02:11Z Pastaf quit (Remote host closed the connection) 2015-03-05T06:02:32Z jasom: It's a bit of a pain to write in, but once you get the hang of it, it's not too hard to write code that is both valid parenscript and common lisp 2015-03-05T06:02:50Z jasom: so I can write e.g. my form validators once and validate both on the client and on the server 2015-03-05T06:03:12Z smokeink: http://paste.lisp.org/display/146076 Why is fac faster than facb ? isn't facb supposed to be faster, because it is tail-recursive ? 2015-03-05T06:03:13Z jasom: Also javascript sucks, and having macros (which are written in full common lisp, not parenscript) makes it suck quite a bit less 2015-03-05T06:03:54Z beach: jasom: Remind me what your current project is! 2015-03-05T06:04:15Z fierydiarreha quit (Ping timeout: 264 seconds) 2015-03-05T06:04:28Z jasom: beach: just a tool for my roll playing group; an online character-sheet manager that does some of the number-crunching for you 2015-03-05T06:04:40Z beach: smokeink: You can't conclude anything from that small a benchmark and that small a difference in timing. 2015-03-05T06:05:10Z jasom: smokeink: also it may not elminate the tail-call depending on optimization settings when the function was defined 2015-03-05T06:05:36Z smokeink: how can i make sure it eliminates the tail-call ? 2015-03-05T06:05:39Z tsumetai quit (Ping timeout: 246 seconds) 2015-03-05T06:05:56Z beach: smokeink: In Common Lisp, never. 2015-03-05T06:06:16Z beach: smokeink: A Common Lisp implementation is not required to do tail calls. 2015-03-05T06:06:18Z jasom: smokeink: check the disassembly; in sbcl it will typically eliminate the tail-call if speed is 3 and higher than debug I think 2015-03-05T06:07:25Z jasom: I would fire up slime to make an example, but emacs is telling me M-x is undefined 2015-03-05T06:07:40Z beach: jasom: ? 2015-03-05T06:08:08Z beach: That's ... disconcerting. 2015-03-05T06:08:45Z beach: smokeink: As a general rule, never rewrite a program to be tail recursive that way. 2015-03-05T06:09:07Z smokeink: what's a better way? 2015-03-05T06:09:07Z beach: smokeink: It makes the program totally unintelligible. 2015-03-05T06:09:13Z beach: smokeink: Leave it as it is. 2015-03-05T06:09:25Z defaultxr quit (Ping timeout: 264 seconds) 2015-03-05T06:09:26Z smokeink: ok 2015-03-05T06:09:29Z theos quit (Disconnected by services) 2015-03-05T06:09:57Z fierydiarreha joined #lisp 2015-03-05T06:09:58Z theos joined #lisp 2015-03-05T06:10:01Z beach: smokeink: You might consider it if you need very deep recursion one day so that the default stack depth is insufficient. 2015-03-05T06:10:43Z beach: But there is absolutely no point in doing it in the hopes of gaining in performance, especially since you are then working very hard to make your program less maintainable. 2015-03-05T06:11:54Z jasom: I disagree with beach on this one 2015-03-05T06:12:23Z jasom: I think rewriting the performance critical parts of the code for the benefit of the compiler is a good idea 2015-03-05T06:12:54Z beach: jasom: That's why I said "as a GENERAL rule". 2015-03-05T06:13:10Z beach: .. and not "as an ABSOLUTE rule". 2015-03-05T06:13:12Z jasom: I do think it can be made a bit more clear than the way smokeink did it; on the other hand, for such a trivial case a loop is even more clear 2015-03-05T06:13:13Z defaultxr joined #lisp 2015-03-05T06:13:33Z beach: True. 2015-03-05T06:13:41Z pranavrc joined #lisp 2015-03-05T06:13:41Z pranavrc quit (Changing host) 2015-03-05T06:13:42Z pranavrc joined #lisp 2015-03-05T06:13:46Z jasom: I also have been known to write state-machines via tail-calls which most lispers will tell you is a terrible idea 2015-03-05T06:13:52Z smokeink: since (fac 500000) (added another 0 at the end of 50000) exhausts the stack while (facb 500000) doesn't, this is an indication that facb really is tail-recursive, right? 2015-03-05T06:14:11Z jasom: I personally find it to be more legible than a trampoline or giant case expression 2015-03-05T06:14:24Z jackc_ quit (Ping timeout: 245 seconds) 2015-03-05T06:14:28Z jasom: smokeink: check the disassembly 2015-03-05T06:14:37Z jasom: it's the only way to be sure 2015-03-05T06:14:43Z beach: smokeink: It might. On the other hand, I agree with jasom. You should use iteration rather than recursion here. 2015-03-05T06:15:45Z jasom: I choose between tail-calls and iteration based upon clarity. And I do agree with beach that a lot of times the non-optimized recursion is so much more clear that rewriting it without already knowing performance is an issue is a bad idea. 2015-03-05T06:16:22Z jasom: many divide-and-conquor algorithms in particular fall into this category (while also having log(n) stack usage, which is fine) 2015-03-05T06:16:45Z smokeink: okay 2015-03-05T06:16:49Z clintm quit (Remote host closed the connection) 2015-03-05T06:17:12Z beach: smokeink: Oh, in this case, your timing is going to be dominated by bignum arithmetic. 2015-03-05T06:17:18Z Zhivago: jasom: Schemers would tell you that it's a great idea. :) 2015-03-05T06:17:32Z Zhivago: Personally, I advocate explicit tail recursion. 2015-03-05T06:17:38Z jasom: And if you really care about perfomance of factorial, you will balance your multiplications to keep the bignums small for as long as possible 2015-03-05T06:18:09Z jasom: or just do what everybody else does and FFI into gmp 2015-03-05T06:19:00Z jasom forgets which of the "programming languages shootout" benchmarks it is that has "all implementations that use gmp" on the far left and the next fastest at about 4x the runtime 2015-03-05T06:19:29Z beach: smokeink: What processor are you using. Using iteration on my x86-64 I get 0.7s or so. 2015-03-05T06:20:23Z jasom: And I got 812ms with tail-recursion on mine; trying on my slower machine now 2015-03-05T06:20:40Z smokeink: model name : Pentium(R) Dual-Core CPU T4200 @ 2.00GHz 2015-03-05T06:20:49Z smokeink: x86-64 2015-03-05T06:20:52Z jasom: 4.7s on my 1.2GHz x86-64 2015-03-05T06:21:48Z MrWoohoo joined #lisp 2015-03-05T06:22:35Z beach: smokeink: Try the iterative version: (loop for i from 1 to 50000 for result = 1 then (* result i) finally (return result)) 2015-03-05T06:22:43Z beach: How long does it take on your machine? 2015-03-05T06:23:25Z smokeink: 1 sec 2015-03-05T06:23:29Z smokeink: i mean brb 1 sec 2015-03-05T06:23:51Z jackc_ joined #lisp 2015-03-05T06:25:02Z beach: In general, if you have an iterative problem, in Common Lisp you would use an iterative solution. Scheme people think a bit differently sometimes. 2015-03-05T06:25:34Z smokeink: 2.460 sec 2015-03-05T06:26:08Z beach: smokeink: Very likely, your timing is dominated by bignum arithmetic then. 2015-03-05T06:26:33Z jasom: function calls are fairly cheap on sbcl 2015-03-05T06:26:56Z beach: Yeah, certainly compared to bignum multiplications. 2015-03-05T06:27:06Z smokeink: the iterative version is as fast as the recursive version, and both are faster than the tail-recursive version (in this case) 2015-03-05T06:27:13Z jasom: and you hit bignums well below (fac 100) 2015-03-05T06:27:49Z beach: smokeink: Like I said, you are talking 10% difference. That's noise on any modern processor. 2015-03-05T06:27:52Z Quadrescence joined #lisp 2015-03-05T06:28:07Z smokeink: ok 2015-03-05T06:29:10Z smokeink: has any of you worked with GTK in lisp? are there good bindings around? i heard some guys saying doing GUI in lisp is hell 2015-03-05T06:29:51Z pillton: I'm doing a GUI right now using CommonQt. 2015-03-05T06:29:56Z beach: To me, it's the FFI part that makes it hell, which is why I don't use FFI. 2015-03-05T06:31:23Z pillton: I won't argue about the FFI part. Writing GUIs is just painful. 2015-03-05T06:32:10Z pillton is yet to use CLIM. 2015-03-05T06:32:39Z Quadrescence: CLIM is going to take over the world. 2015-03-05T06:32:41Z smokeink: is it more painful in lisp, compared to other languages ? or just painful, plain and simple pain that the coder experiences no matter what language he tries to code a GUI in 2015-03-05T06:32:54Z Quadrescence: It is usually more painful in Lisp. 2015-03-05T06:33:02Z pillton: Painful in every language. 2015-03-05T06:33:04Z smokeink: http://www.urbandictionary.com/define.php?term=Clim 2015-03-05T06:33:12Z beach: Quadrescence: Only if you use an FFI library. 2015-03-05T06:33:40Z nikki93_ quit (Remote host closed the connection) 2015-03-05T06:33:52Z beach: smokeink: http://www.cliki.net/clim 2015-03-05T06:34:03Z jasom: smokeink: I've heard fairly good things about commonqt 2015-03-05T06:34:18Z Quadrescence: beach, Well that, and using a modern OS/platform combination, and using a non-proprietary GUI language, and not using buggy McCLIM 2015-03-05T06:34:23Z jasom: smokeink: for a quick-and-dirty "I need some buttons and text-inputs &ct." I like LTK 2015-03-05T06:36:18Z beach: Quadrescence: I sent you my version of the bit-reversal, right? 2015-03-05T06:36:38Z beach: Quadrescence: I think it's the same as yours, modulo your abstractions. 2015-03-05T06:36:43Z clintm joined #lisp 2015-03-05T06:37:00Z Quadrescence: beach, Yes, just looked at it 2015-03-05T06:37:34Z Quadrescence: beach, I am trying to integrate it in an in-place recursive FFT. Except I can't get the FFT right, for whatever reason. :( 2015-03-05T06:38:13Z Quadrescence: (I can write a recursive one, and an iterative in-place one, but my recursive in-place decimation-in-frequency algorithm isn't doing so hot.) 2015-03-05T06:38:14Z beach: Quadrescence: Oh :( Is it just a basic radix 2 FFT? 2015-03-05T06:38:19Z Quadrescence: yes 2015-03-05T06:39:03Z oleo quit (Read error: Connection reset by peer) 2015-03-05T06:40:00Z beach: Quadrescence: At some point, someone convinced me to give away my very rudimentary code for the FFT, and then I got complaints that it is not very efficient. 2015-03-05T06:40:09Z lieven joined #lisp 2015-03-05T06:40:13Z Quadrescence: haha 2015-03-05T06:40:14Z beach: ... in case you want to take inspiration from it. 2015-03-05T06:40:38Z oleo joined #lisp 2015-03-05T06:40:44Z Quadrescence: beach, here was my inefficient one ;) https://bitbucket.org/tarballs_are_good/lisp-random/raw/9cbea47c4b2df82c17939b5279b4d230c2ef0e80/fft.lisp 2015-03-05T06:40:53Z Quadrescence: you'll have to infer the functions in the QTILITY package. 2015-03-05T06:41:42Z beach: I can't do that in real time. I would need to page in my FFT brain software. It would take some time. 2015-03-05T06:41:56Z beach: But if you need help writing an FFT, I can do that. 2015-03-05T06:42:02Z beach: Just not in real time. 2015-03-05T06:42:42Z Quadrescence: Part of me doesn't want to give up and use nested loops. 2015-03-05T06:42:54Z beach: Right, recursion is faster. 2015-03-05T06:42:59Z hvxgr quit (Ping timeout: 256 seconds) 2015-03-05T06:43:06Z beach: It has much better cache behavior. 2015-03-05T06:43:56Z xificurC joined #lisp 2015-03-05T06:44:50Z beach: I suppose you realize that a basic, radix 2 FFT won't give you very good performance. 2015-03-05T06:45:17Z beach: The best would be radix (sqrt n), but I don't know how to do that without additional storage. 2015-03-05T06:45:38Z fxer joined #lisp 2015-03-05T06:46:56Z beach: Quadrescence: I thought of one more thing: The bit-reversal algorithm can be made multi-threaded so that you can take advantage of all your processor cores. 2015-03-05T06:46:58Z Quadrescence: beach, yes 2015-03-05T06:47:16Z Quadrescence: (re: radix 2) 2015-03-05T06:47:23Z beach: Yeah. 2015-03-05T06:48:02Z beach: I am thinking that I could use a technique similar to the one I use for :from-end t so that stack space can be used as temporary storage. 2015-03-05T06:48:27Z selat joined #lisp 2015-03-05T06:49:30Z Mon_Ouie joined #lisp 2015-03-05T06:49:30Z Mon_Ouie quit (Changing host) 2015-03-05T06:49:30Z Mon_Ouie joined #lisp 2015-03-05T06:49:45Z beach: Quadrescence: So do you want to bang on it some more, or do you want me to write you a basic, radix 2 FFT? 2015-03-05T06:50:04Z Quadrescence: beach, If you want, that would be great, if it's in-place and recursive. ;) 2015-03-05T06:50:10Z Quadrescence: I can show you what I wrote. 2015-03-05T06:50:30Z beach: Why don't you send it to me by email. I'll see what I can do in the next few days. 2015-03-05T06:51:11Z pillton: jasom: commonqt is great. 2015-03-05T06:51:29Z sunwukong joined #lisp 2015-03-05T06:51:30Z pillton thanks the commonqt team again. 2015-03-05T06:55:43Z mj-0 quit (Remote host closed the connection) 2015-03-05T06:56:37Z Shinmera joined #lisp 2015-03-05T06:58:09Z Shinmera: jasom: smokeink: Qtools can take some of the pain of working with CommonQt away. 2015-03-05T07:00:52Z beach: Time to get to work! 2015-03-05T07:00:54Z beach left #lisp 2015-03-05T07:01:08Z munksgaard joined #lisp 2015-03-05T07:03:39Z fierydiarreha quit (Ping timeout: 264 seconds) 2015-03-05T07:04:15Z Karl_Dscc joined #lisp 2015-03-05T07:05:28Z fierydiarreha joined #lisp 2015-03-05T07:08:08Z ryankarason joined #lisp 2015-03-05T07:08:14Z pillton: Shinmera: What is "sub-par" with CommonQt? 2015-03-05T07:08:31Z ryankarason is now known as rak[1] 2015-03-05T07:09:02Z rak[1] quit (Client Quit) 2015-03-05T07:09:49Z pillton: Oh I see. It is further down the readme. Sorry. 2015-03-05T07:09:56Z ehu joined #lisp 2015-03-05T07:09:57Z Shinmera: Having to mangle class definitions with your slot, signal, and override info, having to type in the proper camelCase for everything, no docstrings or argcounts, etc 2015-03-05T07:10:37Z ryankarason joined #lisp 2015-03-05T07:10:44Z Shinmera: not much help for dealing with garbage is another big'un. 2015-03-05T07:11:38Z ryankarason is now known as rak[1] 2015-03-05T07:13:35Z pillton: I think you do things differently to me. 2015-03-05T07:13:40Z hvxgr joined #lisp 2015-03-05T07:13:59Z pillton: I don't use slots, I always connect signals to closures. 2015-03-05T07:14:44Z pranavrc quit 2015-03-05T07:15:45Z Shinmera: I frankly didn't know you could! 2015-03-05T07:16:44Z Shinmera: I guess that'll be another thing to fix in Qtools then. 2015-03-05T07:19:04Z resttime quit (Quit: resttime) 2015-03-05T07:19:08Z Mon_Ouie quit (Ping timeout: 272 seconds) 2015-03-05T07:19:33Z pillton: I use closures to separate the GUI user event from the controller operation. Your DEFINE-SLOT macro seems to encourage it. 2015-03-05T07:20:36Z ehu quit (Ping timeout: 265 seconds) 2015-03-05T07:20:47Z pillton: I try and write my GUIs such that I can control them from software so that separation is important for me. 2015-03-05T07:20:57Z pranavrc joined #lisp 2015-03-05T07:21:57Z smokeink: i'm wondering if this project is still active http://www.gtk-server.org/examples.html 2015-03-05T07:22:02Z Shinmera: Well there's nothing stopping me from allowing a body in DEFINE-SIGNAL as well. And for slots you can specify the method name to use so that you can call them directly from lisp as well. 2015-03-05T07:23:08Z pillton: Yeah. 2015-03-05T07:24:20Z Shinmera: Too bad you didn't take a look sooner or I could've made the change into the current QL release. 2015-03-05T07:24:22Z les quit (Quit: leaving) 2015-03-05T07:24:47Z pillton: Personally, I'd rather poll a socket for GUI events. All event processing would be in one spot rather than all over the place. 2015-03-05T07:24:48Z jasom: smokeink: I did something similar by using foil to bind gtksharp. 2015-03-05T07:25:09Z jasom: Did you know that somewhere deep inside, gtksharp has a method named "New" 2015-03-05T07:25:17Z pillton: Shinmera: Have you had a look at Cells? 2015-03-05T07:25:21Z les joined #lisp 2015-03-05T07:25:26Z fxer quit (Ping timeout: 250 seconds) 2015-03-05T07:26:25Z jasom: pillton: as much as I like dataflow programming, Cells always felt just a tiny bit off to me for some reason. 2015-03-05T07:26:26Z Shinmera: I did, but I'm not sure what I should do with it. 2015-03-05T07:26:47Z salva quit (Remote host closed the connection) 2015-03-05T07:26:53Z fierydiarreha quit (Ping timeout: 265 seconds) 2015-03-05T07:26:53Z les quit (Client Quit) 2015-03-05T07:27:41Z mishoo joined #lisp 2015-03-05T07:27:46Z pillton: One thing that Cells does right is that it handles the object propagation correctly. 2015-03-05T07:28:08Z pillton: You don't get these infinite loops that you can sometimes get in Qt. 2015-03-05T07:28:29Z fierydiarreha joined #lisp 2015-03-05T07:28:52Z Shinmera: I don't think I've come across an infinite loop so far. 2015-03-05T07:29:51Z pillton: There are some occasions where you are forced to use QT:WITH-SIGNALS-BLOCKED. 2015-03-05T07:30:39Z Shinmera: I guess, but I haven't had to yet. 2015-03-05T07:30:42Z pillton: The issue isn't straightforward as Qt implements some widgets poorly. 2015-03-05T07:31:00Z pillton: QSpinBox for example. You can't intercept the user pushing the button. 2015-03-05T07:31:43Z Shinmera: Qt implements quite a few things poorly unfortunately. Dockables being one of them. 2015-03-05T07:32:20Z Shinmera: I'll have to write an entire docking system myself some time to get the behaviour I need. 2015-03-05T07:33:09Z scarygel1tin quit (Quit: leaving) 2015-03-05T07:33:42Z pt1 joined #lisp 2015-03-05T07:34:02Z ajtulloch joined #lisp 2015-03-05T07:34:11Z pillton: jasom: I have the same experience with Cells too. I learnt something from that experience though which I use to this day. 2015-03-05T07:34:58Z mj-0 joined #lisp 2015-03-05T07:35:02Z mj-0 quit (Remote host closed the connection) 2015-03-05T07:36:00Z pt1_ joined #lisp 2015-03-05T07:36:28Z pillton has to go. Enjoy your day. 2015-03-05T07:36:59Z les joined #lisp 2015-03-05T07:37:32Z zadock quit (Quit: Leaving) 2015-03-05T07:38:22Z pt1 quit (Ping timeout: 256 seconds) 2015-03-05T07:38:37Z les quit (Client Quit) 2015-03-05T07:39:45Z kcj quit (Read error: Connection reset by peer) 2015-03-05T07:40:11Z les joined #lisp 2015-03-05T07:40:54Z les quit (Client Quit) 2015-03-05T07:41:05Z les joined #lisp 2015-03-05T07:50:44Z a2015_ quit (Quit: Page closed) 2015-03-05T07:50:52Z sol__ quit (Ping timeout: 240 seconds) 2015-03-05T07:51:25Z cmack` quit (Ping timeout: 264 seconds) 2015-03-05T07:53:11Z sol__ joined #lisp 2015-03-05T07:56:30Z larion quit (Ping timeout: 256 seconds) 2015-03-05T07:58:32Z ggole joined #lisp 2015-03-05T08:03:00Z mj-0 joined #lisp 2015-03-05T08:03:52Z {0}grant quit (Ping timeout: 256 seconds) 2015-03-05T08:04:15Z Beetny joined #lisp 2015-03-05T08:09:42Z decent joined #lisp 2015-03-05T08:13:46Z mrSpec joined #lisp 2015-03-05T08:14:17Z {0}grant joined #lisp 2015-03-05T08:17:15Z zadock joined #lisp 2015-03-05T08:18:36Z Shinmera- joined #lisp 2015-03-05T08:18:36Z Shinmera quit (Read error: Connection reset by peer) 2015-03-05T08:20:49Z munksgaard quit (Ping timeout: 264 seconds) 2015-03-05T08:21:20Z harish quit (Ping timeout: 252 seconds) 2015-03-05T08:22:44Z angavrilov joined #lisp 2015-03-05T08:23:49Z Shinmera- quit (Quit: 失礼しなければならないんです。) 2015-03-05T08:25:52Z nalssee joined #lisp 2015-03-05T08:26:25Z mvilleneuve joined #lisp 2015-03-05T08:28:41Z cadadar joined #lisp 2015-03-05T08:28:41Z devll joined #lisp 2015-03-05T08:30:05Z schaueho joined #lisp 2015-03-05T08:33:59Z arenz joined #lisp 2015-03-05T08:34:42Z larion joined #lisp 2015-03-05T08:36:09Z larion quit (Read error: No route to host) 2015-03-05T08:36:15Z przl joined #lisp 2015-03-05T08:40:59Z larion joined #lisp 2015-03-05T08:43:55Z Beetny quit (Ping timeout: 252 seconds) 2015-03-05T08:44:33Z sol__ quit (Ping timeout: 246 seconds) 2015-03-05T08:44:39Z mvilleneuve quit (Ping timeout: 252 seconds) 2015-03-05T08:44:51Z gravicappa joined #lisp 2015-03-05T08:45:00Z sol__ joined #lisp 2015-03-05T08:45:18Z eazar001 quit (Quit: WeeChat 1.1.1) 2015-03-05T08:46:13Z mj-0_ joined #lisp 2015-03-05T08:46:13Z mj-0 quit (Read error: Connection reset by peer) 2015-03-05T08:46:52Z eazar001 joined #lisp 2015-03-05T08:47:49Z enaden quit (Ping timeout: 264 seconds) 2015-03-05T08:47:57Z mj-0_ quit (Remote host closed the connection) 2015-03-05T08:51:05Z mj-0 joined #lisp 2015-03-05T08:52:06Z kons joined #lisp 2015-03-05T08:52:22Z splittist: Shinmera: have you thought of doing a lightning talk on Qtools at ELS? 2015-03-05T08:52:54Z mj-0 quit (Read error: Connection reset by peer) 2015-03-05T08:53:04Z mj-0 joined #lisp 2015-03-05T08:55:56Z ajtulloch quit (Remote host closed the connection) 2015-03-05T08:56:39Z mj-0 quit (Remote host closed the connection) 2015-03-05T08:56:40Z moei quit (Quit: Leaving...) 2015-03-05T08:57:15Z mj-0 joined #lisp 2015-03-05T08:58:59Z moei joined #lisp 2015-03-05T08:59:14Z enaden joined #lisp 2015-03-05T09:01:30Z scymtym_ joined #lisp 2015-03-05T09:01:30Z frkout joined #lisp 2015-03-05T09:01:55Z frkout_ joined #lisp 2015-03-05T09:02:13Z larion quit (Ping timeout: 264 seconds) 2015-03-05T09:02:17Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-03-05T09:05:58Z frkout quit (Ping timeout: 265 seconds) 2015-03-05T09:06:58Z frkout_ quit (Read error: Connection reset by peer) 2015-03-05T09:09:49Z stardiviner quit (Quit: Weird in coding now, or make love, only two things push me away from IRC.) 2015-03-05T09:10:34Z stardiviner joined #lisp 2015-03-05T09:11:22Z Alfr joined #lisp 2015-03-05T09:15:52Z AntiSpamMeta joined #lisp 2015-03-05T09:19:24Z resttime joined #lisp 2015-03-05T09:20:33Z mj-0 quit (Remote host closed the connection) 2015-03-05T09:21:52Z mj-0 joined #lisp 2015-03-05T09:26:52Z mj-0 quit (Ping timeout: 240 seconds) 2015-03-05T09:28:02Z mj-0 joined #lisp 2015-03-05T09:28:12Z mvilleneuve joined #lisp 2015-03-05T09:29:34Z cadadar quit (Quit: Leaving.) 2015-03-05T09:31:11Z munksgaard joined #lisp 2015-03-05T09:33:06Z selat quit (Quit: Lost terminal) 2015-03-05T09:34:07Z pjb`: - 2015-03-05T09:34:26Z pjb` is now known as pjb 2015-03-05T09:35:50Z kcj joined #lisp 2015-03-05T09:36:38Z larion joined #lisp 2015-03-05T09:37:28Z theos quit (Ping timeout: 255 seconds) 2015-03-05T09:38:13Z enaden quit (Ping timeout: 250 seconds) 2015-03-05T09:38:37Z theos joined #lisp 2015-03-05T09:39:49Z smokeink: is this (let (x y) (list x y)) returning (NIL NIL) because it is equivalent to ((lambda (x y) (list x y)) nil nil) ? 2015-03-05T09:43:57Z devll quit (Remote host closed the connection) 2015-03-05T09:44:19Z stepnem joined #lisp 2015-03-05T09:44:27Z defaultxr quit (Quit: gnight) 2015-03-05T09:45:51Z interop_madness joined #lisp 2015-03-05T09:46:55Z taylanub: smokeink: yes 2015-03-05T09:47:10Z smokeink: ok. just checking 2015-03-05T09:47:35Z taylanub: semantically equivalent that is. the compiler can do whatever it wants... 2015-03-05T09:47:44Z taylanub: (so long as the result is the same) 2015-03-05T09:51:43Z jdz: smokeink: actually (let ((x nil) (y nil)) (list x y)) would be equivalent to the lambda version 2015-03-05T09:51:57Z jdz: but that's nitpicking 2015-03-05T09:52:40Z splittist: well, I think it's much clearer to think of (let (x y) ...) being convenient shorthand for (let ((x nil) (y nil)) ...) 2015-03-05T09:53:03Z taylanub: I thought so too, so all three are transitively equivalent 2015-03-05T10:01:28Z hitecnologys_ is now known as hitecnologys 2015-03-05T10:05:59Z JuanDaugherty quit (Quit: Hibernate, etc.) 2015-03-05T10:06:21Z echo-area quit (Remote host closed the connection) 2015-03-05T10:07:55Z Cymew: Cell, is that the thing Kenny was talking about all the time on c.l.l a few years back? 2015-03-05T10:08:40Z kcj quit (Read error: Connection reset by peer) 2015-03-05T10:08:57Z H4ns: CellS 2015-03-05T10:16:07Z ab1111 joined #lisp 2015-03-05T10:16:39Z ab1111: Does SBCL do common subexpression elimination? Probably does, but didn't find it in the manual. 2015-03-05T10:18:37Z mj-0 quit (Remote host closed the connection) 2015-03-05T10:22:41Z tsumetai joined #lisp 2015-03-05T10:23:51Z mj-0 joined #lisp 2015-03-05T10:26:04Z nalssee quit (Ping timeout: 245 seconds) 2015-03-05T10:26:22Z agumonkey joined #lisp 2015-03-05T10:27:48Z selat joined #lisp 2015-03-05T10:30:11Z Davidbrcz joined #lisp 2015-03-05T10:34:03Z nalssee joined #lisp 2015-03-05T10:35:31Z mj-0 quit (Remote host closed the connection) 2015-03-05T10:37:51Z fierydiarreha quit (Ping timeout: 264 seconds) 2015-03-05T10:39:34Z Harag quit (Ping timeout: 255 seconds) 2015-03-05T10:46:28Z radioninja joined #lisp 2015-03-05T10:47:44Z interop_madness: are larger lisp applications usually compiled to executables or run with an interpreter? 2015-03-05T10:49:28Z H4ns: interop_madness: interpreters are rather uncommon nowadays 2015-03-05T10:52:03Z ab1111: So it does cse? 2015-03-05T10:52:20Z splittist: interop_madness: short answer: even Hello World is typically compiled to machine code; long answer: 'compiled' and 'executable' are probably not the right categories to be thinking with. 2015-03-05T10:52:58Z interop_madness: H4ns, but for instance, windows support (exe + dlls) seems to be limited to commercial Common Lisp implementations. it seems to include substantial investments to even assess if implementing with Common Lisp is suitable for one's needs in windows... 2015-03-05T10:53:07Z ab1111: I need the answer for my Maxima use, when I call compile does it do cse? 2015-03-05T10:53:30Z H4ns: interop_madness: yes, but how is that related to interpreted vs. compiled? 2015-03-05T10:54:01Z ab1111: I asked the question a while ago and I figured you were answering it.:) 2015-03-05T10:54:30Z interop_madness: H4ns, i was wondering how other people do it; it would seem not many people (want to) write windows applications in Common Lisp 2015-03-05T10:54:49Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-05T10:55:08Z H4ns: interop_madness: people who want to write windows applications in common lisp usually choose one of the two commercial lisp implementations to do so. 2015-03-05T10:55:39Z wjiang quit (Quit: Leaving) 2015-03-05T10:56:48Z interop_madness: H4ns, and on linux? do people typically segment applications in executable and (dynamic libraries) when writing in Common Lisp? 2015-03-05T10:56:48Z Patzy quit (Read error: Connection reset by peer) 2015-03-05T10:57:18Z Patzy joined #lisp 2015-03-05T10:57:20Z loke: interop_madness: No. Lisp is not C (or C++) 2015-03-05T10:57:39Z H4ns: interop_madness: it is not very common to create shared libraries written in common lisp 2015-03-05T10:57:57Z loke: interop_madness: You need a runtime, just like Java, Perl, Ruby, C#, etc... 2015-03-05T10:57:59Z jdz: also, people have written games using SBCL that have binaries on Windows; #lispgames should be able to tell more 2015-03-05T10:58:07Z H4ns: interop_madness: it is common, though, to use shared libraries written in c from common lisp. 2015-03-05T10:58:24Z jdz: i think i've heard one can even use Wine on linux to create windows binaries 2015-03-05T10:58:35Z interop_madness: and the lisp compiler compiles to an intermediate language that is executed by the runtime? 2015-03-05T10:58:37Z wooden quit (Ping timeout: 245 seconds) 2015-03-05T10:58:48Z H4ns: interop_madness: no. most lisp compilers compile to machine code. 2015-03-05T10:58:58Z H4ns: interop_madness: there are implementations that target virtual machines, too. 2015-03-05T10:59:17Z loke: H4ns: By the way, a recent (a couple of months back, I can give you the git ID) update of Drakma broke ABCL. It triggers a bug in ABCL's implementation of Grey streams. 2015-03-05T10:59:26Z interop_madness: but if a huge lisp application has e.g. 287616 source files, they won't usually end up in one monolithic executable, will they? 2015-03-05T10:59:39Z hitecnologys quit (Quit: hitecnologys) 2015-03-05T10:59:41Z H4ns: loke: please file a github issue if you care 2015-03-05T10:59:47Z H4ns: interop_madness: they will, usually 2015-03-05T10:59:50Z Davidbrcz quit (Ping timeout: 244 seconds) 2015-03-05T10:59:54Z loke: interop_madness: Most compiler does, as H4ns said, compile to native machine code. There are some that don't, like ABCL which compiles to Java bytecodes. 2015-03-05T11:00:20Z loke: H4ns: I was just wondering if you were willing special-case that code to work around ABCL's bug. 2015-03-05T11:00:20Z Patzy quit (Read error: Connection reset by peer) 2015-03-05T11:00:23Z H4ns: interop_madness: what would be the point of having 287616 shared libraries? 2015-03-05T11:00:26Z jdz: clisp (the implementation) also compiles to bytecode AFAKI 2015-03-05T11:00:54Z jackdaniel: interop_madness: ecl may compile to shared object ie 2015-03-05T11:01:01Z H4ns: loke: depends :) - also, stassats might be willing as he is the main maintainer for all ediware now. 2015-03-05T11:01:05Z Karl_Dscc quit (Remote host closed the connection) 2015-03-05T11:01:11Z loke: I see. OK 2015-03-05T11:01:11Z interop_madness: H4ns, not 287616, but maybe 50 to hundred 2015-03-05T11:01:39Z H4ns: interop_madness: what would be the point of 50 to hundred separate files for one application? 2015-03-05T11:01:40Z hitecnologys joined #lisp 2015-03-05T11:01:43Z loke: Java is the main language that compiles to a billion object files. But even there they package those up into a JAR file. 2015-03-05T11:01:59Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-03-05T11:02:06Z interop_madness: H4ns, plugin extensibility, customer specific functionality 2015-03-05T11:02:17Z Patzy joined #lisp 2015-03-05T11:02:22Z H4ns: interop_madness: all is possible. 2015-03-05T11:02:54Z H4ns: interop_madness: as i said, there are many different deployment stories, and there is no one true way. 2015-03-05T11:03:06Z interop_madness: is there some reasonably large windows application written in Common Lisp that's open sourced? 2015-03-05T11:03:14Z H4ns: interop_madness: although i usually deliver applications in one monolith, as that is the easiest to deploy. 2015-03-05T11:03:19Z loke: Maxima? 2015-03-05T11:03:24Z H4ns: i'm not a windows user 2015-03-05T11:03:41Z loke: interop_madness: http://maxima.sourceforge.net/ 2015-03-05T11:03:45Z ab1111: yeah Maxima 2015-03-05T11:03:47Z jackdaniel: does common lisp compilers count? ;] 2015-03-05T11:03:52Z H4ns: and as the most popular windows cl compilers are closed source, there are only few open source applications using them. 2015-03-05T11:03:55Z ab1111: it uses sbcl 2015-03-05T11:03:57Z jackdaniel: sbcl is written in CL afaik 2015-03-05T11:04:23Z innertracks joined #lisp 2015-03-05T11:04:28Z attila_lendvai joined #lisp 2015-03-05T11:04:38Z ab1111: among other implementations 2015-03-05T11:04:54Z sz0 quit (Read error: Connection reset by peer) 2015-03-05T11:05:02Z ab1111: loke: so do you know the answer? 2015-03-05T11:05:17Z loke: Answer to what? 2015-03-05T11:05:20Z sz0 joined #lisp 2015-03-05T11:05:46Z ab1111: Whether SBCL does common subexpression elimination? 2015-03-05T11:06:08Z ab1111: Couldn't fing it in the manual. 2015-03-05T11:06:11Z loke: Under some circumstances yes 2015-03-05T11:06:18Z ab1111: Oh ok 2015-03-05T11:06:21Z loke: Why don't you look at the source? 2015-03-05T11:06:35Z loke: (at least I believe it does) 2015-03-05T11:06:40Z ab1111: Sounds scary:) 2015-03-05T11:06:45Z loke: I don't have time to check it myself now as I have to leave the office 2015-03-05T11:06:49Z mishoo quit (Read error: Connection reset by peer) 2015-03-05T11:06:59Z loke: Once you get a hang of it, the source isn't very hard, compared to other compilers. 2015-03-05T11:07:15Z loke: There is a certain level of difficulty that comes with compilers that you can't avoid. 2015-03-05T11:08:04Z ab1111: Oh. OK. thanks for the answer. 2015-03-05T11:08:53Z zacharias_ quit (Ping timeout: 240 seconds) 2015-03-05T11:09:48Z ab1111 left #lisp 2015-03-05T11:10:57Z gravicappa quit (Ping timeout: 252 seconds) 2015-03-05T11:14:00Z Harag joined #lisp 2015-03-05T11:14:18Z Cheery_ is now known as Cheery 2015-03-05T11:17:49Z innertracks quit (Ping timeout: 256 seconds) 2015-03-05T11:23:50Z gniourf quit (Read error: Connection reset by peer) 2015-03-05T11:25:59Z jackdaniel: can lambda-list contain multiple &optional? 2015-03-05T11:26:12Z jackdaniel: and if yes - what for? 2015-03-05T11:26:44Z harish joined #lisp 2015-03-05T11:27:14Z brkpnt_ joined #lisp 2015-03-05T11:29:22Z Fullma joined #lisp 2015-03-05T11:29:24Z qubitnerd joined #lisp 2015-03-05T11:29:42Z PuercoPop quit (Quit: ZNC - http://znc.in) 2015-03-05T11:33:07Z pjb: jackdaniel: no only one &optional, but it may be followed by several optional parameters of course. 2015-03-05T11:33:46Z jackdaniel: pjb: tx 2015-03-05T11:37:28Z pjb: that said, abcl, cmucl and gcl accept duplicate &optional. Others not. 2015-03-05T11:39:00Z pjb: gcl signals the error when calling the function. 2015-03-05T11:39:13Z pjb: Only abcl and cmucl process it as expected. 2015-03-05T11:39:19Z brkpnt_ quit (Remote host closed the connection) 2015-03-05T11:40:19Z gniourf joined #lisp 2015-03-05T11:41:29Z apathor_ quit (Quit: :|) 2015-03-05T11:42:00Z Harag quit (Quit: Harag) 2015-03-05T11:49:10Z Shinmera joined #lisp 2015-03-05T11:50:48Z Shinmera: splittist: I have, yes. I'm not sure if I can squeeze what I want to say and show into five minutes, but most likely I'll be able to come up with something. I might also do another lightning talk about Radiance, but that's much less certain. 2015-03-05T11:51:25Z splittist: Shinmera: cool. I look forward to it. 2015-03-05T11:51:32Z splittist: or them. As the case may be. 2015-03-05T11:51:56Z cadadar joined #lisp 2015-03-05T11:52:11Z Shinmera: Haven't done any talks in years now. Hopefully I'm not as rusty as I fear I might be. 2015-03-05T11:53:09Z pjb` joined #lisp 2015-03-05T11:54:23Z pjb is now known as Guest90101 2015-03-05T11:55:04Z przl quit (Ping timeout: 256 seconds) 2015-03-05T11:55:07Z Guest90101 quit (Ping timeout: 244 seconds) 2015-03-05T11:56:25Z johann quit (Remote host closed the connection) 2015-03-05T11:58:59Z splittist: Five minutes is waaay shorter than you think it is. Not much time for rust to show (: 2015-03-05T11:59:18Z Shinmera: Or because of the tightness of time it'll show up more potently. 2015-03-05T11:59:44Z PaulCapestany is now known as PaulCape_ 2015-03-05T12:00:06Z PaulCape_ is now known as PaulCapestany 2015-03-05T12:01:35Z zacharias_ joined #lisp 2015-03-05T12:03:40Z sdothum joined #lisp 2015-03-05T12:03:58Z splittist: If you introduce yourself, say three things that can be understood and end with a slide with a github repo address you'll get a round of applause. 2015-03-05T12:04:54Z arnaudga joined #lisp 2015-03-05T12:05:19Z f03lipe_ joined #lisp 2015-03-05T12:05:27Z scymtym_ quit (Ping timeout: 244 seconds) 2015-03-05T12:05:59Z splittist: But make sure you do what I say, not what I do (: 2015-03-05T12:06:57Z Mon_Ouie joined #lisp 2015-03-05T12:07:00Z munksgaard quit (Ping timeout: 244 seconds) 2015-03-05T12:09:51Z brkpnt joined #lisp 2015-03-05T12:10:14Z JuanDaugherty joined #lisp 2015-03-05T12:13:26Z brkpnt: Hi! I come from a Linux background, and i want to run CL in Windows. Now i see that all the CL implementations are Unix centric. What could be the recomentations for windows or windows' implementations. I see that ECL, is not working well. And the other except CCL needs a working CL compiler. Is CCL the only choice? 2015-03-05T12:13:46Z Shinmera: SBCL also works on Windows. 2015-03-05T12:13:57Z munksgaard joined #lisp 2015-03-05T12:16:31Z EvW joined #lisp 2015-03-05T12:16:45Z Xaving joined #lisp 2015-03-05T12:17:14Z Karl_Dscc joined #lisp 2015-03-05T12:18:04Z przl joined #lisp 2015-03-05T12:19:00Z theos quit (Disconnected by services) 2015-03-05T12:19:14Z pjb`: both ccl and sbcl are written in CL, and therefore require a working CL compiler. CCL even requires itself! while sbcl may be compiled with another CL compiler. 2015-03-05T12:19:29Z pjb` is now known as pjb 2015-03-05T12:19:52Z pjb: brkpnt: clisp also works nicely on MS-Windows. 2015-03-05T12:20:02Z H4ns: brkpnt: i have used ccl, sbcl and clisp on windows and all of them worked well. i did not attempt to write gui applications, though, and for that, a commercial compiler may be better. 2015-03-05T12:20:22Z pjb: If you want to write a terminal program that works the same on MacOSX, Unix and MS-Windows, then clisp will let you do that without too much pain. 2015-03-05T12:22:03Z urandom__ joined #lisp 2015-03-05T12:24:38Z paradoja joined #lisp 2015-03-05T12:29:43Z zacharias_ is now known as zacharias 2015-03-05T12:30:58Z alvis joined #lisp 2015-03-05T12:31:23Z mulk quit (Ping timeout: 265 seconds) 2015-03-05T12:36:51Z gravicappa joined #lisp 2015-03-05T12:37:04Z arnaudga quit (Ping timeout: 272 seconds) 2015-03-05T12:38:37Z qubitnerd quit (Ping timeout: 245 seconds) 2015-03-05T12:47:08Z mishoo joined #lisp 2015-03-05T12:48:20Z Mon_Ouie quit (Ping timeout: 244 seconds) 2015-03-05T12:48:55Z Ven joined #lisp 2015-03-05T12:49:02Z przl quit (Ping timeout: 245 seconds) 2015-03-05T12:50:41Z c4h joined #lisp 2015-03-05T12:54:05Z Ven quit (Ping timeout: 250 seconds) 2015-03-05T12:55:06Z theos joined #lisp 2015-03-05T12:57:14Z johann joined #lisp 2015-03-05T12:59:22Z pranavrc quit (Ping timeout: 240 seconds) 2015-03-05T13:01:40Z keen__________79 joined #lisp 2015-03-05T13:02:12Z johann quit (Remote host closed the connection) 2015-03-05T13:02:13Z Davidbrcz joined #lisp 2015-03-05T13:02:28Z johann joined #lisp 2015-03-05T13:03:04Z keen__________78 quit (Ping timeout: 256 seconds) 2015-03-05T13:09:20Z k-dawg joined #lisp 2015-03-05T13:11:36Z cmack` joined #lisp 2015-03-05T13:13:25Z f03lipe_ quit (Ping timeout: 256 seconds) 2015-03-05T13:19:07Z cadadar quit (Quit: Leaving.) 2015-03-05T13:19:46Z jrm quit (Ping timeout: 255 seconds) 2015-03-05T13:20:47Z splittist joins the cool kids at the Mercure London Greenwich 2015-03-05T13:21:53Z nalssee quit (Ping timeout: 240 seconds) 2015-03-05T13:22:40Z Harag joined #lisp 2015-03-05T13:23:21Z Shinmera: splittist: Regarding the lightning talk on Qtools, is there anything that you would like to know in particular or something that you think would be neat for me to explain/show? 2015-03-05T13:24:34Z arnaudga joined #lisp 2015-03-05T13:25:03Z schjetne quit (Changing host) 2015-03-05T13:25:03Z schjetne joined #lisp 2015-03-05T13:25:34Z ovenpasta joined #lisp 2015-03-05T13:26:28Z enaden joined #lisp 2015-03-05T13:28:57Z Ralt: is there anything to keep sbcl up to date? 2015-03-05T13:29:12Z pjb: A black hole. 2015-03-05T13:29:22Z Ralt: something less quantum. 2015-03-05T13:29:28Z pjb: Bar that, I see nothing: your sbcl instance WILL be outdated next month. 2015-03-05T13:29:34Z pjb: There's nothing you can do about it. 2015-03-05T13:29:44Z Ralt: well... an easy way to get the new version then 2015-03-05T13:29:58Z Ralt: for example, a custom debian repo... 2015-03-05T13:30:00Z Shinmera: Ralt: You can try http://plaster.tymoon.eu/view/85 2015-03-05T13:30:01Z Ralt: hmmm 2015-03-05T13:30:03Z Ralt: let me think. 2015-03-05T13:30:27Z pjb: I guess you could write a monthly cron script to fetch the next version and install it on your system automatically. 2015-03-05T13:30:31Z xorox90 quit (Quit: Connection closed for inactivity) 2015-03-05T13:30:32Z Ralt: readonly DEFAULT_DISABLED_FEATURES=":largefile :sb-ldb" 2015-03-05T13:30:37Z Ralt: why disable sb-ldb? 2015-03-05T13:30:52Z Ralt: pjb: nah I mostly mean something I can apt-get upgrade to get the latest version of 2015-03-05T13:31:04Z Ralt: not specifically apt-get upgrade, but you know what I mean. 2015-03-05T13:31:29Z Xach: Ralt: dlowe is working on that 2015-03-05T13:31:31Z pjb: Well, there's a debian and a macport package for sbcl, but they don't necessarily update it the minute sbcl issues a new release. 2015-03-05T13:31:45Z splittist: Xach: a quickdist? 2015-03-05T13:31:54Z splittist: Shinmera: thinking... 2015-03-05T13:31:56Z Xach: an apt repo 2015-03-05T13:32:17Z Shinmera: Ralt: Because lldb is never useful to me. 2015-03-05T13:32:44Z Ralt: you don't use (break) and the likes? 2015-03-05T13:33:22Z Xach: Ralt: that is not what ldb does. 2015-03-05T13:33:26Z arnaudga quit (Ping timeout: 272 seconds) 2015-03-05T13:33:30Z Ralt: oh. 2015-03-05T13:33:33Z Shinmera: Ralt: LDB is the low level debugger you land in when SBCL crashes. 2015-03-05T13:33:42Z Xach: Ralt: ldb is what you get when sbcl has crashed irrecoverably. 2015-03-05T13:33:47Z Ralt: ah, I see 2015-03-05T13:33:58Z Xach: The author of ldb was amused and dismayed that sbcl enables it by default 2015-03-05T13:34:10Z Shinmera: Which is only really useful for SBCL devs and actively annoying when running in, say, a server context where just relaunching would be better than getting stuck at a prompt. 2015-03-05T13:35:27Z przl joined #lisp 2015-03-05T13:35:50Z Ralt: hm 2015-03-05T13:35:51Z Xach: You can disable ldb at runtime in an ldb-enabled sbcl, which is handy. 2015-03-05T13:36:03Z Ralt: I just run ./make.sh --fancy when compiling sbcl... 2015-03-05T13:36:13Z mvilleneuve_ joined #lisp 2015-03-05T13:36:35Z Shinmera: --fancy doesn't enable all the things my build-sbcl.sh does. 2015-03-05T13:36:38Z mvilleneuve quit (Ping timeout: 265 seconds) 2015-03-05T13:36:48Z LiamH joined #lisp 2015-03-05T13:36:57Z edgar-rft quit (Quit: edgar-rft) 2015-03-05T13:37:02Z Xach also uses --fancy 2015-03-05T13:37:34Z Shinmera: Anyway, my script was written with the intention of being used for quick updates and build/install testing, so it should suit your needs. 2015-03-05T13:37:44Z Ralt: trying it out. 2015-03-05T13:38:20Z Xach joins the it is a mercure party 2015-03-05T13:38:32Z antoszka: Why does SLY deletes the other window in a frame when launched (or upon restarting the lisp)? 2015-03-05T13:38:48Z antoszka: sletesletel 2015-03-05T13:38:59Z ndrei quit (Ping timeout: 245 seconds) 2015-03-05T13:39:05Z Ralt: Shinmera: wait, your script builds master? 2015-03-05T13:39:17Z Shinmera: Yes 2015-03-05T13:39:28Z Ralt: ah... 2015-03-05T13:39:40Z Ralt: I'll change it a little bit I think 2015-03-05T13:39:57Z Shinmera: I might add a switch to set the branch or commit. 2015-03-05T13:40:54Z ndrei joined #lisp 2015-03-05T13:41:02Z sol__ quit (Ping timeout: 244 seconds) 2015-03-05T13:41:41Z Ralt: I'll just change it to download latest release 2015-03-05T13:42:02Z PaulCapestany is now known as PaulCape_ 2015-03-05T13:42:47Z Ralt: hm... 2015-03-05T13:42:56Z Ralt: harder than initially thought. 2015-03-05T13:43:07Z yrk joined #lisp 2015-03-05T13:43:07Z Shinmera: you can also just download the repo yourself, set it up as you want, and subsequently only use the build/install actions. 2015-03-05T13:43:30Z Ralt: yup, not a bad idea. 2015-03-05T13:43:36Z yrk quit (Changing host) 2015-03-05T13:43:36Z yrk joined #lisp 2015-03-05T13:44:59Z sol__ joined #lisp 2015-03-05T13:53:39Z przl quit (Ping timeout: 256 seconds) 2015-03-05T13:55:37Z przl joined #lisp 2015-03-05T13:59:23Z Shinmera: splittist: I've been thinking about extending ASDF for a general "external" build system quite a few times now, which would in effect allow a dist for dependencies and other builds such as SBCL. But, so far only one of the many, many ideas that I want to realise some day. 2015-03-05T14:00:32Z brkpnt left #lisp 2015-03-05T14:01:39Z stardiviner quit (Ping timeout: 246 seconds) 2015-03-05T14:02:25Z PuercoPop joined #lisp 2015-03-05T14:05:20Z vaporatorius joined #lisp 2015-03-05T14:06:41Z cmack`` joined #lisp 2015-03-05T14:09:49Z cmack` quit (Ping timeout: 245 seconds) 2015-03-05T14:12:39Z Khisanth quit (Ping timeout: 264 seconds) 2015-03-05T14:12:40Z splittist: Shinmera: I would like to be able to type (quickimpl:update-all-implementations) and have the latest (binary-equivalent) builds of abcl, ccl, clasp, clisp, cmucl, sbcl, sicl ... installed. But that's me. 2015-03-05T14:13:33Z Shinmera: splittist: It would look more like (quicklisp:update-dist "impls"), but sure. 2015-03-05T14:15:29Z stardiviner joined #lisp 2015-03-05T14:16:20Z linux_dream joined #lisp 2015-03-05T14:17:00Z Ralt: Shinmera: my slightly modified version: https://gist.github.com/Ralt/cf5bbacb126e81b65b72 2015-03-05T14:17:05Z Ralt: it works very nicely, thanks! 2015-03-05T14:17:07Z Xach discovers that js-parser has never worked 2015-03-05T14:18:33Z Shinmera: Ralt: I can't tell what's different at a glance, but sure. Glad it works for you. 2015-03-05T14:18:58Z Shinmera: Ah, you changed the source_dir to a static path. Alright. 2015-03-05T14:19:08Z Khisanth joined #lisp 2015-03-05T14:20:55Z Ralt: Shinmera: yeah. And the default actions. 2015-03-05T14:21:45Z ebrasca joined #lisp 2015-03-05T14:23:40Z tajjada joined #lisp 2015-03-05T14:25:50Z Ralt: anyway, I now proudly have sbcl 1.2.9. 2015-03-05T14:27:08Z jlongster joined #lisp 2015-03-05T14:28:23Z Khisanth quit (Ping timeout: 240 seconds) 2015-03-05T14:28:50Z Khisanth joined #lisp 2015-03-05T14:33:44Z psy_ quit (Ping timeout: 244 seconds) 2015-03-05T14:36:30Z cluck joined #lisp 2015-03-05T14:39:21Z theseb joined #lisp 2015-03-05T14:40:58Z nalssee joined #lisp 2015-03-05T14:41:12Z alvis quit (Ping timeout: 252 seconds) 2015-03-05T14:49:34Z Bahman joined #lisp 2015-03-05T14:49:46Z theseb quit (Ping timeout: 255 seconds) 2015-03-05T14:49:52Z enaden quit (Ping timeout: 245 seconds) 2015-03-05T14:49:56Z interop_madness quit (Quit: Leaving) 2015-03-05T14:51:27Z Ralt: meh. Didn't work. 2015-03-05T14:51:40Z Ralt: back to sbcl 1.2.3... 2015-03-05T14:54:51Z dkcl quit (Ping timeout: 246 seconds) 2015-03-05T14:56:51Z theseb joined #lisp 2015-03-05T14:57:25Z mrSpec quit (Ping timeout: 264 seconds) 2015-03-05T14:57:43Z mrSpec joined #lisp 2015-03-05T14:58:30Z badkins joined #lisp 2015-03-05T14:58:33Z Xach: what didn't work? 2015-03-05T14:58:52Z Shinmera: His $SBCL_HOME was still set to the old directory. 2015-03-05T14:59:10Z Shinmera: so the core version conflicted. 2015-03-05T14:59:23Z Khisanth quit (Ping timeout: 246 seconds) 2015-03-05T15:03:12Z PaulCape_ is now known as PaulCapestany 2015-03-05T15:04:30Z davazp joined #lisp 2015-03-05T15:05:53Z Xaving quit (Quit: Page closed) 2015-03-05T15:07:27Z oleo quit (Quit: Leaving) 2015-03-05T15:07:29Z Khisanth joined #lisp 2015-03-05T15:07:34Z enaden joined #lisp 2015-03-05T15:07:54Z cadadar joined #lisp 2015-03-05T15:08:00Z scarygelatin joined #lisp 2015-03-05T15:08:15Z PaulCapestany is now known as PaulCape_ 2015-03-05T15:09:23Z pjb: /me runs proudly SBCL 1.0.57.0.debian 2015-03-05T15:09:23Z pjb: 2015-03-05T15:11:31Z oleo joined #lisp 2015-03-05T15:11:31Z oleo quit (Changing host) 2015-03-05T15:11:31Z oleo joined #lisp 2015-03-05T15:13:20Z Khisanth quit (Ping timeout: 246 seconds) 2015-03-05T15:14:55Z scarygelatin quit (Ping timeout: 250 seconds) 2015-03-05T15:15:04Z Karl_Dscc quit (Remote host closed the connection) 2015-03-05T15:15:08Z cadadar quit (Quit: Leaving.) 2015-03-05T15:15:41Z scarygelatin joined #lisp 2015-03-05T15:18:51Z Khisanth joined #lisp 2015-03-05T15:21:39Z jackdaniel: where can i find describtion of valid declaration of number of returned values by function? 2015-03-05T15:22:52Z jackdaniel digs clhs, but is apparently too dumb to find it 2015-03-05T15:24:52Z Ethan- quit (Ping timeout: 245 seconds) 2015-03-05T15:25:00Z jumblerg joined #lisp 2015-03-05T15:25:03Z jackdaniel: nevermind, found it afterall 2015-03-05T15:25:38Z wheelsucker joined #lisp 2015-03-05T15:26:20Z sunwukong: jackdaniel: you can use lispdoc.com to search in several sources (CLtL2, OnLisp etc.) 2015-03-05T15:26:29Z PaulCape_ quit (Quit: .) 2015-03-05T15:26:39Z Ven joined #lisp 2015-03-05T15:27:26Z jackdaniel: sunwukong: thanks, wasn't aware about this page 2015-03-05T15:28:07Z PaulCapestany joined #lisp 2015-03-05T15:28:44Z d4ryus__ joined #lisp 2015-03-05T15:29:49Z Khisanth quit (Ping timeout: 245 seconds) 2015-03-05T15:30:07Z smokeink: what's a nice way to generate a list like this: ((1 2 3),(1 2 4),(1 2 5),...,(1 3 4),(1 3 5),...,(1 4 5),...(7 8 9)) ? 2015-03-05T15:30:16Z PaulCapestany quit (Max SendQ exceeded) 2015-03-05T15:31:01Z drmeister: smokeink: What's the pattern? 2015-03-05T15:31:07Z PaulCapestany joined #lisp 2015-03-05T15:31:35Z drmeister: The answers probably going to be nested LOOPs 2015-03-05T15:31:36Z d4ryus quit (Ping timeout: 244 seconds) 2015-03-05T15:31:46Z smokeink: a=1..9 , b=a+1..c-1 , c=b+1..9 2015-03-05T15:31:52Z smokeink: ((a b c)) 2015-03-05T15:32:47Z jlongster quit (Ping timeout: 245 seconds) 2015-03-05T15:32:50Z d4ryus__ is now known as d4ryus 2015-03-05T15:36:01Z ``Erik quit (Ping timeout: 265 seconds) 2015-03-05T15:38:07Z Khisanth joined #lisp 2015-03-05T15:38:15Z ahungry: hey all, with helm-find-files over an SCP (that is available on a remote server due to VPN) it has some insanely large directories, and helm seems to crash as I get down into them 2015-03-05T15:38:16Z burtons` joined #lisp 2015-03-05T15:38:28Z Xach: that sounds like a good question for #emacs 2015-03-05T15:38:29Z ahungry: is there a way to disable the helm-find-files functionality when opening over scp? 2015-03-05T15:38:44Z ahungry: Crap sorry, I auto number my channels and it got offset by 1 (/shakes fist at irssi) 2015-03-05T15:39:03Z ahungry: More related to CL - thanks for quicklisp and vecto Xach! 2015-03-05T15:39:06Z toors joined #lisp 2015-03-05T15:39:09Z Xach: no problemo 2015-03-05T15:39:18Z Karl_Dscc joined #lisp 2015-03-05T15:39:18Z Xach: are you going to come see the talk about quicklisp at els? 2015-03-05T15:39:29Z KarlDscc joined #lisp 2015-03-05T15:40:09Z Karl_Dscc quit (Client Quit) 2015-03-05T15:41:27Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-05T15:41:47Z lpaste: sunwukong pasted “list generation” at http://lpaste.net/121831 2015-03-05T15:42:06Z sunwukong: smokeink: something like this? 2015-03-05T15:42:37Z aretecode joined #lisp 2015-03-05T15:42:40Z smokeink: yes, thanks alot 2015-03-05T15:43:33Z jumblerg joined #lisp 2015-03-05T15:44:00Z PuffTheMagic quit (Quit: Connection closed for inactivity) 2015-03-05T15:44:19Z wz1000 joined #lisp 2015-03-05T15:45:31Z Shinmera: Don't thank the alot, thank sunwukong. 2015-03-05T15:46:57Z smokeink: hehe 2015-03-05T15:47:33Z sunwukong: could be a lot more compact if you use list comprehension, e.g. in Haskell: 2015-03-05T15:47:34Z smokeink: i'm having this haskell code: pitags uplim = [(a, b, c) | a <- [1..uplim], b <- [a..uplim], c <- [b..uplim], a^2 + b^2 == c^2] 2015-03-05T15:47:34Z sunwukong: [(a,b,c) | a <- [1..9], b <- [a+1..8], c <- [b+1..9]] 2015-03-05T15:47:52Z smokeink: trying to make a lisp version but what i came up with is horrible 2015-03-05T15:48:49Z sunwukong: if you have an equation for c, then you can just skip the corresponding loop 2015-03-05T15:49:02Z smokeink: http://paste.lisp.org/display/146088 2015-03-05T15:50:09Z pt1_ quit (Ping timeout: 252 seconds) 2015-03-05T15:51:02Z lpaste: sunwukong pasted “using iterate, without the innermost loop” at http://lpaste.net/121841 2015-03-05T15:52:38Z sunwukong: much more efficient than going through values of c that do not satisfy the equation 2015-03-05T15:53:00Z smokeink: i'm getting The variable A is unbound. 2015-03-05T15:53:45Z sunwukong: maybe you don't have the iterate library loaded, try the same with loop 2015-03-05T15:53:54Z munksgaard quit (Ping timeout: 265 seconds) 2015-03-05T15:55:26Z psy_ joined #lisp 2015-03-05T15:56:31Z Khisanth quit (Ping timeout: 250 seconds) 2015-03-05T15:56:43Z lpaste: sunwukong pasted “same with loop” at http://lpaste.net/121848 2015-03-05T15:57:35Z sunwukong: (I like iterate because it has a more lispy syntax) 2015-03-05T15:58:19Z Shinmera: loop-is-the-most-lispy.txt 2015-03-05T15:59:19Z sunwukong: Shinmera: what's that? 2015-03-05T15:59:43Z Shinmera: Arguably loop is more "lispy" because it introduces its own syntax. Iterate is just more "parenthesis-y" 2015-03-05T15:59:48Z zyaku joined #lisp 2015-03-05T15:59:59Z Shinmera: But anyway, tired debate. 2015-03-05T16:00:06Z smokeink: :) 2015-03-05T16:00:07Z sunwukong: ah, okay. Good point, but iterate is still better for my eyes :) 2015-03-05T16:00:56Z Cymew: DO! 2015-03-05T16:01:03Z Cymew sneaks under a rock 2015-03-05T16:01:14Z jackdaniel: matter of taste I think, I find loop unreadable 2015-03-05T16:03:04Z oleo: do is the lispiest yes... 2015-03-05T16:03:16Z ajtulloch joined #lisp 2015-03-05T16:03:40Z oleo: you have to get used to it tho.... 2015-03-05T16:03:53Z paradoja quit (Ping timeout: 240 seconds) 2015-03-05T16:04:01Z smokeink: sunwukong is there any way to add a condition to that c? c < 10 2015-03-05T16:04:06Z Shinmera: I get used to it by instinctively rewriting it to loop as soon as I see it. 2015-03-05T16:04:13Z oleo: lol 2015-03-05T16:04:29Z oleo: well i get confused by loop too.... 2015-03-05T16:04:40Z oleo: i only use it's most basic form or so.... 2015-03-05T16:04:42Z smokeink: http://paste.lisp.org/display/146088 also, is there any way to send three parameters to that lambda ? 2015-03-05T16:04:52Z jackdaniel: their usecases overlap, but aren't equal 2015-03-05T16:05:05Z xan_ joined #lisp 2015-03-05T16:05:26Z sol__ quit (Ping timeout: 272 seconds) 2015-03-05T16:08:28Z jlongster joined #lisp 2015-03-05T16:10:21Z enaden quit (Read error: Connection reset by peer) 2015-03-05T16:11:04Z ggole: smokeink: you could abuse apply 2015-03-05T16:11:16Z ggole: (lambda (l) (apply (lambda (a b c) ...) l) 2015-03-05T16:14:11Z mishoo quit (Ping timeout: 256 seconds) 2015-03-05T16:15:29Z smokeink: cool :) 2015-03-05T16:15:31Z taylanub wouldn't call that abuse... 2015-03-05T16:17:09Z dkcl joined #lisp 2015-03-05T16:17:13Z k-dawg quit (Quit: This computer has gone to sleep) 2015-03-05T16:17:55Z Khisanth joined #lisp 2015-03-05T16:19:08Z ajtulloch quit (Read error: Connection reset by peer) 2015-03-05T16:19:45Z ajtulloch joined #lisp 2015-03-05T16:20:36Z farhaven quit (Ping timeout: 250 seconds) 2015-03-05T16:21:30Z innertracks joined #lisp 2015-03-05T16:21:34Z zyaku quit (Ping timeout: 255 seconds) 2015-03-05T16:21:55Z drmeister: How is keyword argument checking done efficiently at runtime? 2015-03-05T16:23:24Z attila_lendvai quit (Ping timeout: 246 seconds) 2015-03-05T16:23:30Z taylanub: I'd imagine hashtable. maybe trie if the charset isn't too big... 2015-03-05T16:25:39Z ggole: Er, what? 2015-03-05T16:25:50Z munksgaard joined #lisp 2015-03-05T16:26:09Z taylanub: uh, you could just have a byte-based trie I guess, ignoring charset... 2015-03-05T16:26:17Z drmeister: For a lambda-list like (lambda (&key (x nil x-p) (y nil y-p)) ...) I could setf x-p nil y-p nil and then loop over arguments and for each argument loop over parameters. If the argument matches a parameter, bind its passed value and bind the #-p variable to t. But apparently this violates that standard because I'm not binding the x-p, y-p variables at the 2015-03-05T16:26:17Z drmeister: correct time. 2015-03-05T16:26:21Z taylanub: tell me if I'm not making sense on a larger scale :P 2015-03-05T16:26:50Z ggole: Well, keyword arguments are a matter of symbols 2015-03-05T16:27:10Z taylanub: oh, didn't think of that 2015-03-05T16:28:08Z drmeister: Doing it the way described in http://www.lispworks.com/documentation/HyperSpec/Body/03_dad.htm doesn't do argument checking. 2015-03-05T16:28:21Z taylanub: does any well-known implementation implement symbols with something other than hash tables? 2015-03-05T16:29:41Z drmeister: taylanub: Symbols are converted from strings to pointers by the reader. 2015-03-05T16:30:26Z ggole: Or by make-symbol/intern - but in any case, before being passed to a function 2015-03-05T16:31:03Z jdz: [interned] symbols are kept in packages 2015-03-05T16:31:26Z jdz: underlying implementation most likely uses a hash table, but that is not required 2015-03-05T16:32:22Z sunwukong: smokeink: sorry, I was away - yes, you can add inequalities like that, just add "when (< c 10)" before collecting 2015-03-05T16:32:30Z ggole: drmeister: as the implementor, you can bind them at whatever time you like as long as the behaviour is right 2015-03-05T16:32:32Z jdz: and my uninformed guess would be that packages might use a special kind of hash tables, but implementers (-ors?) would be able to answer that better 2015-03-05T16:33:04Z mishoo joined #lisp 2015-03-05T16:34:17Z smokeink: http://paste.lisp.org/display/146089 ok sunwukong 2015-03-05T16:34:21Z Cymew quit (Ping timeout: 252 seconds) 2015-03-05T16:34:49Z smokeink: works great. now i guess to make this even beautiful a macro would work best 2015-03-05T16:34:55Z paroneayea quit (Read error: Connection reset by peer) 2015-03-05T16:35:15Z sunwukong: you can do it this way, but it's less efficient 2015-03-05T16:35:32Z paroneayea joined #lisp 2015-03-05T16:35:57Z ndrei quit (Ping timeout: 265 seconds) 2015-03-05T16:36:32Z lpaste: sunwukong pasted “Better with only two loops” at http://lpaste.net/121893 2015-03-05T16:37:17Z smokeink: nice 2015-03-05T16:37:30Z sunwukong: (you can also add (<= b c) to it) 2015-03-05T16:38:04Z sunwukong: but you don't need it as long as you use the a^2+b^2 formula 2015-03-05T16:39:11Z zyaku joined #lisp 2015-03-05T16:39:12Z _bcs_ joined #lisp 2015-03-05T16:40:42Z smokeink: but why is it skipping (3 4 5) for example? 2015-03-05T16:40:49Z larion quit (Ping timeout: 256 seconds) 2015-03-05T16:41:04Z bjorkintosh quit (Ping timeout: 245 seconds) 2015-03-05T16:41:31Z jasom: taylanub: I'm not aware of any that doesn't use a hash-table, since you need some sort of associative datastructure, and the standard requires you to have hash-tables anyway. 2015-03-05T16:41:33Z slyrus joined #lisp 2015-03-05T16:41:34Z drmeister: ggole: I understand - I'm trying to figure out if a pathological case like (defun foo (&key (a nil a-p) (b a-p b-p)) (list (list a a-p) (list b b-p))) works with my algorithm above. 2015-03-05T16:42:13Z jasom: If I were being nit-picky, does the spec require the hash-table functions to actually implement a hash-table, or could they implement some other associative data structure? 2015-03-05T16:42:54Z jasom: Hmm the spec defines "hash table" to be: n. an object of type hash-table, which provides a mapping from keys to values. 2015-03-05T16:43:09Z sunwukong: smokeink: because 3*3+4*4 /= 5 2015-03-05T16:43:18Z radioninja quit (Ping timeout: 252 seconds) 2015-03-05T16:43:19Z innertracks quit (Ping timeout: 250 seconds) 2015-03-05T16:43:20Z sunwukong: maybe you wanted to say a^2+b^2=c^2 2015-03-05T16:43:29Z sunwukong: as in pythagorean triples 2015-03-05T16:43:47Z smokeink: yes i actually meant pythagorean triples 2015-03-05T16:44:09Z smokeink: so i guess isqrt is the fix 2015-03-05T16:44:18Z drmeister: jasom:It would be really tricky to implement hash-tables with something other than hash-tables. 2015-03-05T16:44:29Z jasom: drmeister: not at all 2015-03-05T16:44:31Z scarygelatin quit (Ping timeout: 255 seconds) 2015-03-05T16:44:49Z sunwukong: smokeink: yes, you can do that, but you also have to check that the equality holds 2015-03-05T16:44:50Z jackdaniel: maybe less efficient 2015-03-05T16:44:55Z jasom: drmeister: if your keys can be strongly ordered, than any tree-like associative array is easy 2015-03-05T16:45:03Z drmeister: I would think handling #'EQL, #'EQUAL #'EQUALP efficiently with any other data structure would be tricky. 2015-03-05T16:45:30Z jasom: drmeister: the spec doesn't seem to require O(k) lookup time, so you could even use an alist for that matter 2015-03-05T16:45:56Z drmeister: The operative word being "efficiently". 2015-03-05T16:45:59Z jasom: drmeister: efficient lookups of strongly ordered keys has been solved so many ways 2015-03-05T16:46:19Z scarygelatin joined #lisp 2015-03-05T16:46:45Z lpaste: sunwukong pasted “Pythagorean triples” at http://lpaste.net/121905 2015-03-05T16:46:54Z jasom: many trie datastructures have the same asymptotic performance of a properly implemented hash-table, for example 2015-03-05T16:47:14Z jasom: they aren't used much because it's really hard to make them cache-friendly though 2015-03-05T16:47:48Z wooden joined #lisp 2015-03-05T16:47:49Z wooden quit (Changing host) 2015-03-05T16:47:49Z wooden joined #lisp 2015-03-05T16:47:52Z drmeister: When I implemented my hash-tables I was repeatedly struck by how well suited they were for the job. I'm just relaying my impression without a full treatise. 2015-03-05T16:48:13Z smokeink: sunwukong: nice 2015-03-05T16:48:21Z jasom: It's also really easy to accidentally make a hash-table with poor asymptotic performance 2015-03-05T16:48:32Z drmeister: They handle #'EQL, #'EQUAL, #'EQUALP well; they work well with copying garbage collection. 2015-03-05T16:49:10Z paradoja joined #lisp 2015-03-05T16:49:14Z jasom: drmeister: how did you end up doing #'eql with copying gc? Just a rehash on gc? 2015-03-05T16:50:15Z zacharias quit (Ping timeout: 250 seconds) 2015-03-05T16:51:10Z ggole: drmeister: as far as I can tell that would be fine as long as you assigned a-p before evaluating the default expression of b 2015-03-05T16:51:31Z theos quit (Disconnected by services) 2015-03-05T16:51:34Z joneshf-laptop joined #lisp 2015-03-05T16:51:59Z theos joined #lisp 2015-03-05T16:52:09Z ggole: eg, binding everything and assigning in the right order 2015-03-05T16:52:20Z drmeister: ggole: Yeah - I think so too. It turns out that's exactly what happens anyway given how my argument processing code works with the Cleavir/Clasp generated code. 2015-03-05T16:53:11Z mvilleneuve_ quit (Quit: Leaving) 2015-03-05T16:53:13Z drmeister: So I think I can re-use my current algorithm. It's a bitch to modify because I wrote it in SSA with lots of PHI-nodes 2015-03-05T16:54:15Z Wojciech_K joined #lisp 2015-03-05T16:56:13Z zyaku quit (Ping timeout: 264 seconds) 2015-03-05T16:56:15Z ggole: Hmm, most LLVM users seem to rely on mem2reg for that 2015-03-05T16:56:55Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-05T16:57:20Z ggole: Because phi insertion is a pain (unless you have certain restrictions on the input language) 2015-03-05T16:57:21Z joast quit (Quit: Leaving.) 2015-03-05T16:57:56Z smokeink: it was a pleasure to study lisp with you guys 2015-03-05T16:58:11Z smokeink quit (Quit: see you next time) 2015-03-05T17:00:12Z drmeister: ggole: Yeah - since this is so time critical I thought I'd try it by hand. 2015-03-05T17:01:40Z jathd` joined #lisp 2015-03-05T17:01:47Z drmeister: This is where the magic happens: http://paste.lisp.org/display/146090 2015-03-05T17:01:51Z kobain joined #lisp 2015-03-05T17:02:10Z jathd quit (Remote host closed the connection) 2015-03-05T17:02:13Z kobain quit (Max SendQ exceeded) 2015-03-05T17:03:18Z yeticry quit (Ping timeout: 246 seconds) 2015-03-05T17:03:34Z drmeister: Or will happen - once I make it work with Cleavir/Clasp compiled code. 2015-03-05T17:03:58Z ndrei joined #lisp 2015-03-05T17:04:08Z mvilleneuve joined #lisp 2015-03-05T17:04:21Z bjorkintosh joined #lisp 2015-03-05T17:05:14Z ajtulloch quit (Remote host closed the connection) 2015-03-05T17:05:31Z yeticry joined #lisp 2015-03-05T17:05:35Z mvilleneuve quit (Client Quit) 2015-03-05T17:06:13Z ajtulloch joined #lisp 2015-03-05T17:07:20Z jathd`` joined #lisp 2015-03-05T17:07:47Z arnaudga joined #lisp 2015-03-05T17:08:30Z mj-0 joined #lisp 2015-03-05T17:08:53Z jathd` quit (Ping timeout: 240 seconds) 2015-03-05T17:10:18Z beach joined #lisp 2015-03-05T17:10:25Z beach: Good evening everyone! 2015-03-05T17:10:32Z jackdaniel: hi 2015-03-05T17:10:34Z zadock quit (Quit: Leaving) 2015-03-05T17:10:53Z beach: drmeister: What's the algorithm again? 2015-03-05T17:11:06Z drmeister: Hey beach. 2015-03-05T17:11:30Z drmeister: For keyword processing of the entry-instruction lambda lists. 2015-03-05T17:11:55Z beach: Right, and remind me what you are doing? 2015-03-05T17:11:58Z drmeister: 1) I set all of the supplied-p variables to NIL. 2015-03-05T17:12:17Z pt1 joined #lisp 2015-03-05T17:12:18Z drmeister: 2) outer-loop: I iterate over the pairs of arguments 2015-03-05T17:12:47Z mj-0 quit (Remote host closed the connection) 2015-03-05T17:13:09Z drmeister: 3) inner-loop: I iterate over each keyword parameter and check if it matches the current argument keyword. If it does I set the keyword variable to the passed value and set the supplied-p variable to T. 2015-03-05T17:13:26Z beach: That won't work. 2015-03-05T17:13:33Z drmeister: Then there is :allow-other-keywords and &allow-other-keywords handling in there as well. 2015-03-05T17:13:35Z drmeister: (sigh) 2015-03-05T17:13:39Z drmeister: Why won't it work? 2015-03-05T17:13:47Z beach: drmeister: What will this do with your algorithm: (defun ff (&key x) x) ... (ff :x 10 :x 20) 2015-03-05T17:14:03Z beach: It should give 10. 2015-03-05T17:14:35Z drmeister: It will give 10 - it also checks if it has already seen the keyword. 2015-03-05T17:14:47Z beach: Oh. 2015-03-05T17:14:49Z drmeister: By checking the supplied-p variable for that keyword 2015-03-05T17:15:03Z beach: Why not do it the other way around? 2015-03-05T17:15:04Z drmeister: I didn't give all the details - I'm just checking the code 2015-03-05T17:15:26Z drmeister: You mean outer-loop: over keyword parameters, inner-loop over passed argument pairs? 2015-03-05T17:15:37Z beach: Yes, then you can stop when you find the argument. 2015-03-05T17:15:47Z beach: No need to test whether supplied-p has already been set. 2015-03-05T17:16:10Z beach: No need to initialize supplied-p either. Just set it to NIL if you reach the end of the loop. 2015-03-05T17:16:20Z drmeister: They way it describes in the CLHS? That doesn't automatically provide a test for unrecognized keyword arguments. 2015-03-05T17:16:44Z beach: OK, that's true. 2015-03-05T17:17:06Z beach: But it would work when you have &allow-other-keys 2015-03-05T17:17:22Z drmeister: Ok, I'm glad you said that. Because I've wracked my brains trying to figure out how to test for unrecognized keyword arguments. 2015-03-05T17:17:35Z drmeister: Sure, it would work with &allow-other-keys. 2015-03-05T17:17:39Z Xach: duane rettig wrote a little bit about allegro argument processing on comp.lang.lisp 2015-03-05T17:17:45Z Xach doesn't have an easy way to search for it though :( 2015-03-05T17:18:18Z drmeister: Hmmm, I could implement two algorithms... One for &allow-other-keys and one for when you don't. 2015-03-05T17:18:46Z jdz: drmeister: also the caller can supply :allow-other-keys t 2015-03-05T17:18:46Z beach: drmeister: Also, yours won't work in the presence of :allow-other-keys t. 2015-03-05T17:18:47Z drmeister: Xach: That would be fantastic if you could point me to that. 2015-03-05T17:18:55Z drmeister: jdz: I check for that. 2015-03-05T17:19:53Z Xach: drmeister: I'll see what I can see 2015-03-05T17:20:20Z pt1 quit (Remote host closed the connection) 2015-03-05T17:20:21Z drmeister: My algorithm works with the entire ECL Common Lisp source base, ASDF, SLIME and Quicklisp. 2015-03-05T17:21:22Z beach: drmeister: Anyway, I wouldn't be too concerned about performance. Correctness is more important. 2015-03-05T17:21:29Z Xach: drmeister: alas, i can't. 2015-03-05T17:21:43Z Shinmera: drmeister: You got all that running, yet you didn't have zerop for ratios working. Edge-cases will bite ruthlessly. 2015-03-05T17:22:23Z drmeister: I see it also works with: (defun foo (&key (a nil a-p) (b a-p b-p)) (list (list a a-p) (list b b-p))) 2015-03-05T17:22:32Z drmeister: Ok, I think it's ok. 2015-03-05T17:22:55Z pjb: minion: memo for smokeink: http://paste.lisp.org/+34Q4 2015-03-05T17:22:56Z minion: Remembered. I'll tell smokeink when he/she/it next speaks. 2015-03-05T17:23:44Z drmeister: Shinmera: I agree - there is still a lot of work to do. 2015-03-05T17:23:48Z jackdaniel: beach: if some module in code directory of sicl doesn't have status.text, it means it's complete, or rather it's an issue? 2015-03-05T17:24:11Z drmeister: jackdaniel: Did I read that you have taken up maintenance of ECL? 2015-03-05T17:24:21Z beach: jackdaniel: It probably means that I don't know whether it is a module yet. 2015-03-05T17:24:27Z froggey quit (Ping timeout: 245 seconds) 2015-03-05T17:24:33Z Belias joined #lisp 2015-03-05T17:24:36Z jackdaniel: drmeister: yes 2015-03-05T17:25:04Z drmeister: Good man - if you need any help - I've probably dug more through the ECL source code than anyone in the last couple of years. 2015-03-05T17:25:17Z zyaku joined #lisp 2015-03-05T17:25:23Z jackdaniel: drmeister: thanks :) 2015-03-05T17:25:27Z drmeister: I'm happy to help. 2015-03-05T17:25:57Z jackdaniel smiled to the monitor, what is rare, since he knows it's stupid thing to smile to computer 2015-03-05T17:26:19Z drmeister: I use all of the ECL Common Lisp source code except for the compiler. I've gone through almost all of it line-for-line. 2015-03-05T17:26:25Z beach: Bah, who knows whether the webcam is on or off. 2015-03-05T17:26:44Z pjb: Normally, there's a little led on when the webcam is on. 2015-03-05T17:26:50Z jackdaniel: hah, right now I'm lurking for regression bug in compiler unfortunately 2015-03-05T17:26:57Z gingerale joined #lisp 2015-03-05T17:27:04Z beach: pjb: And it's not controlled independently by software? 2015-03-05T17:27:06Z drmeister: I've also implemented a lot of low level C++ functions that replicate ECL C functions. 2015-03-05T17:27:14Z pjb: beach: only sometimes. :-) 2015-03-05T17:27:32Z pjb: Hence the importance of open hardware. 2015-03-05T17:27:39Z beach: Indeed. 2015-03-05T17:27:57Z beach: jackdaniel: Where is the repository? 2015-03-05T17:28:06Z jdz: "recently" there was a fuss about possibility to turn on Mac Book Pro camera without turning on the light 2015-03-05T17:28:10Z drmeister: I've also copied chunks of ECL's C code and rewritten it in C++. Bottom line - I've got a lot of experience with the ECL source code. 2015-03-05T17:28:15Z slyrus quit (Ping timeout: 252 seconds) 2015-03-05T17:28:16Z qubitnerd joined #lisp 2015-03-05T17:28:16Z mj-0 joined #lisp 2015-03-05T17:28:17Z jackdaniel: right now at gitorious.org/embeddable-common-lisp, but we're moving to gitlab.com/embeddable-common-lisp 2015-03-05T17:28:38Z jdz: they fixed the microcode, but still, the light is software-controlled 2015-03-05T17:28:45Z jdz: "fixed" 2015-03-05T17:28:45Z beach: jackdaniel: We? How many of you are there? 2015-03-05T17:28:52Z pjb: Why don't they move everything from gitorious to gitlab themselves? 2015-03-05T17:29:02Z Davidbrcz quit (Ping timeout: 245 seconds) 2015-03-05T17:29:17Z jackdaniel: pjb: there was import project button (but didn't copied wiki, so had to do it by hand) 2015-03-05T17:29:54Z jackdaniel: beach: developers - right now me, and if somebody likes to contribute, he's welcome. But there is at least a few devoted testers 2015-03-05T17:30:02Z jackdaniel: s/is/are/ 2015-03-05T17:30:21Z didpul joined #lisp 2015-03-05T17:30:58Z jackdaniel: evrim fixed autoconf and added android initial support (experimental branch) 2015-03-05T17:31:32Z drmeister: jackdaniel: How does ECL do non-local exists? setjmp/longjmp? 2015-03-05T17:31:37Z drmeister: exits 2015-03-05T17:32:12Z arnaudga quit (Ping timeout: 272 seconds) 2015-03-05T17:32:22Z mj-0 quit (Ping timeout: 245 seconds) 2015-03-05T17:32:32Z jackdaniel: I can't answer that question right now :( 2015-03-05T17:33:34Z jathd``` joined #lisp 2015-03-05T17:33:55Z drmeister: I have some gaps in my knowledge of ECL. 2015-03-05T17:34:02Z Patzy quit (Ping timeout: 245 seconds) 2015-03-05T17:34:38Z zyaku quit (Ping timeout: 252 seconds) 2015-03-05T17:34:39Z jackdaniel: we'll, I'm barely starting to gain knowledge about it - mainly by fixing bugs and understanding parts 2015-03-05T17:34:53Z Patzy joined #lisp 2015-03-05T17:34:54Z drmeister: Do you mind if I ask a few more questions about ECL - you may know some of the answers - no problem if you don't. 2015-03-05T17:34:55Z schaueho quit (Ping timeout: 255 seconds) 2015-03-05T17:34:59Z jackdaniel: also manual was realy helpful 2015-03-05T17:35:05Z jackdaniel: sure thing 2015-03-05T17:35:08Z jathd`` quit (Ping timeout: 246 seconds) 2015-03-05T17:35:09Z jackdaniel: s/realy/really/ 2015-03-05T17:35:22Z jumblerg joined #lisp 2015-03-05T17:35:39Z drmeister: How does it compile literals and load-time-value? Does it generate code to recreate the object at load-time? 2015-03-05T17:36:24Z _bcs_ left #lisp 2015-03-05T17:36:58Z drmeister: These are things that I'm curious about but haven't spent the time digging into the ECL code to figure out. 2015-03-05T17:37:20Z jackdaniel feels more embarassed. 2015-03-05T17:37:20Z drmeister: I came up with ways to do them in Clasp and I'm curious about the solutions that were developed for ECL. 2015-03-05T17:37:38Z jackdaniel: my knowledge about ecl is for sure worse then yours 2015-03-05T17:37:44Z drmeister: Oh dear - that was not the intention. I've spent years looking at the ECL code and I don't know the answers either. 2015-03-05T17:38:23Z drmeister: Ok, no problem. 2015-03-05T17:38:26Z jackdaniel: in a year or so I think I will be able to answer at least *some* questions, but for time beeing im afraid it's no use 2015-03-05T17:39:04Z shrdlu68 joined #lisp 2015-03-05T17:39:16Z kobain joined #lisp 2015-03-05T17:39:22Z drmeister: Ok, well as I said - I'm happy to answer any questions I can about the non-compiler Common Lisp source code. 2015-03-05T17:40:45Z jackdaniel: thanks, I'm going to execute this promise ;) :) 2015-03-05T17:41:28Z kobain quit (Max SendQ exceeded) 2015-03-05T17:41:34Z beach: jackdaniel: When will the move be complete? 2015-03-05T17:41:48Z kobain joined #lisp 2015-03-05T17:41:54Z jackdaniel: to gitlab? on 14th 2015-03-05T17:41:59Z farhaven joined #lisp 2015-03-05T17:42:02Z beach: Thanks. 2015-03-05T17:42:16Z kobain quit (Max SendQ exceeded) 2015-03-05T17:42:37Z rszeno joined #lisp 2015-03-05T17:42:38Z dkcl quit (Read error: Connection reset by peer) 2015-03-05T17:42:51Z mj-0 joined #lisp 2015-03-05T17:43:05Z jackdaniel: going to roll out fix release on saturday (put utf-8 character on top.lsp, and it made troubles for windows users) 2015-03-05T17:43:34Z shrdlu68: Hello, has anyone successfully installed cl-ncurses with quicklisp? I am getting "Attempt to call an undefined alien function" on sbcl. 2015-03-05T17:44:52Z joast joined #lisp 2015-03-05T17:45:34Z joast quit (Remote host closed the connection) 2015-03-05T17:46:28Z joast joined #lisp 2015-03-05T17:46:38Z joast quit (Remote host closed the connection) 2015-03-05T17:47:15Z kraison quit (Quit: Leaving.) 2015-03-05T17:47:34Z zyaku joined #lisp 2015-03-05T17:48:47Z przl quit (Ping timeout: 252 seconds) 2015-03-05T17:48:59Z shrdlu68 quit (Ping timeout: 245 seconds) 2015-03-05T17:49:17Z jackdaniel: drmeister: btw, if you'll find bugs in ecl parts in clasp and fix them, could you leave me a memo, so I can backport these? 2015-03-05T17:49:31Z JJJJJJJJJJ quit (Ping timeout: 252 seconds) 2015-03-05T17:50:15Z davazp quit (Ping timeout: 252 seconds) 2015-03-05T17:51:21Z drmeister: jackdaniel: I'll do that - every bug that I have found I sent to Juan Jose. 2015-03-05T17:51:31Z drmeister: I haven't found any in the last year. 2015-03-05T17:51:34Z ``Erik joined #lisp 2015-03-05T17:51:47Z wz1000 quit (Ping timeout: 250 seconds) 2015-03-05T17:52:28Z przl joined #lisp 2015-03-05T17:53:59Z drmeister: I plan to do a big ediff-directories on the latest ECL source code and compare it to the Clasp source code at some point. Then I can take advantage of the bug fixes in ECL and maybe uncover some that I made that didn't make it into the ECL source. 2015-03-05T17:54:19Z drmeister: We're all in this together. 2015-03-05T17:54:31Z joast joined #lisp 2015-03-05T17:55:49Z alvis joined #lisp 2015-03-05T17:56:16Z joast quit (Client Quit) 2015-03-05T17:56:18Z Davidbrcz joined #lisp 2015-03-05T17:57:02Z innertracks joined #lisp 2015-03-05T17:57:59Z slyrus joined #lisp 2015-03-05T17:59:17Z arenz quit (Ping timeout: 246 seconds) 2015-03-05T17:59:32Z shrdlu68 joined #lisp 2015-03-05T17:59:43Z Shinmera wrote his first binary format in CL and got it working in under a day https://filebox.tymoon.eu/file/TkRJMQ== 2015-03-05T17:59:49Z Shinmera: Flexi-Streams is pretty nice. 2015-03-05T18:00:04Z przl quit (Ping timeout: 264 seconds) 2015-03-05T18:03:32Z ruste quit (Read error: Connection reset by peer) 2015-03-05T18:04:01Z ndrei quit (Ping timeout: 244 seconds) 2015-03-05T18:04:37Z mrSpec quit (Ping timeout: 264 seconds) 2015-03-05T18:04:43Z wz1000 joined #lisp 2015-03-05T18:05:27Z shrdlu68 left #lisp 2015-03-05T18:06:04Z EvW quit (Remote host closed the connection) 2015-03-05T18:06:13Z EvW1 joined #lisp 2015-03-05T18:08:13Z kobain joined #lisp 2015-03-05T18:09:20Z taylanub: jasom: well, the standard doesn't say you have to use hash tables for your symbols, does it? I wonder how a trie would work. maybe it's moot because hashing is done at compile-time? 2015-03-05T18:10:02Z taylanub: or when is interning done?.. eh, I know too little about this to say anything much meaningful. 2015-03-05T18:10:11Z pjb: indeed. and while symbol-name should return a string, nothing says that it has to be stored anywhere: it could be reconstructed when required. 2015-03-05T18:11:27Z zyaku quit (Ping timeout: 264 seconds) 2015-03-05T18:15:16Z jackdaniel: drmeister: regarding bugs: https://gitorious.org/embeddable-common-lisp/ecl/commit/4570e2192cd376294570e2ab197169679922a3bb 2015-03-05T18:15:43Z taylanub: ECL just moved to Gitorious and now it's shutting down :( 2015-03-05T18:15:54Z jackdaniel: taylanub: it moves to gitlab 2015-03-05T18:15:59Z jackdaniel: pageup 2015-03-05T18:16:11Z jackdaniel: on 14th 2015-03-05T18:16:11Z taylanub: oh ok. (some people don't want to move to gitlab because it's not as freedom-respecting as gitorious) 2015-03-05T18:16:16Z apathor joined #lisp 2015-03-05T18:16:29Z jackdaniel: taylanub: what do you mean? 2015-03-05T18:16:38Z pjb: Yes, there's not much other choice, than running one's own git server. 2015-03-05T18:16:47Z pjb: jackdaniel: compare: gitorious.ORG vs. gitlab.COM 2015-03-05T18:17:25Z jackdaniel: yes, gitlab is commercial, but isn't it free? (commercial doesn't stay in contradiction with free imo) 2015-03-05T18:18:10Z pjb: jackdaniel: we don't care if it's gratis. We care about freedom. 2015-03-05T18:18:30Z jackdaniel: yes, but what freedoms are in danger with gitlab? 2015-03-05T18:18:34Z mrSpec joined #lisp 2015-03-05T18:18:42Z Vutral quit (Ping timeout: 256 seconds) 2015-03-05T18:19:19Z zyaku joined #lisp 2015-03-05T18:19:23Z pjb: jackdaniel: they have the data, they're owned by capitalistic interests, therefore they can _modify_ the data surreptitiously. 2015-03-05T18:20:24Z pjb: jackdaniel: they can also "exploit" it, extracting information about people using the service, and selling it to concurrent commercial or political entities. 2015-03-05T18:20:33Z pjb: jackdaniel: just use a little paranoia! 2015-03-05T18:21:04Z jackdaniel: hmm, its mit license, so anyone can fork it, unless you refere to something else with data 2015-03-05T18:21:10Z c4h quit (Quit: quit) 2015-03-05T18:21:34Z pjb: jackdaniel: what proves that the code they run on their servers is exactly the same as what you fork? 2015-03-05T18:21:57Z pjb: The point is that it'd be safer to indeed do fork it, audit it, and run it on your own servers. 2015-03-05T18:22:03Z Davidbrcz quit (Ping timeout: 246 seconds) 2015-03-05T18:22:16Z jackdaniel: what proves, that gitorious service was running same code as well? 2015-03-05T18:22:24Z pjb: exactly. 2015-03-05T18:22:52Z jackdaniel: I'm asking about difference between gitlab and gitorious regardgin freedoms, not if not-audited servers or safe 2015-03-05T18:23:05Z jackdaniel: it's more lispcafe discussion tough 2015-03-05T18:23:38Z pjb: The question is how you can get them. If it's a capitalist corporation, then you can get them with money, ie. the one who have the money can get you. If it's an organization that has higher interests, then it may harder to get to you thru it. 2015-03-05T18:23:39Z jackdaniel: s/regardgin/regarding/ 2015-03-05T18:23:40Z Mon_Ouie joined #lisp 2015-03-05T18:23:43Z malbertife joined #lisp 2015-03-05T18:23:46Z pjb: right. 2015-03-05T18:24:14Z ggole quit 2015-03-05T18:26:09Z Alfr quit (Quit: Leaving) 2015-03-05T18:27:08Z pt1 joined #lisp 2015-03-05T18:27:33Z hedge256 joined #lisp 2015-03-05T18:27:40Z hedge256 is now known as hedge 2015-03-05T18:28:44Z hedge quit (Client Quit) 2015-03-05T18:28:54Z innertracks quit (Ping timeout: 256 seconds) 2015-03-05T18:30:31Z liqu0rice joined #lisp 2015-03-05T18:32:27Z arnaudga joined #lisp 2015-03-05T18:32:38Z innertracks joined #lisp 2015-03-05T18:33:15Z holycow joined #lisp 2015-03-05T18:33:36Z holycow is now known as Guest67024 2015-03-05T18:35:18Z mj-0 quit (Remote host closed the connection) 2015-03-05T18:35:27Z ndrei joined #lisp 2015-03-05T18:36:58Z gklimowicz quit (Read error: Connection reset by peer) 2015-03-05T18:37:01Z Vutral joined #lisp 2015-03-05T18:37:43Z ajtulloc_ joined #lisp 2015-03-05T18:38:03Z beach left #lisp 2015-03-05T18:38:37Z xyh joined #lisp 2015-03-05T18:38:59Z Bicyclidine joined #lisp 2015-03-05T18:39:24Z joast joined #lisp 2015-03-05T18:39:40Z joast quit (Remote host closed the connection) 2015-03-05T18:40:29Z ajtulloch quit (Ping timeout: 252 seconds) 2015-03-05T18:41:30Z ajtulloch joined #lisp 2015-03-05T18:42:35Z gklimowicz joined #lisp 2015-03-05T18:43:09Z joast joined #lisp 2015-03-05T18:44:15Z salva joined #lisp 2015-03-05T18:45:15Z ajtulloc_ quit (Ping timeout: 252 seconds) 2015-03-05T18:45:19Z joast quit (Client Quit) 2015-03-05T18:45:47Z joast joined #lisp 2015-03-05T18:46:28Z joast quit (Client Quit) 2015-03-05T18:46:53Z rszeno quit (Ping timeout: 240 seconds) 2015-03-05T18:49:00Z joast joined #lisp 2015-03-05T18:49:10Z joast quit (Client Quit) 2015-03-05T18:49:38Z apathor quit (Quit: :|) 2015-03-05T18:49:45Z joast joined #lisp 2015-03-05T18:49:58Z admg joined #lisp 2015-03-05T18:50:44Z zacharias joined #lisp 2015-03-05T18:50:59Z joast quit (Client Quit) 2015-03-05T18:51:59Z joast joined #lisp 2015-03-05T18:53:24Z Jaskologist joined #lisp 2015-03-05T18:55:24Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-03-05T18:55:38Z xan_ quit (Ping timeout: 265 seconds) 2015-03-05T18:56:20Z oleo_ joined #lisp 2015-03-05T18:58:22Z oleo quit (Ping timeout: 256 seconds) 2015-03-05T18:59:04Z linux_dream quit (Quit: Leaving) 2015-03-05T18:59:47Z Belias quit (Ping timeout: 246 seconds) 2015-03-05T19:00:33Z cadadar joined #lisp 2015-03-05T19:01:54Z Belias joined #lisp 2015-03-05T19:02:54Z EvW1 quit (Ping timeout: 256 seconds) 2015-03-05T19:03:33Z Belias quit (Client Quit) 2015-03-05T19:04:44Z rszeno joined #lisp 2015-03-05T19:05:25Z Wojciech_K quit (Ping timeout: 252 seconds) 2015-03-05T19:06:04Z Wojciech_K joined #lisp 2015-03-05T19:06:16Z zadock joined #lisp 2015-03-05T19:06:39Z taylanub: jackdaniel: gitlab.com runs on the proprietary "GitLab EE" or some such 2015-03-05T19:08:55Z mj-0 joined #lisp 2015-03-05T19:10:25Z zyaku quit (Ping timeout: 256 seconds) 2015-03-05T19:10:31Z pt1 quit (Remote host closed the connection) 2015-03-05T19:14:17Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:14:52Z mj-0 joined #lisp 2015-03-05T19:15:40Z hiroakip joined #lisp 2015-03-05T19:15:55Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:16:30Z mj-0 joined #lisp 2015-03-05T19:17:33Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:17:59Z ovenpasta quit (Ping timeout: 246 seconds) 2015-03-05T19:18:07Z mj-0 joined #lisp 2015-03-05T19:19:10Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:19:46Z mj-0 joined #lisp 2015-03-05T19:20:49Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:21:24Z mj-0 joined #lisp 2015-03-05T19:22:22Z kcj joined #lisp 2015-03-05T19:23:22Z fragamus joined #lisp 2015-03-05T19:25:23Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:28:25Z radioninja joined #lisp 2015-03-05T19:28:49Z a2015_ joined #lisp 2015-03-05T19:33:48Z paradoja quit (Ping timeout: 272 seconds) 2015-03-05T19:34:41Z fragamus quit (Quit: Computer has gone to sleep.) 2015-03-05T19:38:50Z Fade: I'm glad ECL is going to be maintained. Why gitorious/gitlab and not github? 2015-03-05T19:38:58Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-05T19:39:43Z jackdaniel: Fade: main reason to use gitorious was that it's more project-centric then user-centric 2015-03-05T19:40:14Z Fade: ah 2015-03-05T19:40:24Z Fade: I've never used it, so I was curious. 2015-03-05T19:42:40Z nalssee quit (Ping timeout: 272 seconds) 2015-03-05T19:42:51Z EvW joined #lisp 2015-03-05T19:45:06Z arnaudga quit (Quit: Quitte) 2015-03-05T19:45:32Z JuanDaugherty quit (Quit: Hibernate, etc.) 2015-03-05T19:45:37Z liqu0rice quit (Quit: leaving) 2015-03-05T19:46:39Z jasom: To throw another option in the hat, I've been using phabricator to host my own projects; it's quite nice. It was originally for svn so had a code-review tool that doesn't involve pull-requests; I actually like it better than githubs PRs, but it does require people to learn another tool to submit a patch. 2015-03-05T19:46:56Z mj-0 joined #lisp 2015-03-05T19:47:02Z JJaskologist joined #lisp 2015-03-05T19:47:07Z mrSpec quit (Quit: mrSpec) 2015-03-05T19:48:54Z nikki93_ joined #lisp 2015-03-05T19:50:17Z Jaskologist quit (Ping timeout: 245 seconds) 2015-03-05T19:51:14Z jackdaniel: if type specifier looks like (VALUES (OR DOUBLE-FLOAT SYMBOL) &OPTIONAL T &OPTIONAL T), then it's an error, or optional is (T T) ? 2015-03-05T19:52:07Z pjb: The syntax for type specifier VALUES is: value-typespec::= typespec* [&optional typespec*] [&rest typespec] [&allow-other-keys] 2015-03-05T19:52:13Z pjb: I see a single &optional here. 2015-03-05T19:52:34Z ajtulloch quit (Remote host closed the connection) 2015-03-05T19:52:35Z Davidbrcz joined #lisp 2015-03-05T19:52:39Z mj-0 quit (Remote host closed the connection) 2015-03-05T19:52:46Z pjb: (values t &optional t t) for between 1 and 3 values. 2015-03-05T19:53:06Z JJJJJJJJJJ joined #lisp 2015-03-05T19:53:16Z Fade: isn't it illegal to name a variable shadowing a defined constant? 2015-03-05T19:53:26Z innertracks quit (Ping timeout: 272 seconds) 2015-03-05T19:53:27Z pjb: &optional is not a constant. 2015-03-05T19:53:39Z pjb: Fade: but otherwise, yes. 2015-03-05T19:53:49Z pjb: That's why constants are +named+. 2015-03-05T19:53:52Z jackdaniel: ok, so further "optionals" are just keywords 2015-03-05T19:54:01Z jackdaniel: so i found a bug and solution, thanks! 2015-03-05T19:54:01Z jackdaniel: :) 2015-03-05T19:54:29Z pjb: jackdaniel: you would need a type named &optional for your type spec to be meaningful (in a puzzling way). 2015-03-05T19:54:42Z yrk quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2015-03-05T19:54:45Z jackdaniel: yes, im hunting regression on :lapack for ecl 2015-03-05T19:55:03Z ajtulloch joined #lisp 2015-03-05T19:55:14Z jackdaniel: if there is no such type, then error will be thrown later 2015-03-05T19:55:17Z Fade: well, in that lambda list '&optional t' set's t up to be a local var, unless I'm wrong. :) 2015-03-05T19:55:31Z pjb: Fade: it's a type specifier. 2015-03-05T19:55:34Z Bicyclidine quit (Ping timeout: 265 seconds) 2015-03-05T19:55:39Z Fade: ah 2015-03-05T19:55:46Z Fade: thanks 2015-03-05T19:56:09Z jackdaniel: so optional should be therefore '(t &optional t) 2015-03-05T19:56:40Z jackdaniel: fun way of learning btw 2015-03-05T19:57:15Z nell: jackdaniel are you THE jackdaniel? 2015-03-05T19:57:25Z JJaskologist quit (Ping timeout: 264 seconds) 2015-03-05T19:57:58Z jackdaniel: upcase is unnecessary, but if you ask about ecl maintainership, then yes 2015-03-05T19:58:02Z jackdaniel: neither 'the 2015-03-05T19:58:18Z jackdaniel: but no, not it sec guy 2015-03-05T19:58:30Z nell: you aren't the bearded sec guy? 2015-03-05T19:58:37Z jackdaniel: dejavu 2015-03-05T19:58:39Z nell: Hahaha good one Jack 2015-03-05T19:58:40Z jackdaniel: no 2015-03-05T19:58:57Z nell: I can imagine you stroking that beard right now but okay I'll play along 2015-03-05T19:59:05Z innertracks joined #lisp 2015-03-05T19:59:15Z nell: I'm from Tennessee and I keep your business card in a protective card sleeve 2015-03-05T19:59:19Z jackdaniel has a beard, but nothing like his 2015-03-05T19:59:19Z nell: just going to put that out there 2015-03-05T19:59:31Z Xach: nell: Stop. 2015-03-05T19:59:36Z nell: I am now. 2015-03-05T20:00:31Z schaueho joined #lisp 2015-03-05T20:02:06Z ruste joined #lisp 2015-03-05T20:02:17Z alvis` joined #lisp 2015-03-05T20:02:31Z alvis quit (Ping timeout: 255 seconds) 2015-03-05T20:03:58Z selat quit (Quit: Lost terminal) 2015-03-05T20:09:02Z scarygelatin quit (Ping timeout: 245 seconds) 2015-03-05T20:10:19Z ajtulloch quit (Ping timeout: 252 seconds) 2015-03-05T20:10:57Z scarygelatin joined #lisp 2015-03-05T20:12:03Z ajtulloch joined #lisp 2015-03-05T20:12:22Z Bicyclidine joined #lisp 2015-03-05T20:15:11Z monod joined #lisp 2015-03-05T20:15:34Z Harag quit (Ping timeout: 255 seconds) 2015-03-05T20:17:25Z innertracks quit (Remote host closed the connection) 2015-03-05T20:17:49Z innertracks joined #lisp 2015-03-05T20:21:09Z gko__ quit (Quit: Connection closed for inactivity) 2015-03-05T20:22:30Z gravicappa quit (Remote host closed the connection) 2015-03-05T20:23:56Z monod: hello god lispers 2015-03-05T20:24:29Z Xach: nobody here fits that description 2015-03-05T20:25:27Z rszeno quit (Read error: Connection reset by peer) 2015-03-05T20:27:06Z jasom booms out of a burning bush: SPEAK FOR YOURSELF XACH 2015-03-05T20:27:51Z dim: who wants to be held responsible for any failure anyone else would see in the whole plan? not me, for sure... 2015-03-05T20:29:02Z jlongster quit (Ping timeout: 256 seconds) 2015-03-05T20:29:46Z monod: jasom, lol :D 2015-03-05T20:29:57Z monod: Xach, you can read that this way: "hello good* lispers" 2015-03-05T20:29:59Z monod: :P 2015-03-05T20:30:19Z monod: btw, welcome back, noisy, "headachey", monod! :P 2015-03-05T20:30:48Z mj-0 joined #lisp 2015-03-05T20:31:17Z Xach: phew! 2015-03-05T20:31:22Z josemanuel joined #lisp 2015-03-05T20:34:16Z Davidbrcz quit (Ping timeout: 264 seconds) 2015-03-05T20:34:29Z burtons`: load-time-value...does anybody have any idea how this would be implemented by the compiler? 2015-03-05T20:35:17Z burtons`: or better yet, know how it is implemented by a compiler? 2015-03-05T20:35:44Z White_Flame: I would presume it's a lazy evaluation 2015-03-05T20:35:48Z jasom: burtons`: sbcl is easy to get to with M-. if you have slime and the sbcl sources installed 2015-03-05T20:36:01Z jasom: I think drmeister may have recently touched that in his lisp implementation too 2015-03-05T20:36:07Z burtons`: jasom: true enough 2015-03-05T20:36:40Z drmeister: burtons`: What do you wish to know? 2015-03-05T20:36:48Z White_Flame: Implementations also would have a list of load-time lambdas to run to initialize various things, and could populate a table of load-time-values at such a time 2015-03-05T20:36:52Z burtons`: it's something the mezzano compiler doesn't implement 2015-03-05T20:37:03Z burtons`: i tried compiling ironclad and ran into it 2015-03-05T20:37:17Z Bicyclidine: well, basically if COMPILE runs into load-time-value it evaluates the form right then (at compile time) 2015-03-05T20:37:38Z Bicyclidine: and if COMPILE-FILE runs into it, it makes a note in the fasl to evaluate this form at load time, and for the value to show up wherever the load-time-value call was 2015-03-05T20:38:03Z burtons`: i thought one could transform the statement into an (eval (read-from-string "expr")), but that still gets evaluated at run time and doesn't give the correct scemantics 2015-03-05T20:38:24Z nalssee joined #lisp 2015-03-05T20:38:29Z Bicyclidine: yes, that would be wrong 2015-03-05T20:39:06Z Bicyclidine: you'll probably need to modify the compiler in a more involved way than a macro definition 2015-03-05T20:39:11Z White_Flame: the spec declares the body evaluates in a null lexical environment, so there's no weird hangups for closure variables 2015-03-05T20:39:20Z drmeister: burtons`: It has to be built into the compiler. 2015-03-05T20:39:37Z burtons`: drmeister: yes, i see that. 2015-03-05T20:40:09Z jasom: also COMPILE and COMPILE-FILE treat it differently 2015-03-05T20:40:20Z edgar-rft joined #lisp 2015-03-05T20:40:26Z burtons`: yes 2015-03-05T20:40:50Z prxq joined #lisp 2015-03-05T20:40:57Z burtons`: just starting to think about implementing it, it's my first look at the mezzano compiler 2015-03-05T20:41:02Z drmeister: I don't know anything about the Mezzano compiler. 2015-03-05T20:41:12Z burtons`: me neither, yet 2015-03-05T20:42:08Z drmeister: I'm surprised that it doesn't have load-time-value - it's pretty easy to implement alongside compilation of literals. 2015-03-05T20:42:18Z mj-0 quit (Remote host closed the connection) 2015-03-05T20:43:09Z drmeister: At least it was for Clasp - because I generate code to generate literals. I don't know what Mezzano does. 2015-03-05T20:43:25Z nalssee quit (Ping timeout: 265 seconds) 2015-03-05T20:43:38Z Shinmera: I guess qtools won't work for Mezzano either then :V 2015-03-05T20:43:57Z burtons`: i don't think it fit into his architecture easily, but he might just not have had time to think about it 2015-03-05T20:44:05Z burtons`: what's qtools? 2015-03-05T20:44:39Z Shinmera: A library to make working with CommonQt easier. 2015-03-05T20:44:45Z burtons`: ah 2015-03-05T20:45:10Z burtons`: well, i doubt qt has been ported to mezzano, so it might not be an issue 2015-03-05T20:45:12Z Shinmera: The joke is that it wouldn't work anyway even without l-t-v. 2015-03-05T20:45:12Z burtons`: :) 2015-03-05T20:45:21Z Shinmera: Yeah. 2015-03-05T20:47:21Z jlongster joined #lisp 2015-03-05T20:54:25Z kushal quit (Quit: Leaving) 2015-03-05T20:54:25Z KarlDscc quit (Remote host closed the connection) 2015-03-05T20:55:05Z Wojciech_K quit (Quit: Leaving) 2015-03-05T20:57:51Z nalssee joined #lisp 2015-03-05T20:58:14Z Bahman quit (Quit: Ave atque vale) 2015-03-05T20:59:29Z mrSpec joined #lisp 2015-03-05T21:02:42Z ajtulloch quit (Read error: Connection reset by peer) 2015-03-05T21:02:56Z ajtulloch joined #lisp 2015-03-05T21:03:54Z ajtulloc_ joined #lisp 2015-03-05T21:04:11Z ajtulloch quit (Read error: Connection reset by peer) 2015-03-05T21:10:14Z innertracks quit (Ping timeout: 252 seconds) 2015-03-05T21:12:16Z scarygelatin quit (Ping timeout: 255 seconds) 2015-03-05T21:12:25Z schaueho quit (Ping timeout: 250 seconds) 2015-03-05T21:14:08Z scarygelatin joined #lisp 2015-03-05T21:20:46Z josemanuel quit (Quit: Saliendo) 2015-03-05T21:22:47Z innertracks joined #lisp 2015-03-05T21:23:12Z schoppenhauer: hm. why does compress with 'deflate-compressor and 'zlib-compressor return the same? 2015-03-05T21:26:50Z Bicyclidine: zlib is deflate, isn't it? 2015-03-05T21:28:45Z schoppenhauer: no 2015-03-05T21:28:55Z schoppenhauer: zlib is a wrapper around deflate 2015-03-05T21:30:07Z bb010g quit (Quit: Connection closed for inactivity) 2015-03-05T21:30:08Z fierydiarreha joined #lisp 2015-03-05T21:31:04Z angavrilov quit (Remote host closed the connection) 2015-03-05T21:32:28Z dim: is there a CL native SSL/TLS implementation? 2015-03-05T21:32:51Z pjb: I don't think so. 2015-03-05T21:32:59Z Shinmera: I wish. 2015-03-05T21:33:01Z pjb: If there was one, there'd be no point in libressl. 2015-03-05T21:33:18Z innertracks quit (Quit: innertracks) 2015-03-05T21:33:28Z pjb: dim: that is, this is your next opportunity! :-) 2015-03-05T21:33:36Z dim: for "us" at least, also, see the ocaml based implementation of TLS for mirageos 2015-03-05T21:33:43Z innertracks joined #lisp 2015-03-05T21:33:56Z dim: https://tls.openmirage.org/ 2015-03-05T21:34:16Z dim: https://github.com/mirleft/ocaml-tls too 2015-03-05T21:34:32Z dim: pjb: I don't want to have to write that code, thanks 2015-03-05T21:35:00Z pjb: if there's an implementation in a functional language, one cool thing to do would be to write a translator to generate lisp code from it. 2015-03-05T21:35:03Z dim: but I wish I could stop depending on non-CL code to deploy my apps as binary images, making them fully self-contained 2015-03-05T21:35:07Z burtons`: well, all you have to handle is TLS 1.2 now...the rest are all deprecated I think 2015-03-05T21:35:31Z burtons`: or at least they are at my job 2015-03-05T21:35:44Z Shinmera: Deprecated doesn't mean not in use. 2015-03-05T21:36:57Z burtons`: just sayin' 2015-03-05T21:37:15Z ovenpasta joined #lisp 2015-03-05T21:38:13Z dim: pjb: also I already have another project in the baking, complementing pgloader, that I still maintain and want to improve a lot (more parallelism, more input format and databases support, more output options have been asked, etc etc) 2015-03-05T21:43:07Z attila_lendvai joined #lisp 2015-03-05T21:43:09Z Bicyclidine quit (Ping timeout: 245 seconds) 2015-03-05T21:43:26Z mj-0 joined #lisp 2015-03-05T21:43:31Z theseb quit (Quit: Leaving) 2015-03-05T21:48:11Z Bicyclidine joined #lisp 2015-03-05T21:52:43Z ajtulloc_ quit (Read error: Connection reset by peer) 2015-03-05T21:52:50Z xan_ joined #lisp 2015-03-05T21:53:07Z ajtulloch joined #lisp 2015-03-05T21:53:21Z jasom: burtons`: My phone only supports SSL 3 2015-03-05T21:55:28Z jmignault left #lisp 2015-03-05T21:55:33Z innertracks quit (Ping timeout: 246 seconds) 2015-03-05T21:55:39Z jtza8 quit (Remote host closed the connection) 2015-03-05T21:56:53Z EvW quit (Ping timeout: 265 seconds) 2015-03-05T21:57:04Z didpul quit (Ping timeout: 264 seconds) 2015-03-05T21:58:34Z ndrei quit (Ping timeout: 245 seconds) 2015-03-05T22:00:45Z ndrei joined #lisp 2015-03-05T22:01:04Z innertracks joined #lisp 2015-03-05T22:02:01Z ajtulloch quit (Remote host closed the connection) 2015-03-05T22:02:34Z ajtulloch joined #lisp 2015-03-05T22:03:37Z Fullma quit (Ping timeout: 245 seconds) 2015-03-05T22:06:31Z gabriel_laddel joined #lisp 2015-03-05T22:06:34Z Fullma joined #lisp 2015-03-05T22:07:04Z tajjada quit (Ping timeout: 256 seconds) 2015-03-05T22:08:28Z larion joined #lisp 2015-03-05T22:08:41Z prxq quit (Remote host closed the connection) 2015-03-05T22:08:50Z mj-0 quit (Remote host closed the connection) 2015-03-05T22:09:02Z tajjada joined #lisp 2015-03-05T22:11:09Z EvW joined #lisp 2015-03-05T22:13:52Z gabriel_laddel quit (Remote host closed the connection) 2015-03-05T22:15:22Z monod quit (Quit: Sto andando via) 2015-03-05T22:15:43Z innertracks quit (Ping timeout: 256 seconds) 2015-03-05T22:18:44Z malbertife quit (Ping timeout: 244 seconds) 2015-03-05T22:21:50Z BitPuffin quit (Ping timeout: 244 seconds) 2015-03-05T22:23:23Z Petit_Dejeuner joined #lisp 2015-03-05T22:23:25Z Petit_Dejeuner: join #lispgames 2015-03-05T22:23:38Z Petit_Dejeuner: sorry, wrong buffer 2015-03-05T22:24:01Z Jaskologist joined #lisp 2015-03-05T22:24:43Z JJJJJJJJJJ quit (Ping timeout: 255 seconds) 2015-03-05T22:28:47Z zyaku joined #lisp 2015-03-05T22:39:25Z zyaku quit (Ping timeout: 264 seconds) 2015-03-05T22:39:31Z gingerale quit (Ping timeout: 256 seconds) 2015-03-05T22:39:34Z DeadTrickster quit (Read error: No route to host) 2015-03-05T22:43:54Z munksgaard quit (Ping timeout: 256 seconds) 2015-03-05T22:45:17Z wheelsucker quit (Quit: Client Quit) 2015-03-05T22:45:55Z pyon left #lisp 2015-03-05T22:48:01Z emaczen joined #lisp 2015-03-05T22:49:31Z emaczen quit (Remote host closed the connection) 2015-03-05T22:51:26Z arnaudga joined #lisp 2015-03-05T22:53:22Z nikki93_ quit (Remote host closed the connection) 2015-03-05T22:53:40Z DeadTrickster joined #lisp 2015-03-05T22:58:34Z didpul joined #lisp 2015-03-05T22:59:12Z slyrus quit (Ping timeout: 256 seconds) 2015-03-05T22:59:32Z vdamewood joined #lisp 2015-03-05T22:59:40Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-03-05T23:01:16Z EvW quit (Quit: EvW) 2015-03-05T23:01:45Z ajtulloc_ joined #lisp 2015-03-05T23:01:55Z ajtulloch quit (Ping timeout: 252 seconds) 2015-03-05T23:05:35Z fierydiarreha quit (Ping timeout: 252 seconds) 2015-03-05T23:05:53Z Vivitron` joined #lisp 2015-03-05T23:09:17Z Pastaf_ joined #lisp 2015-03-05T23:09:20Z ajtulloc_ quit (Remote host closed the connection) 2015-03-05T23:09:24Z innertracks joined #lisp 2015-03-05T23:09:38Z Pastaf_ is now known as Pastaf 2015-03-05T23:11:02Z ovenpasta quit (Ping timeout: 272 seconds) 2015-03-05T23:11:08Z cadadar quit (Quit: Leaving.) 2015-03-05T23:11:36Z clintm quit (Ping timeout: 252 seconds) 2015-03-05T23:12:44Z fierydiarreha joined #lisp 2015-03-05T23:12:48Z ajtulloch joined #lisp 2015-03-05T23:13:36Z mrSpec quit (Quit: mrSpec) 2015-03-05T23:14:56Z faheem_ joined #lisp 2015-03-05T23:14:56Z burtons` quit (Read error: Connection reset by peer) 2015-03-05T23:16:53Z pyon joined #lisp 2015-03-05T23:19:18Z sunwukong quit (Ping timeout: 252 seconds) 2015-03-05T23:20:30Z ndrei quit (Ping timeout: 265 seconds) 2015-03-05T23:22:04Z ndrei joined #lisp 2015-03-05T23:26:53Z theseb joined #lisp 2015-03-05T23:32:38Z urandom__ quit (Quit: Konversation terminated!) 2015-03-05T23:35:17Z attila_lendvai quit (Ping timeout: 245 seconds) 2015-03-05T23:36:12Z Zotan joined #lisp 2015-03-05T23:38:26Z mishoo quit (Ping timeout: 246 seconds) 2015-03-05T23:39:42Z admg quit (Quit: Laptop gone to sleep...) 2015-03-05T23:41:06Z enaden joined #lisp 2015-03-05T23:41:13Z xan_ quit (Ping timeout: 264 seconds) 2015-03-05T23:43:43Z dfox quit (Ping timeout: 252 seconds) 2015-03-05T23:44:33Z admg joined #lisp 2015-03-05T23:45:38Z stepnem quit (Ping timeout: 265 seconds) 2015-03-05T23:48:05Z fierydiarreha quit (Ping timeout: 256 seconds) 2015-03-05T23:51:04Z innertracks quit (Ping timeout: 245 seconds) 2015-03-05T23:52:09Z jlongster quit (Ping timeout: 252 seconds) 2015-03-05T23:55:12Z fierydiarreha joined #lisp 2015-03-05T23:56:17Z a2015_ quit (Quit: Page closed) 2015-03-05T23:56:47Z Ethan- joined #lisp 2015-03-05T23:58:25Z admg quit (Quit: Laptop gone to sleep...)