2014-12-10T00:01:06Z galdor joined #lisp 2014-12-10T00:01:06Z attila_lendvai quit (Read error: Connection reset by peer) 2014-12-10T00:01:28Z s00pcan quit (Ping timeout: 255 seconds) 2014-12-10T00:03:05Z attila_lendvai joined #lisp 2014-12-10T00:03:05Z attila_lendvai quit (Changing host) 2014-12-10T00:03:05Z attila_lendvai joined #lisp 2014-12-10T00:04:45Z Quadrescence joined #lisp 2014-12-10T00:05:09Z octophore joined #lisp 2014-12-10T00:05:10Z octophore quit (Excess Flood) 2014-12-10T00:05:39Z octophore joined #lisp 2014-12-10T00:08:10Z LiamH quit (Quit: Leaving.) 2014-12-10T00:08:53Z octophore_ quit (Ping timeout: 260 seconds) 2014-12-10T00:10:10Z Jesin quit (Quit: Leaving) 2014-12-10T00:12:13Z Jesin joined #lisp 2014-12-10T00:15:24Z theseb quit (Quit: Leaving) 2014-12-10T00:19:14Z lols joined #lisp 2014-12-10T00:20:38Z oleo is now known as Guest2221 2014-12-10T00:22:22Z oleo__ joined #lisp 2014-12-10T00:22:30Z k-dawg joined #lisp 2014-12-10T00:22:44Z nikki93_ quit (Remote host closed the connection) 2014-12-10T00:23:28Z Guest2221 quit (Ping timeout: 258 seconds) 2014-12-10T00:24:54Z Guthur joined #lisp 2014-12-10T00:26:44Z _zxq9_ quit (Quit: Konversation terminated!) 2014-12-10T00:29:56Z araujo joined #lisp 2014-12-10T00:29:56Z araujo quit (Changing host) 2014-12-10T00:29:56Z araujo joined #lisp 2014-12-10T00:33:39Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-10T00:34:23Z Guthur: Hi, does anyone know of a implementation portable lib for Allegro Graph? 2014-12-10T00:35:20Z blahzik__: ? 2014-12-10T00:37:42Z jtza8 quit (Remote host closed the connection) 2014-12-10T00:37:44Z Xach: Guthur: client? 2014-12-10T00:39:26Z attila_lendvai quit (Read error: Connection reset by peer) 2014-12-10T00:39:41Z chitofan joined #lisp 2014-12-10T00:41:02Z attila_lendvai joined #lisp 2014-12-10T00:41:02Z attila_lendvai quit (Changing host) 2014-12-10T00:41:02Z attila_lendvai joined #lisp 2014-12-10T00:45:25Z attila_lendvai quit (Read error: Connection reset by peer) 2014-12-10T00:45:28Z s00pcan joined #lisp 2014-12-10T00:45:57Z attila_lendvai joined #lisp 2014-12-10T00:45:57Z attila_lendvai quit (Changing host) 2014-12-10T00:45:57Z attila_lendvai joined #lisp 2014-12-10T00:46:41Z nikki93_ joined #lisp 2014-12-10T00:49:30Z harish quit (Ping timeout: 264 seconds) 2014-12-10T00:49:57Z nikki93_ quit (Remote host closed the connection) 2014-12-10T00:54:53Z scymtym_ joined #lisp 2014-12-10T01:00:55Z Guthur: Xach, yeah 2014-12-10T01:01:45Z Guthur: I'm interested in using AllegroGraph in an application, and was hoping that there might be a freely available client lib for CL 2014-12-10T01:02:59Z eudoxia joined #lisp 2014-12-10T01:03:21Z dim: pjb: c.l.l. is already usable, just ignore'em 2014-12-10T01:04:49Z dim: Xach: #107... any link? 2014-12-10T01:05:13Z dim: https://github.com/quicklisp/quicklisp-client/issues/107 I guess 2014-12-10T01:07:00Z dim: I won't pretend I understand why it's safe to keep only the filename parts before the / because I sure don't 2014-12-10T01:07:28Z dim: going to sleep and tomorrow when sober have another look 2014-12-10T01:07:30Z dim: gn 2014-12-10T01:10:25Z Jesin quit (Ping timeout: 252 seconds) 2014-12-10T01:11:06Z Jesin joined #lisp 2014-12-10T01:11:35Z jusss` joined #lisp 2014-12-10T01:14:14Z Jesin quit (Max SendQ exceeded) 2014-12-10T01:14:51Z Jesin joined #lisp 2014-12-10T01:17:48Z pjb: dim: agreed, it's for the newbies who don't know killfiles or use google groups. 2014-12-10T01:24:31Z chitofan quit (Ping timeout: 246 seconds) 2014-12-10T01:24:37Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-10T01:28:03Z lols: ;p 2014-12-10T01:28:38Z Xach missed his chance 2014-12-10T01:29:32Z attila_lendvai quit (Quit: Leaving.) 2014-12-10T01:33:30Z crumbles joined #lisp 2014-12-10T01:33:44Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-10T01:40:57Z MightyJoe quit (Ping timeout: 240 seconds) 2014-12-10T01:41:00Z EvW quit (Ping timeout: 265 seconds) 2014-12-10T01:41:24Z towodo joined #lisp 2014-12-10T01:45:25Z MightyJoe joined #lisp 2014-12-10T01:47:30Z innertracks quit (Ping timeout: 250 seconds) 2014-12-10T01:47:56Z eudoxia quit (Quit: Leaving) 2014-12-10T01:56:19Z fragamus joined #lisp 2014-12-10T01:56:41Z jusss` quit (Ping timeout: 260 seconds) 2014-12-10T02:04:23Z Bike quit (Quit: Lost terminal) 2014-12-10T02:04:51Z Bike joined #lisp 2014-12-10T02:05:33Z hlavaty quit (Ping timeout: 260 seconds) 2014-12-10T02:11:14Z zRecursive joined #lisp 2014-12-10T02:11:15Z jusss` joined #lisp 2014-12-10T02:16:48Z yrk quit (Read error: Connection reset by peer) 2014-12-10T02:22:30Z MoALTz_ joined #lisp 2014-12-10T02:24:08Z towodo quit (Quit: towodo) 2014-12-10T02:25:12Z MoALTz quit (Ping timeout: 250 seconds) 2014-12-10T02:28:39Z Guest77499 left #lisp 2014-12-10T02:30:49Z frkout_ joined #lisp 2014-12-10T02:33:20Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T02:34:08Z frkout quit (Ping timeout: 244 seconds) 2014-12-10T02:36:06Z edgar-rft joined #lisp 2014-12-10T02:37:33Z nikki93_ joined #lisp 2014-12-10T02:40:42Z stacksmith quit (Ping timeout: 258 seconds) 2014-12-10T02:48:45Z stepnem quit (Ping timeout: 258 seconds) 2014-12-10T02:49:17Z stacksmith joined #lisp 2014-12-10T03:03:12Z beach joined #lisp 2014-12-10T03:03:26Z beach: Good morning everyone! 2014-12-10T03:03:45Z drmeister: Hello beach. 2014-12-10T03:04:22Z drmeister: Regarding tracking source info. It's a pretty tricky problem. 2014-12-10T03:04:47Z beach: It is, yes. What particular aspect are you thinking of? 2014-12-10T03:05:09Z drmeister: As soon as forms go through backquote processing many of the conses of the source have no source info associated with them. 2014-12-10T03:05:12Z beach: drewc, pjb: I thought there was something wrong with your argument about the LOOP keyword DO. It only accepts compound forms as arguments. 2014-12-10T03:05:33Z pjb: Ah right. Sorry. 2014-12-10T03:05:38Z beach: drmeister: Right. 2014-12-10T03:05:55Z drmeister: I have my reader associate source information with conses as they are read - that's no problem. 2014-12-10T03:06:09Z drmeister: But I can't associate symbols or other atoms. 2014-12-10T03:06:44Z beach: drmeister: Yes, I know the problem. 2014-12-10T03:06:51Z drmeister: Is there a solution? 2014-12-10T03:07:21Z drmeister: I've been thinking of taking the top level form and flowing source information down after macros are expanded. 2014-12-10T03:07:59Z Colleen quit (Quit: See you, space cowboy...) 2014-12-10T03:08:24Z drmeister: That would associate source info with every cons but I'm not sure that it would be correct. 2014-12-10T03:08:34Z beach: Even in source code, you have the problem of #n# and #n= 2014-12-10T03:09:05Z drmeister: Right. 2014-12-10T03:09:08Z Bike: getting the right toplevel form is all i usually get, really 2014-12-10T03:09:16Z beach: Then, a macro can rearrange the conses arbitrarily. 2014-12-10T03:09:46Z Bike: and it's generally enough unless i'm looking at something with nested macrolets or whatever. like sbcl. woo 2014-12-10T03:09:51Z beach: But it typically isn't that arbitrary. 2014-12-10T03:10:20Z drmeister: What are the best practices? 2014-12-10T03:11:11Z beach: drmeister: Maybe Bike knows. I haven't looked at what implementations typically do. 2014-12-10T03:12:33Z Bike: not very well. I'm just used to, e.g., sbcl sources finding me a progn when i M-. one of the nine functions in the progn. dunno how it's done. 2014-12-10T03:13:19Z beach: drmeister: If you don't count #n# and #n=, the protocol I suggested will handle atoms in source. 2014-12-10T03:13:35Z drmeister: Could you provide that link again? 2014-12-10T03:13:54Z beach: drmeister: You just have to keep the source location of all atoms and choose the one that fits with the call. 2014-12-10T03:13:57Z beach: hold on... 2014-12-10T03:14:11Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T03:14:17Z beach: http://metamodular.com/source-tracking.pdf 2014-12-10T03:15:15Z nikki93_ quit (Remote host closed the connection) 2014-12-10T03:15:16Z Quadrescence joined #lisp 2014-12-10T03:16:36Z beach: I meant you have to keep *all* source locations of *each* atom. 2014-12-10T03:19:37Z rhllor joined #lisp 2014-12-10T03:22:28Z drmeister: I see - I may have to wait for Cleavir to get proper source information. What I have works pretty well but I don't think as well as what you are proposing. However, I think I'll have to modify my reader to keep track of child-number and parent. 2014-12-10T03:23:33Z drmeister: Do the expression, parent-location and child-number form a key for a source-location? 2014-12-10T03:23:36Z beach: When I was thinking about it, I thought that keeping track of every source location of each atom was enough. 2014-12-10T03:24:19Z beach: But it may be faster to organize it as you propose. 2014-12-10T03:25:04Z drmeister: What did I propose? 2014-12-10T03:25:37Z drmeister: Constructing a key from those three pieces of information? 2014-12-10T03:25:39Z goglosh quit (Ping timeout: 245 seconds) 2014-12-10T03:25:47Z beach: using parent location and child number as a key. 2014-12-10T03:25:51Z frkout_ quit (Remote host closed the connection) 2014-12-10T03:25:54Z beach: yes. 2014-12-10T03:25:56Z jumblerg joined #lisp 2014-12-10T03:26:18Z frkout joined #lisp 2014-12-10T03:26:43Z drmeister: The reader then needs to keep track of all of that information for each atom/cons and associate it with a source-pos - correct? 2014-12-10T03:28:02Z pjb: with a list of source positions. possibly across several files even. 2014-12-10T03:28:12Z beach: drmeister: It's too early in the morning for me to think about all the details. But like I said, when I thought about it before, I think I concluded that the information could be derived if you only keep every source location of each atom, in addition to the (unique, modulo #n# and #n=) source location of each CONS. 2014-12-10T03:29:49Z drmeister: Ok, when you want to talk about implementation details I'd love to do that. I'm currently messing with my reader to add file-position in addition to line-number/column. 2014-12-10T03:29:50Z beach: drmeister: Though perhaps I also concluded that the reader needs to keep track of previous queries. 2014-12-10T03:30:31Z drmeister: pjb: Why across several files? Wouldn't it be sufficient to do this top-level-form by t-l-f? 2014-12-10T03:31:02Z pjb: Because eg. a single symbol may occur in different files, not only in different positions of a single file. 2014-12-10T03:31:37Z goglosh joined #lisp 2014-12-10T03:31:48Z pjb: In file g.lisp: (defgeneric mymeth (x)) ; in file a.lisp: (defmethod mymeth ((x a))) ; in file b.lisp: (defmethod mymeth ((x b))) ; mymeth is found in three different files. 2014-12-10T03:31:56Z beach: True, but I think files are processes sequentially, so that information about one file can be discarded when the next one is being processed. I may be wrong of course. 2014-12-10T03:32:17Z pjb: debugging, and perhaps later cross references. 2014-12-10T03:32:44Z beach: pjb: But at that point the information is transmitted in AST and HIR. 2014-12-10T03:32:52Z pjb: ok. 2014-12-10T03:38:51Z Bike: discarded? i'd like to know both the defgeneric and the defmethods... 2014-12-10T03:39:20Z Quadrescence: beach, pjb, can one of you write something ENSURE-TOP-LEVEL (&body body) which will error if BODY is not compiled/executed (?) as/in the toplevel? 2014-12-10T03:39:30Z beach: Bike: The *reader* can discard it. 2014-12-10T03:39:53Z vectory_ joined #lisp 2014-12-10T03:40:19Z beach: Quadrescence: Might be too early for me. I am sure pjb can do it. 2014-12-10T03:40:29Z beach: That's his domain :) 2014-12-10T03:40:33Z Bike: Quadrescence: (progn (eval-when (:execute) (error ...)) (eval-when (:compile-toplevel :load-toplevel) ...body...))? 2014-12-10T03:40:39Z drmeister: The way it worked for me is the reader generates a form in a cons and a hash-table that associates conses within the form with source-pos info. 2014-12-10T03:40:42Z Quadrescence: I have no idea how I'd go about it but it seems like a good thing to have. 2014-12-10T03:40:44Z pjb: Quadrescence: I'm not sure I can do that. I've never tried very hard to understand the semantics of eval-when when not on toplevel. :-/ 2014-12-10T03:41:22Z drmeister: The compiler then generates code and DWARF information that uses that source-pos information. 2014-12-10T03:41:35Z pjb: Also, since toplevelness is a static lexical property, why don't you directly write (error "not toplevel") when you insert your (ensure-toplevel …) form in a not-toplevel form? 2014-12-10T03:41:36Z Quadrescence: Bike, i suppose we can give it a try 2014-12-10T03:42:08Z vectory_: hi, do you know a lisp or haskell related website, that has a huge lambda painted with brush strokes in the background, going with this zen-theme 2014-12-10T03:42:29Z drmeister: After one top-level form is compiled, the source-pos information the reader generated can be discarded. 2014-12-10T03:43:18Z drmeister: I think you only need to store the reader generated source-pos information up until the point the compiled code is generated. 2014-12-10T03:43:37Z harish joined #lisp 2014-12-10T03:44:20Z beach: drmeister: I think you are right. Once the source->AST translator has done its job, the source information should should be stored in the ASTs. 2014-12-10T03:44:43Z Quadrescence: that is how I usually do it 2014-12-10T03:46:04Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T03:48:09Z wangzh joined #lisp 2014-12-10T03:48:11Z beach: drmeister: Even the protocol I suggested won't handle arbitrary reader macros. Nothing prevents a reader macro from turning [x y] into (y x). 2014-12-10T03:48:18Z drmeister: beach: Where does backquote processing happen in Cleavir? 2014-12-10T03:48:29Z beach: drmeister: It doesn't. 2014-12-10T03:48:31Z drmeister: It's just a macro - correct? 2014-12-10T03:48:34Z bb010g joined #lisp 2014-12-10T03:48:43Z beach: drmeister: It is a reader macro and a macro. 2014-12-10T03:49:13Z drmeister: It's where source-pos information goes to die as far as I can tell. 2014-12-10T03:49:20Z beach: drmeister: The reader turns it into either standard stuff like LIST and CONS, or to some implementation-specific macro forms. 2014-12-10T03:50:15Z drmeister: Do you have an implementation in SICL? 2014-12-10T03:50:18Z harish quit (Remote host closed the connection) 2014-12-10T03:50:26Z beach: drmeister: Stuff *introduced* by a reader macro may not have a source location associated with it. 2014-12-10T03:50:37Z beach: drmeister: I do, yes. in the "simple" reader. 2014-12-10T03:50:41Z Quadrescence: Bike, that seems to work well with compilation. Now I just need to understand why loading will cause a failure for a toplevel form 2014-12-10T03:50:56Z wangzh quit (Max SendQ exceeded) 2014-12-10T03:51:26Z Bike: Quadrescence: loading as in loading uncompiled source with cl:load? 2014-12-10T03:51:31Z Quadrescence: yes 2014-12-10T03:51:47Z Bike: because that's :execute as far as eval-whens go. 2014-12-10T03:52:06Z Quadrescence: oh i see 2014-12-10T03:52:17Z wangzh joined #lisp 2014-12-10T03:52:37Z Bike: if you want to avoid that I think you could change it to (eval-when (:execute) (unless *load-pathname* (error ...))) 2014-12-10T03:52:44Z beach: Quadrescence: I wonder whether you would use LOAD-TIME-VALUE for what you want. Not awake enough to figure out the details though. 2014-12-10T03:52:58Z Bike: no, that won't work 2014-12-10T03:53:07Z Quadrescence: Bike, that was my next thought 2014-12-10T03:53:07Z Bike: mine i mean, not l-t-v 2014-12-10T03:54:13Z beach: drmeister: The "simple" SICL reader uses macros QUASIQUOTE, UNQUOTE, and UNQUOTE-SPLICING from Scheme as the Common Lisp HyperSpec suggests. 2014-12-10T03:55:31Z SpikeMaster joined #lisp 2014-12-10T03:56:34Z zmisc joined #lisp 2014-12-10T03:56:34Z zmisc quit (Client Quit) 2014-12-10T03:56:45Z SpikeMaster left #lisp 2014-12-10T03:56:49Z zmisc joined #lisp 2014-12-10T03:56:49Z zmisc quit (Client Quit) 2014-12-10T03:57:39Z Quadrescence: Anyway it would be a very useful macro, because a lot of defining forms I've written turn into SETFs which I want to ensure are not getting expanded somewhere in the bowels of the codebase 2014-12-10T03:57:43Z innertracks joined #lisp 2014-12-10T03:58:15Z zmisc joined #lisp 2014-12-10T03:58:15Z zmisc quit (Client Quit) 2014-12-10T03:58:51Z innertracks quit (Client Quit) 2014-12-10T03:59:14Z innertracks joined #lisp 2014-12-10T04:00:15Z zmisc joined #lisp 2014-12-10T04:00:15Z zmisc quit (Client Quit) 2014-12-10T04:02:23Z zmisc joined #lisp 2014-12-10T04:05:00Z beach: Let me take advantage of the silence to check what you think about the example I came up with with pillton: In SBCL, try: (defun ff (list) (loop for x in list sum x)) and then (ff (append (make-list 1000 :initial-element 1) '(a))). 2014-12-10T04:05:06Z beach: Now look at the backtrace. 2014-12-10T04:05:51Z beach: The error message, first of all, says: Argument Y is not a NUMBER: A 2014-12-10T04:06:04Z beach: Whereas there was not any Y in the code. 2014-12-10T04:06:14Z innertracks quit (Quit: innertracks) 2014-12-10T04:06:22Z beach: The top frame of the backtrace says: (SB-KERNEL:TWO-ARG-+ 1000 A) 2014-12-10T04:06:23Z pjb: Yes, the error is generated inside sb-kernel:two-arg-+ 2014-12-10T04:06:35Z pjb: If you type v you jump to: (two-arg-+/- two-arg-+ + add-bignums) 2014-12-10T04:06:41Z beach: Whereas there was no call to SB-KERNEL:TWO-ARG-+ in the code. 2014-12-10T04:07:03Z pjb: the macro two-arg-+/- is defined just before, and you see the y arguments there. 2014-12-10T04:07:11Z beach: The next frame says: (FF (1 1 1 1 1 1 ...)) giving no hint as to where the problem is. 2014-12-10T04:07:40Z pjb: Macros are expanded… :-) 2014-12-10T04:08:32Z pjb: This example seems to show that CL macros would have to expand to different forms depending on the optimization levels. 2014-12-10T04:08:41Z beach: I think if LOOP had expanded SUM to a call to LOOP-SUM instead of SB-KERNEL:TWO-ARG-+/- then LOOP-SUM could have given a better error message. 2014-12-10T04:09:08Z pjb: Yes, but a call to loop-sum would be slower than inlining a cl:+. 2014-12-10T04:09:14Z vinleod joined #lisp 2014-12-10T04:09:18Z beach: pjb: No, I think it shows that "system" code should not "call" other "system" code that can fail. 2014-12-10T04:09:28Z beach: pjb: Why? 2014-12-10T04:09:37Z beach: pjb: I see absolutely no reason for that. 2014-12-10T04:09:47Z beach: LOOP-SUM would be inlined as well. 2014-12-10T04:10:06Z pjb: If only for the explicit tests added. 2014-12-10T04:10:21Z beach: That test must be present in + as well. 2014-12-10T04:10:40Z pjb: You can have the best of both, if the CL macros can detect the optimization level and generate different forms for (debug 3) (speed 0) vs. (debug 0) (speed 3). 2014-12-10T04:10:55Z beach: I don't think it is necessary. 2014-12-10T04:11:19Z beach: There is no reason a call to LOOP-SUM would have more work to do than a call to +. 2014-12-10T04:11:26Z pjb: In LOOP-SUM, to be able to give a nice error message, either you will have to check the arguments before calling the functions, or you will have to handler-case the expected errors. 2014-12-10T04:11:46Z beach: + also has to check the argument. 2014-12-10T04:11:49Z beach: No difference. 2014-12-10T04:12:02Z pjb: Probably the former, since with handler-case you couldn't know if the error comes from the first argument or the second. 2014-12-10T04:12:10Z beach: Right, the former. 2014-12-10T04:12:15Z beach: Same as for +. 2014-12-10T04:12:22Z beach: No performance penalty. 2014-12-10T04:12:46Z pjb: The difference is that inside +, the name of the parameters are not the same as in LOOP-SUM. 2014-12-10T04:13:03Z pjb: And LOOP-SUM won't even report the name of its parameters, but the names given to it by the LOOP macro. 2014-12-10T04:13:06Z beach: In LOOP-SUM you wouldn't mention the name of the parameters. 2014-12-10T04:13:29Z beach: You would just say: "The SUM clause of LOOP requires a number, but the following was given instead: A" 2014-12-10T04:13:50Z pjb: (loop-sum old-value increment :sum-variable 'total :increment-expression '(first (last deltas))) 2014-12-10T04:13:51Z beach: pjb: Right. 2014-12-10T04:14:19Z beach: My point is that it is possible to get a decent backtrace without any performance penalty. 2014-12-10T04:14:22Z pjb: so already, instead of passing 2 arguments, you have to pass 4 (assuming you don't use keywords as in this example). 2014-12-10T04:14:42Z beach: pjb: It will be inlined. 2014-12-10T04:14:51Z beach: No performance penalty. 2014-12-10T04:15:02Z pjb: You still have the data flow. 2014-12-10T04:15:07Z Kohelet quit (Ping timeout: 272 seconds) 2014-12-10T04:15:16Z mathrick quit (Ping timeout: 255 seconds) 2014-12-10T04:15:18Z pjb: Yes, in the fast path, that shouldn't bother. 2014-12-10T04:15:29Z beach: Exactly. 2014-12-10T04:15:29Z backupthrick quit (Ping timeout: 264 seconds) 2014-12-10T04:15:48Z Kohelet joined #lisp 2014-12-10T04:16:06Z pjb: Assuming the intensive inlining, it could work, just using loop-sum as you say. 2014-12-10T04:16:36Z beach: The only thing that is required here is the rule I made for SICL: User-visible system code can not call other system code unless that call is know not to fail. 2014-12-10T04:16:40Z pjb: It might still be a good idea to provide the API to know the optimization level and have macros using it to generate different code. 2014-12-10T04:16:48Z beach: Sure. 2014-12-10T04:17:40Z pjb: I've got the impression that there are not that many CL operators that cannot fail. 2014-12-10T04:18:22Z beach: pjb: What I mean is that if you think a call might fail, you duplicate the preconditions of that call and generate a better error message. 2014-12-10T04:18:40Z beach: Here LOOP-SUM is an example of that. 2014-12-10T04:19:30Z beach: Rather than calling + (or TWO-ARG-+) which may fail, you check its preconditions (NUMBERP ...) and generate an error message if the precondition is violated. 2014-12-10T04:19:56Z jasom: beach: won't that result in a lot of duplicated checks? 2014-12-10T04:20:11Z jasom: (unless you have two-arg-+-I-know-it-is-a-number) 2014-12-10T04:20:12Z beach: jasom: Yes, and A LOT nicer debugging experience for the user. 2014-12-10T04:20:25Z Kohelet quit (Ping timeout: 260 seconds) 2014-12-10T04:20:40Z beach: jasom: duplicate check IN SOURCE CODE. Not at runtime. 2014-12-10T04:20:53Z Kohelet joined #lisp 2014-12-10T04:21:11Z ST_Aldini joined #lisp 2014-12-10T04:21:37Z beach: (Partial) Redundancy Elimination makes sure there are no duplicate checks at runtime. 2014-12-10T04:21:38Z pjb: Now, there was the other idea, to have some flag indicating that we're not debugging the implementation, and therefore the backtrace could skip implementation functions such as two-arg-+, as well as the error message generation function. That could also work if the dataflow (debugging) information is available to track where the data comes from. 2014-12-10T04:21:40Z |3b| wonders how hard it would be to avoid the source code duplication as well, since that seems like it would be error prone 2014-12-10T04:22:05Z pjb: The advantage of such a solution would be that it could be extended to user library code too. 2014-12-10T04:22:19Z beach: pjb: Yes, that is a more complex thing to implement, but nicer. 2014-12-10T04:22:32Z beach: |3b|: That would be nice. 2014-12-10T04:22:39Z zmisc quit (Quit: mobile client quit) 2014-12-10T04:22:47Z mathrick joined #lisp 2014-12-10T04:23:11Z beach: But I think I managed to convince you that incomprehensible backtraces are not a price we have to pay for using Common Lisp. 2014-12-10T04:23:28Z pjb: I was convinced before :-) 2014-12-10T04:23:44Z beach: pjb: Luckily, I am not talking only to you. :) 2014-12-10T04:23:47Z backupthrick joined #lisp 2014-12-10T04:23:55Z lols: ;p 2014-12-10T04:23:56Z pjb: But indeed, your rule let you do it easily enough. 2014-12-10T04:24:12Z beach: Thanks! 2014-12-10T04:24:19Z trn quit (Quit: quit) 2014-12-10T04:24:42Z pjb: We'd have to establish a list of "safe" CL operations. :-) 2014-12-10T04:25:03Z beach: So my point is that incomprehensible backtraces are rather the result of laziness on the part of the implementer who decides to generate calls to system code that may fail. 2014-12-10T04:25:06Z trn joined #lisp 2014-12-10T04:25:37Z pjb: As I've already said, sbcl implementers are speed obsessed. There's a reason why I used to use clisp. 2014-12-10T04:25:39Z beach: pjb: Calling + with numbers. Calling CAR with NIL or a CONS. Shouldn't be that hard. 2014-12-10T04:26:29Z beach: pjb: Maybe so, but again, it is important to convince speed-obsessed developers that my idea can be implemented with zero performance penalty, even at SPEED 3. 2014-12-10T04:27:02Z |3b| hands beach two MOST-POSITIVE-DOUBLE-FLOAT to call + with 2014-12-10T04:27:46Z beach: |3b|: Yeah, let's not try to improve the situation. 2014-12-10T04:27:55Z pjb: I guess one would be able to provide a SICL/IMPL CL package that would provide SICL CL macros with rest of CL coming from the hosting implementation, so that people coudl (:use "SICL/IMPL") instead of (:use "CL") to get those better backtraces. 2014-12-10T04:28:12Z |3b|: beach: just arguing the difficulty, not the value :) 2014-12-10T04:28:20Z beach: |3b|: Good. :) 2014-12-10T04:28:24Z zmisc joined #lisp 2014-12-10T04:28:34Z beach: |3b|: Have you ever seen me give up because of difficulty? 2014-12-10T04:29:38Z beach: pjb: That's a good idea. I have no idea how to do that in general, nor what macros to provide. Worth thinking about though. 2014-12-10T04:29:49Z bgs100 quit (Quit: bgs100) 2014-12-10T04:31:03Z pjb: There are some macros that have to have implementation specific extension (eg. defun), but not a macro like LOOP. I'd say most of the non-def* macros could come from SICL. 2014-12-10T04:31:13Z beach: It is also possible that most implementations do not have a good-enough implementation of (Partial) Redundancy Elimination. 2014-12-10T04:31:17Z pjb: s/extension/expansion/ 2014-12-10T04:31:55Z zmisc quit (Client Quit) 2014-12-10T04:31:58Z beach: pjb: Yeah. Though, SBCL LOOP does not generate portable code for ACROSS. 2014-12-10T04:32:18Z beach: ... probably because they don't have the necessary optimizations in place to do it portably. 2014-12-10T04:34:34Z |3b|: what does it generate? 2014-12-10T04:35:06Z beach: I forget, a call to SB-IMPL:LOOP-ACROSS-WHATEVER. At least last time I looked. 2014-12-10T04:35:10Z beach: Hold on... 2014-12-10T04:35:33Z c53100 quit (Ping timeout: 244 seconds) 2014-12-10T04:37:27Z beach: I can't reproduce it. Maybe it happened only with SPEED 3. 2014-12-10T04:38:23Z beach: Or maybe it has changed from previous releases. 2014-12-10T04:39:29Z jumblerg joined #lisp 2014-12-10T04:39:31Z |3b|: could be, i think there were a bunch of loop fixes relatively recently 2014-12-10T04:39:45Z beach: OK. That would explain it. 2014-12-10T04:40:34Z beach: |3b|: It is definitely worth contemplating ways to avoid duplicate tests in source code for reasons of maintainability. 2014-12-10T04:43:30Z nydel quit (Remote host closed the connection) 2014-12-10T04:48:45Z nydel joined #lisp 2014-12-10T04:58:12Z gingerale joined #lisp 2014-12-10T05:02:03Z chu joined #lisp 2014-12-10T05:02:33Z wangzh quit (Quit: Leaving) 2014-12-10T05:04:16Z protist joined #lisp 2014-12-10T05:05:21Z vectory_ left #lisp 2014-12-10T05:06:00Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-10T05:09:08Z rhllor quit (Ping timeout: 244 seconds) 2014-12-10T05:10:22Z scymtym_ quit (Ping timeout: 256 seconds) 2014-12-10T05:10:23Z pjb: beach: If you're considering maintainability, why having loop-sum, dotimes-sum, mapcar-cdr, dolist-cdr, etc? What you want to use are internal:+, internal:cdr etc, with the additionnal parameter name/expression parameters, or perhaps, you could just as well track them with debugging dataflow information? 2014-12-10T05:10:34Z kushal joined #lisp 2014-12-10T05:12:36Z |3b| was thinking more of a way for functions to specify preconditions, and optionally allow callers to override handling of the resulting errors 2014-12-10T05:14:30Z |3b|: (and presumably call directly to code that assumes they are met if so) 2014-12-10T05:17:09Z drmeister: Beach - how is HIR->MIR coming? I'm going to have time next week to get serious about incorporating Cleavir. 2014-12-10T05:17:35Z beach: pjb: Yeah, very good ideas. 2014-12-10T05:18:06Z beach: drmeister: I created the new HIR instructions that I mentioned, but I haven't coded the transformation that will introduce them yet. 2014-12-10T05:19:25Z beach: pjb: I did something similar for the SICL SEQUENCE module, but there it was easier because the overhead will be minimal, given that those functions typically do a lot of work. 2014-12-10T05:19:48Z beach: pjb: Also, I had to give up on that module for other reasons, so it is not finished. 2014-12-10T05:20:03Z beach: drmeister: I'll see what I can do between now and next week. 2014-12-10T05:22:29Z beach: pjb: Also, the solutions might be different when the code is meant for a native system, as opposed to when it is meant to be implementation-independent. 2014-12-10T05:29:22Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T05:30:08Z Natch quit (Ping timeout: 258 seconds) 2014-12-10T05:34:37Z drmeister: beach: Thanks. I'm anxious to make some headway but that's not your problem. I'm still quite uncertain as to where to start and how to proceed. 2014-12-10T05:35:28Z beach: I think if I do the HIR transformation to introduce those instruction, then show how to turn HIR to MIR for SICL, you will have a pretty good idea. 2014-12-10T05:37:28Z pjb: beach: I'm afraid my dataflow idea for error reporting leads to too much complexity. We'd need to keep track dynamically of the path were came from, and it wouldn't lead to error messages that much easier to understand, only now instead of being fuzzy on the place where the error occurs, it would be on the data that came to produce the error (imagine walking a big graph while integrating data into a value that is eventually in error 2014-12-10T05:37:28Z pjb: deep into the recursion). 2014-12-10T05:39:21Z chu joined #lisp 2014-12-10T05:39:23Z pjb: beach: the only manageable way is to test and handle errors in the API operators, and possibly perform additionnal tests on the parameters, when reporting the error. Also being careful when it's a mutating operator, since we don't want to have to copy the input data to be able to report a better error message. But that mean we'd have to check the pre-conditions before processing. 2014-12-10T05:40:33Z pjb: So this is as you said: API operators shall not call blindly other operators that can signal errors. They must handle those internal errors to be able to report them meaningfully. 2014-12-10T05:40:55Z beach: pjb: I see yes. 2014-12-10T05:41:06Z zeitue quit (Quit: Leaving) 2014-12-10T05:42:02Z beach: pjb: I am not willing to give up the idea of analyzing data flow, but certainly the rule about calling other operators seems to be the only way for implementation-independent code. 2014-12-10T05:42:41Z pjb: The only case where we could do better with my idea, is when we have a time travelling debugger: when we record the history of the program execution. Then we can easily go back to the last API call, and recompute all the dataflow needed to give a nice error message automatically. Since the time travelling debugger is already more powerful. 2014-12-10T05:43:22Z beach: Very interesting thought. Definitely worth contemplating. 2014-12-10T05:43:24Z nikki93_ joined #lisp 2014-12-10T05:43:47Z pjb: Well, you can do a little data flow analysis, it works for simple cases. But in general you may get: error wit h internal parameter X bound to the (cdr (cdr (cdr …. (cdr N)))) N being the parameter of API function F, bound to value (1 1 1 1 … 1 A). 2014-12-10T05:44:59Z pjb: Perhaps not with CDR, because CONS/CDR are easily reversible, but if you have other non-reversible operations, then you won't be able to produce a nice and simple expression of the parameter to designate the wrong place. 2014-12-10T05:45:22Z beach: Sure, yes. 2014-12-10T05:46:40Z pjb: In a way, what we want here, is an AI debugger, that sees what's occuring, and that is able to explain it in simple terms to the programmer :-) 2014-12-10T05:46:48Z beach: pjb: I am a slow thinker, so I can't work out the details of what is doable in real time. But there is plenty of material here to think about, and then perhaps write up a specification. The only one I have so far is this "rule" that system code should not make calls to other system code that may fail. 2014-12-10T05:47:17Z beach: I mean "I can't work out in real time what is doable." 2014-12-10T05:48:03Z pjb: It's not "system call". This restriction is only on the API operators of a library. That is, only the operators defined in the CL package. If you have internal operators, they can call other implementation operators without constraints. 2014-12-10T05:48:13Z beach: pjb: The other thing I am hoping is that if we have an implementation with highly maintainable code, many of those things will be easier to consider doing. 2014-12-10T05:48:25Z beach: pjb: Correct. 2014-12-10T05:50:07Z beach: I think what I should do is to work on the SEQUENCE module, this time with less ambition with respect to performance, and more with respect to this aspect we are talking about. 2014-12-10T05:50:34Z beach: Then we could compare error messages in such a module with what current implementations are able to do. 2014-12-10T05:51:18Z jusss` quit (Remote host closed the connection) 2014-12-10T05:51:21Z beach: The sequence module is ideal because the overhead of a single additional function call or another parameter is small compared to the cost of looping over the sequence. 2014-12-10T05:51:27Z beach: [usually] 2014-12-10T05:52:02Z jusss` joined #lisp 2014-12-10T05:52:36Z beach: In fact, that's the reason I worked on the SEQUENCE module early on in SICL. But then I got discouraged because of the maintainability problem with multiple special versions of each function. 2014-12-10T05:52:48Z ST_Aldini quit (Quit: rcirc on GNU Emacs 25.0.50.9) 2014-12-10T05:53:33Z pjb: Something different: have you noted the doubts I had with make-instance and find-class on structure classes? find-class shall work on a symbol naming a structure type (returning a structure-class). And make-instance on a symbol is specified to use find-class so it looks like it could be used on such a structure type. But it is also specified to call initialize-instance, and the later is not specified to work on structure-classes. 2014-12-10T05:53:33Z pjb: That said, all implementations allow initialize-instance to work on structure-classes (or have non-conforming make-instance methods, I've not checked). 2014-12-10T05:53:47Z beach: One thing I did was to include the name of the API function in the condition object, so that error reporting could include it. 2014-12-10T05:54:06Z pjb: I usually do that. 2014-12-10T05:54:51Z pjb: You can have special defun/defmacro/defmethod macros for the API operators to record the name in a special variable used when creating the condition. 2014-12-10T05:54:57Z beach: pjb: For now, I have evacuated STRUCS from my brain. I don't use them myself. :) 2014-12-10T05:55:27Z pjb: Yes, we can just make structure-class a subclass of standard-class and be done with it. 2014-12-10T05:55:50Z beach: pjb: Also, the plan I have for SICL is to make structs possible to redefine, because they have an indirection anyway, so I already pay the additional cost. 2014-12-10T05:56:18Z beach: Yeah, what you are saying or something with the same effect. 2014-12-10T05:57:05Z jusss` quit (Remote host closed the connection) 2014-12-10T05:57:25Z beach: pjb: That would be something to consider for Common Lisp version 2. 2014-12-10T05:57:53Z jusss` joined #lisp 2014-12-10T05:57:59Z beach: Speaking of which, I started a parser based on combinatory parsing for the dpANS. 2014-12-10T05:58:28Z pjb: Yes, I took note of your git repo, but I couldn't check it out yet. 2014-12-10T05:58:29Z beach: I already have a nice framework for combinatory parsing, and I think it is ideal for this "one-shot" type of parsing. 2014-12-10T05:58:56Z oleo__ quit (Quit: Verlassend) 2014-12-10T05:59:05Z beach: If you want to look at it, then check out the combinatory parsing module. 2014-12-10T05:59:08Z beach: I kind of like it. 2014-12-10T05:59:14Z pjb: You mean, when developing an ad-hoc grammar? :-) 2014-12-10T05:59:29Z beach: Pretty much, yeah. :) 2014-12-10T05:59:48Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T05:59:58Z beach: The technique of combinatory parsing have no silly restrictions such as LALR(k). 2014-12-10T06:00:01Z karswell quit (Remote host closed the connection) 2014-12-10T06:00:13Z beach: has 2014-12-10T06:00:33Z beach: So, it won't be necessary to handle shift/reduce conflicts. 2014-12-10T06:00:42Z beach: On the other hand it is not necessarily very fast. 2014-12-10T06:00:53Z beach: But who cares if it is to parse one thing one time. 2014-12-10T06:00:59Z pjb: Exactly. 2014-12-10T06:01:35Z karswell` joined #lisp 2014-12-10T06:02:18Z beach: So for the dpANS, I am thinking I could incrementally create individual "parsers". One day to parse "\label bla bla ::", the next day for "\typespec{bla bla }". 2014-12-10T06:03:07Z beach: Then I can combine those individual "parsers" in order to eventually parse the entire dpANS. 2014-12-10T06:04:08Z Jubb joined #lisp 2014-12-10T06:04:25Z pjb: beach: have you tried pandoc? 2014-12-10T06:04:30Z beach: NO. 2014-12-10T06:04:37Z beach: No, I mean. 2014-12-10T06:04:37Z frkout_ joined #lisp 2014-12-10T06:04:50Z beach: Should I? 2014-12-10T06:05:10Z pjb: pandoc can translate various markups into various markups, including latex to eg. html, that we can easily parse into sexp. 2014-12-10T06:05:37Z beach: It might be worth trying. I'll let you do it. :) 2014-12-10T06:05:49Z pjb: So if it can translate without losing anything essential, that would mean having a sexp with the content of the latex file that might be easier to process. 2014-12-10T06:06:35Z beach: sure. One thing though: the dpANS is plain TeX with their own macros; not LaTeX. 2014-12-10T06:07:17Z frkout quit (Ping timeout: 240 seconds) 2014-12-10T06:07:56Z drdanmaku quit (Quit: ,) 2014-12-10T06:08:30Z pjb: Ah, that won't work then. 2014-12-10T06:08:43Z pjb: probably not. 2014-12-10T06:08:50Z beach: Hmm, OK. 2014-12-10T06:10:22Z beach: The other thing I decided to try was to preserve whitespace and newlines as tokens, and to parse an entire file into a Common Lisp list of such tokens. Then that list could be preprocessed using our usual Common Lisp tools for different purposes. 2014-12-10T06:11:01Z frkout_ quit (Read error: Connection reset by peer) 2014-12-10T06:11:11Z beach: It might not work out, though. We'll see. 2014-12-10T06:11:27Z frkout joined #lisp 2014-12-10T06:12:22Z pranavrc joined #lisp 2014-12-10T06:12:22Z pranavrc quit (Changing host) 2014-12-10T06:12:22Z pranavrc joined #lisp 2014-12-10T06:16:06Z gingerale quit (Ping timeout: 272 seconds) 2014-12-10T06:16:17Z Quadrescence joined #lisp 2014-12-10T06:20:06Z pjb: right, it doesn't work. eg pandoc -f latex -t html chap-11.tex only produces:

setup

concept-packages

:-) 2014-12-10T06:20:06Z pjb: 2014-12-10T06:20:31Z goglosh quit (Quit: leaving) 2014-12-10T06:21:20Z jumblerg joined #lisp 2014-12-10T06:25:40Z MoALTz_ quit (Quit: Leaving) 2014-12-10T06:36:03Z beach: Not very useful. :) 2014-12-10T06:36:34Z replcated quit (Ping timeout: 255 seconds) 2014-12-10T06:37:57Z replcated joined #lisp 2014-12-10T06:42:18Z urandom__ quit (Quit: Konversation terminated!) 2014-12-10T06:42:20Z keen__________ quit (Read error: Connection reset by peer) 2014-12-10T06:43:38Z keen__________ joined #lisp 2014-12-10T06:43:56Z jtza8 joined #lisp 2014-12-10T06:45:13Z frkout quit (Remote host closed the connection) 2014-12-10T06:45:24Z beach: Hmm, now that I am discussing combinatory parsing, I am thinking I could use that technique for a grammar checker for natural languages. Before I was thinking I should use Earley, but combinatory parsing could very well be better, because it is more flexible. 2014-12-10T06:45:42Z frkout joined #lisp 2014-12-10T06:46:27Z jusss` quit (Remote host closed the connection) 2014-12-10T06:51:38Z innertracks joined #lisp 2014-12-10T06:51:39Z beach: Time to get to work! 2014-12-10T06:51:42Z beach left #lisp 2014-12-10T06:57:35Z isis_ joined #lisp 2014-12-10T07:00:41Z chu quit (Read error: Connection reset by peer) 2014-12-10T07:02:03Z harish joined #lisp 2014-12-10T07:05:35Z przl joined #lisp 2014-12-10T07:08:53Z jtza8 quit (Ping timeout: 260 seconds) 2014-12-10T07:09:02Z zRecursive quit (Remote host closed the connection) 2014-12-10T07:12:11Z CrazyWoods joined #lisp 2014-12-10T07:15:52Z innertracks quit (Quit: innertracks) 2014-12-10T07:17:48Z nikki93_ quit (Remote host closed the connection) 2014-12-10T07:18:20Z nikki93_ joined #lisp 2014-12-10T07:18:49Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-10T07:18:53Z resttime quit (Quit: resttime) 2014-12-10T07:19:21Z nikki93_ joined #lisp 2014-12-10T07:19:41Z Karl_Dscc joined #lisp 2014-12-10T07:20:12Z edgar-rft quit (Quit: session destroyed because computer crashed) 2014-12-10T07:20:58Z stardiviner joined #lisp 2014-12-10T07:24:28Z hugoduncan joined #lisp 2014-12-10T07:25:48Z hugod quit (Ping timeout: 256 seconds) 2014-12-10T07:26:50Z ggole joined #lisp 2014-12-10T07:26:51Z mrSpec joined #lisp 2014-12-10T07:31:19Z mishoo joined #lisp 2014-12-10T07:33:40Z defaultxr quit (Quit: gnight) 2014-12-10T07:35:15Z shifty778: how may I break a string into pieces to fit in 70 columns of source? for instance: (format t "seriously long string~%"), breaking "seriously long string" at appropriate places so that it looks tidy in the source. 2014-12-10T07:35:43Z Quadrescence: (format t "seriously~ 2014-12-10T07:35:45Z Quadrescence: long~ 2014-12-10T07:35:50Z Quadrescence: string~%") 2014-12-10T07:36:11Z Quadrescence: except there should be a space before the first two ~'s 2014-12-10T07:36:18Z H4ns: shifty778: http://www.lispworks.com/documentation/lw50/CLHS/Body/22_cic.htm 2014-12-10T07:38:25Z przl quit (Ping timeout: 250 seconds) 2014-12-10T07:40:49Z shifty778: Quadrescence: thanks. typically simple. question though, seems to work with (format...) but not with plain strings at the REPL. Why? 2014-12-10T07:40:57Z shifty778: H4ns: reading now. 2014-12-10T07:42:13Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T07:43:03Z H4ns: i'll admit that the verbiage in that clhs entry is a bit dense. 2014-12-10T07:43:21Z Quadrescence: shifty778, format is something that builds a string from a "format string" 2014-12-10T07:43:30Z Quadrescence: regular strings are just literal things 2014-12-10T07:43:48Z shifty778: I was hoping to find a generic solution for long strings, not just for format. eg (setq me "long string") 2014-12-10T07:43:49Z Quadrescence: there's no special processing of them 2014-12-10T07:44:07Z Quadrescence: shifty778, why not write a little function to do it for you? 2014-12-10T07:44:49Z shifty778: Quadrescence: "regular strings are just literal things", ok - how to escape the newline then, please? 2014-12-10T07:44:58Z stardiviner quit (Ping timeout: 255 seconds) 2014-12-10T07:44:58Z H4ns: shifty778: there is no way. 2014-12-10T07:44:58Z Quadrescence: you just write a newline 2014-12-10T07:45:06Z Quadrescence: "hello 2014-12-10T07:45:08Z Quadrescence: world" 2014-12-10T07:45:18Z H4ns: Quadrescence: the reader does not provide a way to strip newlines, or does it? 2014-12-10T07:45:27Z Quadrescence: no it doesn't 2014-12-10T07:45:49Z shifty778: Quadrescence: no, the other way. I want "hello world" but I want my source to read "hello\nworld" where the \n only exists in the source. 2014-12-10T07:46:00Z Quadrescence: that is not possible with a raw string 2014-12-10T07:46:01Z H4ns: shifty778: you could implement a reader macro to do it for you. 2014-12-10T07:46:11Z H4ns: i already hate myself for suggesting that 2014-12-10T07:46:13Z Karl_Dscc quit (Remote host closed the connection) 2014-12-10T07:46:16Z Quadrescence: haha 2014-12-10T07:46:28Z H4ns: shifty778: but i'd rather recommend that you live with the way things are. 2014-12-10T07:46:50Z Quadrescence: or write something like 2014-12-10T07:46:50Z Quadrescence: (defun long-string (&rest strings) 2014-12-10T07:46:50Z Quadrescence: (apply 'concatenate 'string strings)) 2014-12-10T07:47:30Z shifty778: alright, can live with it... so what does everyone else do when they have a long string in their source code, and they are trying to adhere to the 70 column limit? 2014-12-10T07:47:45Z Quadrescence: (long-string "part 1" "part 2") 2014-12-10T07:47:45Z Quadrescence: if performance is critical, there are easy ways of making that a compile-time thing 2014-12-10T07:47:53Z jumblerg joined #lisp 2014-12-10T07:47:55Z H4ns: shifty778: i just don't "adhere" to a "70 col limit" 2014-12-10T07:48:04Z H4ns: shifty778: 70 cols? you got to be kidding. 2014-12-10T07:48:33Z H4ns: shifty778: my screen has like 300 columns. why would i want to not use them? 2014-12-10T07:49:02Z shifty778: H4ns: ok, that's one vote for "untidy" :-) nope - I like my narrow pages. 2014-12-10T07:49:11Z Quadrescence: shifty778, (1) I use FORMAT, (2) I do something like the above, (3) for doc strings, I don't do anything. I just write them out in their entirety, putting newlines only where it's semantically meaningful 2014-12-10T07:49:27Z H4ns: shifty778: glad i don't need to read your code then :) 2014-12-10T07:50:36Z MrWoohoo joined #lisp 2014-12-10T07:50:44Z jtza8 joined #lisp 2014-12-10T07:52:43Z Quadrescence: shifty778, http://paste.lisp.org/display/144649 2014-12-10T07:52:44Z shifty778: thanks everyone - I've learnt that a format string can use space-~-newline to ignore the newline and that there doesn't appear to be a way to break raw strings, short of a reader macro. all good. 2014-12-10T07:53:40Z Quadrescence: shifty778, the above solution avoids a reader macro 2014-12-10T07:55:31Z nikki93_ quit (Remote host closed the connection) 2014-12-10T07:56:27Z Beetny joined #lisp 2014-12-10T07:58:56Z zeitue joined #lisp 2014-12-10T07:59:02Z shifty778: Quadrescence: actually, that's rather tidy in execution. of course, whether to use it or simply to let the lines wrap is a matter of taste, humour or plain time available for sacrifice to the gods of ascetics! 2014-12-10T08:08:55Z theos quit (Disconnected by services) 2014-12-10T08:09:28Z theos joined #lisp 2014-12-10T08:09:52Z mvilleneuve joined #lisp 2014-12-10T08:11:54Z leo2007 joined #lisp 2014-12-10T08:16:55Z _5kg quit (Read error: Connection reset by peer) 2014-12-10T08:20:30Z _5kg joined #lisp 2014-12-10T08:20:45Z corni quit (Ping timeout: 260 seconds) 2014-12-10T08:22:12Z milosn quit (Remote host closed the connection) 2014-12-10T08:25:12Z Karl_Dscc joined #lisp 2014-12-10T08:26:28Z Grue` quit (Ping timeout: 258 seconds) 2014-12-10T08:26:33Z nha joined #lisp 2014-12-10T08:31:57Z nha quit (Ping timeout: 260 seconds) 2014-12-10T08:33:00Z Grue` joined #lisp 2014-12-10T08:33:20Z Cymew joined #lisp 2014-12-10T08:36:09Z frkout_ joined #lisp 2014-12-10T08:36:54Z _5kg quit (Ping timeout: 264 seconds) 2014-12-10T08:37:48Z frkout_ quit (Remote host closed the connection) 2014-12-10T08:38:15Z frkout_ joined #lisp 2014-12-10T08:39:49Z frkout quit (Ping timeout: 245 seconds) 2014-12-10T08:42:27Z przl joined #lisp 2014-12-10T08:43:39Z Lowl3v3l joined #lisp 2014-12-10T08:48:49Z Shinmera joined #lisp 2014-12-10T08:49:30Z fridim_ joined #lisp 2014-12-10T08:50:07Z arenz joined #lisp 2014-12-10T08:52:52Z Shinmera: Oh dear, Colleen apparently got disconnected and couldn't reconnect anywhere due to consistently failing "getaddrinfo" calls. Does anyone know what a cause for that could be? (Running on SBCL using usocket) 2014-12-10T08:54:11Z Shinmera: ((this in turn means a chunk of time is missing from the logs now :( )) 2014-12-10T08:56:02Z Colleen joined #lisp 2014-12-10T08:56:25Z H4ns: i just know that my planet lisp to twitter gateway is affected by that same issue 2014-12-10T08:56:56Z Shinmera: I've seen getaddrinfo fails in the bot logs before, but never to the point that it couldn't reconnect anymore for hours or send any requests. 2014-12-10T08:57:30Z Shinmera: Now my nice uptime is in ruins! 2014-12-10T08:58:02Z Shinmera shakes fist at clouds 2014-12-10T09:01:11Z milosn joined #lisp 2014-12-10T09:03:26Z Quadrescence quit (Quit: Leaving) 2014-12-10T09:04:09Z tadni quit (Remote host closed the connection) 2014-12-10T09:04:22Z kcj quit (Read error: Connection reset by peer) 2014-12-10T09:06:06Z salv0 joined #lisp 2014-12-10T09:08:39Z angavrilov joined #lisp 2014-12-10T09:19:30Z teiresias quit (Quit: leaving) 2014-12-10T09:19:49Z munksgaard joined #lisp 2014-12-10T09:20:23Z _5kg joined #lisp 2014-12-10T09:24:07Z _zxq9_ joined #lisp 2014-12-10T09:29:57Z redeemed joined #lisp 2014-12-10T09:33:13Z _5kg quit (Ping timeout: 265 seconds) 2014-12-10T09:39:32Z Lowl3v3l quit (Quit: Leaving) 2014-12-10T09:45:32Z Karl_Dscc quit (Remote host closed the connection) 2014-12-10T09:47:24Z karswell` quit (Remote host closed the connection) 2014-12-10T09:51:53Z zacharias joined #lisp 2014-12-10T09:52:18Z karswell` joined #lisp 2014-12-10T10:01:05Z mvilleneuve quit (Ping timeout: 260 seconds) 2014-12-10T10:05:58Z mvilleneuve joined #lisp 2014-12-10T10:11:40Z pjb` joined #lisp 2014-12-10T10:11:59Z ang joined #lisp 2014-12-10T10:12:08Z ang: hii, there 2014-12-10T10:12:19Z H4ns: ang: hello 2014-12-10T10:12:22Z ang: can anybody tell me the necessary steps to install SLIM in emacs 2014-12-10T10:12:25Z ang: for common lisp 2014-12-10T10:12:32Z Shinmera: you mean Slime? 2014-12-10T10:12:37Z billstclair quit (Ping timeout: 240 seconds) 2014-12-10T10:12:39Z ang: yup 2014-12-10T10:12:41Z ang: right 2014-12-10T10:13:00Z Shinmera: You can install it over Melpa or Quicklisp. Do you have either of those set up? 2014-12-10T10:13:09Z ang: nope 2014-12-10T10:13:16Z Shinmera: Do you have a CL implementation ready? 2014-12-10T10:13:17Z pjb quit (Ping timeout: 240 seconds) 2014-12-10T10:13:33Z ang: I have clisp installed in my machine and Emacs too 2014-12-10T10:13:38Z ang: but want to know the commands 2014-12-10T10:13:48Z ang: so that I can install the slime package in emacs 2014-12-10T10:13:55Z Shinmera: You'll want to install Quicklisp then: http://www.quicklisp.org/beta/#installation 2014-12-10T10:14:20Z ang: Shinmera:thanks 2014-12-10T10:14:54Z ang: Shinmera: Are you experienced with Expert System development in LISP 2014-12-10T10:14:57Z Shinmera: Once you have that, you can install slime in your CL using (ql:quickload :quicklisp-slime-helper) 2014-12-10T10:15:09Z Shinmera: ang: I don't know, what's an "expert system"? 2014-12-10T10:15:25Z ang: Shinmera: ok no problem 2014-12-10T10:15:52Z ang: Shinmera: by the way it is an Artificial Intelligence technology 2014-12-10T10:16:03Z ang: or u can say a subset of AI 2014-12-10T10:16:18Z Shinmera: I have not worked in that area, no 2014-12-10T10:16:28Z ang: Shinmera: ok no problem 2014-12-10T10:16:38Z ang: Shinmera: n thanks for help 2014-12-10T10:16:38Z _5kg joined #lisp 2014-12-10T10:16:48Z Shinmera: That's what this channel is for. 2014-12-10T10:30:11Z shortCircuit__ joined #lisp 2014-12-10T10:35:28Z fe[nl]ix: ang: first of all, clisp doesn't play well with SLIME so I'd advise for choosing another Lisp implementation 2014-12-10T10:36:11Z harish quit (Ping timeout: 252 seconds) 2014-12-10T10:36:32Z Grue`: since when? 2014-12-10T10:36:35Z ang: fe[nl]ix: thanks 2014-12-10T10:36:50Z ang: fe[nl]ix: i am also using Allegro Clisp 2014-12-10T10:37:06Z H4ns: ang: there is no such thing 2014-12-10T10:37:39Z H4ns: ang: the lisp that we discuss here is called "common lisp" and abbreviated "cl". clisp is an implementation of common lisp. 2014-12-10T10:37:42Z ang: H4ns: ya I am aware of every dialects of lisp and there pros n cons 2014-12-10T10:37:50Z ang: H4ns: thanks 2014-12-10T10:37:57Z H4ns: ang: if you are aware, why don't you use the correct language? 2014-12-10T10:38:12Z ang: H4ns: Ya ma bad 2014-12-10T10:38:14Z Natch joined #lisp 2014-12-10T10:38:18Z kdas_ joined #lisp 2014-12-10T10:39:23Z ang: H4ns: but u know as I am working on my expert system there are some integrity and installation probs thats why i am discussing with pros here. 2014-12-10T10:39:44Z ang: H4ns: Like you 2014-12-10T10:39:48Z kushal quit (Ping timeout: 244 seconds) 2014-12-10T10:39:54Z ang: H4ns: thanks for your help 2014-12-10T10:40:15Z fe[nl]ix: Grue`: for the past 2-3 years, at least, Clisp support in Slime has been pretty buggy 2014-12-10T10:40:40Z gravicappa joined #lisp 2014-12-10T10:40:44Z Karl_Dscc joined #lisp 2014-12-10T10:41:16Z kdas_ is now known as kushal 2014-12-10T10:41:46Z kushal is now known as Guest1899 2014-12-10T10:41:56Z Guest1899 quit (Read error: Connection reset by peer) 2014-12-10T10:42:22Z kdas_ joined #lisp 2014-12-10T10:44:02Z fe[nl]ix: Grue`: I used to develop IOlib in clisp a lot because the compiler is pretty strict but a few years ago swank-clisp became unusable 2014-12-10T10:44:15Z kdas_ is now known as kushal 2014-12-10T10:44:23Z kushal quit (Changing host) 2014-12-10T10:44:23Z kushal joined #lisp 2014-12-10T10:45:39Z ang: Everyone: I will get back if i get stuck at another level 2014-12-10T10:46:12Z ang left #lisp 2014-12-10T10:49:09Z _5kg quit (Ping timeout: 260 seconds) 2014-12-10T10:49:53Z Vutral joined #lisp 2014-12-10T10:50:53Z edgar-rft joined #lisp 2014-12-10T10:52:07Z raphaelss joined #lisp 2014-12-10T10:52:26Z gavilancomun joined #lisp 2014-12-10T10:54:31Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T10:54:50Z spacebat joined #lisp 2014-12-10T10:56:12Z nand1 quit (Remote host closed the connection) 2014-12-10T10:56:29Z raphaelss quit (Quit: leaving) 2014-12-10T10:59:39Z fragamus quit (Ping timeout: 252 seconds) 2014-12-10T11:03:58Z dvnmk_ joined #lisp 2014-12-10T11:04:01Z kushal quit (Quit: Leaving) 2014-12-10T11:04:35Z yati_ joined #lisp 2014-12-10T11:05:20Z dvnmk_ quit (Client Quit) 2014-12-10T11:06:56Z Karl_Dscc quit (Remote host closed the connection) 2014-12-10T11:10:31Z eudoxia joined #lisp 2014-12-10T11:14:11Z nikki93_ joined #lisp 2014-12-10T11:15:13Z hlavaty joined #lisp 2014-12-10T11:15:32Z octophore_ joined #lisp 2014-12-10T11:15:33Z octophore_ quit (Excess Flood) 2014-12-10T11:15:57Z octophore_ joined #lisp 2014-12-10T11:16:38Z yati_ quit (Quit: Leaving) 2014-12-10T11:16:39Z octophore_ quit (Read error: Connection reset by peer) 2014-12-10T11:16:53Z lols quit (Ping timeout: 252 seconds) 2014-12-10T11:16:57Z octophore_ joined #lisp 2014-12-10T11:16:58Z octophore_ quit (Excess Flood) 2014-12-10T11:17:01Z stepnem joined #lisp 2014-12-10T11:17:15Z nikki93 quit (Ping timeout: 252 seconds) 2014-12-10T11:17:49Z octophore_ joined #lisp 2014-12-10T11:18:35Z octophore quit (Ping timeout: 265 seconds) 2014-12-10T11:18:45Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-10T11:19:06Z Ethan- joined #lisp 2014-12-10T11:20:13Z tadni joined #lisp 2014-12-10T11:21:28Z eazar001 quit (Quit: WeeChat 1.0.1) 2014-12-10T11:21:42Z eazar001 joined #lisp 2014-12-10T11:22:07Z momus joined #lisp 2014-12-10T11:22:34Z atgreen quit (Remote host closed the connection) 2014-12-10T11:25:05Z spacebat quit (Ping timeout: 264 seconds) 2014-12-10T11:26:37Z dmiles quit (Quit: Read error: 110 (Connection timed out)) 2014-12-10T11:28:06Z octophore joined #lisp 2014-12-10T11:28:06Z octophore quit (Excess Flood) 2014-12-10T11:28:31Z octophore joined #lisp 2014-12-10T11:30:42Z octophore_ quit (Ping timeout: 245 seconds) 2014-12-10T11:31:10Z munksgaard quit (Ping timeout: 256 seconds) 2014-12-10T11:31:30Z baizhu joined #lisp 2014-12-10T11:33:19Z _5kg joined #lisp 2014-12-10T11:35:27Z froggey quit (Ping timeout: 250 seconds) 2014-12-10T11:41:35Z jumblerg joined #lisp 2014-12-10T11:43:31Z dmiles_afk joined #lisp 2014-12-10T11:43:36Z josemanuel joined #lisp 2014-12-10T11:46:05Z przl quit (Ping timeout: 260 seconds) 2014-12-10T11:49:08Z Shinmera joined #lisp 2014-12-10T11:51:32Z dmiles_afk quit (Quit: Read error: 110 (Connection timed out)) 2014-12-10T11:51:40Z crumbles left #lisp 2014-12-10T11:56:53Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T11:57:29Z jumblerg joined #lisp 2014-12-10T11:57:31Z jumblerg quit (Client Quit) 2014-12-10T12:01:04Z dmiles_afk joined #lisp 2014-12-10T12:01:58Z Grue` quit (Ping timeout: 250 seconds) 2014-12-10T12:03:37Z _5kg quit (Ping timeout: 240 seconds) 2014-12-10T12:04:52Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-12-10T12:05:55Z munksgaard joined #lisp 2014-12-10T12:09:24Z yeticry quit (Remote host closed the connection) 2014-12-10T12:09:50Z mingvs joined #lisp 2014-12-10T12:09:51Z thawes joined #lisp 2014-12-10T12:10:00Z yeticry joined #lisp 2014-12-10T12:14:32Z yeticry quit (Ping timeout: 250 seconds) 2014-12-10T12:15:31Z yeticry joined #lisp 2014-12-10T12:16:27Z arenz quit (Ping timeout: 272 seconds) 2014-12-10T12:16:38Z arenz joined #lisp 2014-12-10T12:16:44Z hiyosi joined #lisp 2014-12-10T12:16:55Z Cymew: I wonder why newbies so often end up starting with clisp? Is it installed in the base system of some common linux distro or something? Or is it just selective preception on my part? 2014-12-10T12:17:41Z H4ns: Cymew: it has a built-in command line editor and runs on windows out of the box. 2014-12-10T12:17:46Z milosn quit (Remote host closed the connection) 2014-12-10T12:18:20Z Cymew: Hmm. Maybe that's it. I have a blind eye to the Windows world, but that might it. 2014-12-10T12:19:37Z Shinmera: Many years ago when I took a very quick look at CL I landed on clisp as well, but I cannot for the life of me remember why. 2014-12-10T12:19:58Z Shinmera: I am speculating that I landed on it through some tutorial and/or google search. 2014-12-10T12:20:14Z H4ns: some people are also attracted by the "gnu" label 2014-12-10T12:20:39Z Shinmera: The fact that many beginners "misspell" common lisp as clisp probably is another thing. 2014-12-10T12:21:07Z Beetny quit (Ping timeout: 245 seconds) 2014-12-10T12:21:25Z Cymew: I was introduced by my friend and mentor rydis to use CMUCL, and I don't even remember when it was. I wasn't even aware of clisp until far later.... 2014-12-10T12:23:10Z drdanmaku joined #lisp 2014-12-10T12:24:12Z BitPuffin joined #lisp 2014-12-10T12:29:46Z k-dawg joined #lisp 2014-12-10T12:30:33Z Grue` joined #lisp 2014-12-10T12:34:01Z Karl_Dscc joined #lisp 2014-12-10T12:44:31Z nowhere_man joined #lisp 2014-12-10T12:44:50Z nowhereman_ quit (Ping timeout: 244 seconds) 2014-12-10T12:47:30Z JokerDoom joined #lisp 2014-12-10T12:47:48Z pt1 joined #lisp 2014-12-10T12:48:59Z chu joined #lisp 2014-12-10T12:49:28Z Posterdati: Cymew: did you use sbcl too? 2014-12-10T12:49:53Z _5kg joined #lisp 2014-12-10T12:50:54Z _JokerDoom quit (Ping timeout: 265 seconds) 2014-12-10T12:57:43Z jusss joined #lisp 2014-12-10T13:02:03Z CrazyWoods quit (Ping timeout: 272 seconds) 2014-12-10T13:02:31Z froggey joined #lisp 2014-12-10T13:03:32Z _5kg quit (Ping timeout: 256 seconds) 2014-12-10T13:03:36Z JuanDaugherty joined #lisp 2014-12-10T13:04:13Z attila_lendvai joined #lisp 2014-12-10T13:04:32Z Cymew: Posterdati: Now I do. I stopped using CMUCL a few years back when I moved from FreeBSD to Linux and my day-to-day system 2014-12-10T13:04:43Z Cymew: s/and/as/ 2014-12-10T13:05:52Z Cymew: Now my FreeBSD development machine uses SBCL as well 2014-12-10T13:06:01Z yeticry quit (Ping timeout: 244 seconds) 2014-12-10T13:07:16Z yeticry joined #lisp 2014-12-10T13:09:29Z pranavrc quit 2014-12-10T13:10:15Z stassats joined #lisp 2014-12-10T13:12:55Z quazimodo quit (Ping timeout: 264 seconds) 2014-12-10T13:13:41Z CrazyWoods joined #lisp 2014-12-10T13:13:58Z stassats: is it only me or cl-smtp no longer works with gmail? 2014-12-10T13:14:49Z octophore_ joined #lisp 2014-12-10T13:15:08Z ejbs joined #lisp 2014-12-10T13:15:41Z octophore quit (Ping timeout: 260 seconds) 2014-12-10T13:15:54Z Xach hasn't tried it 2014-12-10T13:16:28Z przl joined #lisp 2014-12-10T13:16:58Z stassats: tls for one does not work 2014-12-10T13:18:22Z c53100 joined #lisp 2014-12-10T13:18:27Z rtra quit (Ping timeout: 265 seconds) 2014-12-10T13:19:19Z TDog quit (Ping timeout: 255 seconds) 2014-12-10T13:20:31Z psy_ quit (Read error: No route to host) 2014-12-10T13:20:50Z stassats: :ssl t seems to work 2014-12-10T13:21:09Z psy_ joined #lisp 2014-12-10T13:22:29Z stassats: seemingly works with office365 too, although the mail didn't get delivered 2014-12-10T13:23:03Z ccdumpwashere joined #lisp 2014-12-10T13:23:27Z rtra joined #lisp 2014-12-10T13:23:27Z stassats: ok, it did, but :ssl :tls is broken 2014-12-10T13:23:31Z ccdumpwashere: zwhoi Xach 2014-12-10T13:23:38Z ccdumpwashere quit (Client Quit) 2014-12-10T13:23:59Z stassats: not wanting to fix it, i'll settle for :ssl t, whatever that means 2014-12-10T13:26:35Z fe[nl]ix: what's the server address ? 2014-12-10T13:26:57Z eudoxia: i think you're supposed to use :ssl :starttls or some bullshit 2014-12-10T13:28:31Z stassats: :ssl t is the same as starttls 2014-12-10T13:28:35Z octophore joined #lisp 2014-12-10T13:28:36Z octophore quit (Excess Flood) 2014-12-10T13:28:49Z eudoxia: ah right 2014-12-10T13:29:01Z eudoxia: i thought t was equiv to :ssl :tls 2014-12-10T13:29:05Z octophore joined #lisp 2014-12-10T13:29:16Z stassats: what's the difference between starttls and tls? 2014-12-10T13:29:35Z eudoxia: the port number ¯\_(ツ)_/¯ 2014-12-10T13:30:04Z Shinmera: iirc tls uses a tls direction right away whereas starttls uses an insecure connection and then upgrades it. 2014-12-10T13:30:11Z stassats: well, cl-smtp doesn't get the number anyway 2014-12-10T13:30:17Z stassats: right 2014-12-10T13:30:39Z octophore_ quit (Ping timeout: 245 seconds) 2014-12-10T13:31:12Z stassats: ok, then cl-smtp is not broken 2014-12-10T13:32:29Z Grue` quit (Ping timeout: 260 seconds) 2014-12-10T13:37:12Z ejbs` joined #lisp 2014-12-10T13:39:01Z ejbs quit (Ping timeout: 260 seconds) 2014-12-10T13:40:52Z Grue` joined #lisp 2014-12-10T13:41:50Z hzp`fi is now known as hzp 2014-12-10T13:43:06Z foom quit (Ping timeout: 258 seconds) 2014-12-10T13:46:27Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-10T13:46:33Z _5kg joined #lisp 2014-12-10T13:50:15Z Posterdati: Cymew: I'm trying to get a decent lisp incarnation for freebsd on sparc64! 2014-12-10T13:51:43Z Cymew: Oh, I have not used SPARC in a while. That sounds like an adventure... 2014-12-10T13:53:03Z Guthur quit (Remote host closed the connection) 2014-12-10T13:54:32Z ejbs` quit (Remote host closed the connection) 2014-12-10T13:54:52Z towodo joined #lisp 2014-12-10T13:55:03Z foom joined #lisp 2014-12-10T13:58:34Z jusss quit (Remote host closed the connection) 2014-12-10T14:00:25Z baizhu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T14:06:31Z attila_lendvai quit (Quit: Leaving.) 2014-12-10T14:19:46Z CrazyWoods quit (Ping timeout: 250 seconds) 2014-12-10T14:20:18Z kushal joined #lisp 2014-12-10T14:20:34Z chrnybo joined #lisp 2014-12-10T14:23:09Z zeitue quit (Ping timeout: 252 seconds) 2014-12-10T14:23:48Z Posterdati: Cymew: no a pain, I was running slowlaris on it, but I changed for freebsd 2014-12-10T14:26:42Z loke_ joined #lisp 2014-12-10T14:26:59Z hitecnologys: What's the main difference between cl-aync's sockets and iolib's? How cl-async is different from lparallel? There are so many libraries that do the same things but a bit differently that sometimes I can't pick which one to use. Are there any rules of thumb for this problem or I'm the only one having it? 2014-12-10T14:27:10Z CrazyWoods joined #lisp 2014-12-10T14:27:28Z Xach: hitecnologys: it is not always clear what project is most suitable for a given task, across many types of tasks. 2014-12-10T14:28:07Z Posterdati: since slowlaris doesn't provide a direct source for GNU software... 2014-12-10T14:28:56Z fe[nl]ix: hitecnologys: cl-async is a wrapper for libuv whereas iolib's event loop is entirely in Lisp 2014-12-10T14:29:03Z Posterdati: Xach: I'm improving the project! 2014-12-10T14:29:54Z hitecnologys: fe[nl]ix: how would that affect me excluding the fact that I'll have to install libuv? 2014-12-10T14:29:57Z fe[nl]ix: lparallel is a multi-threaded task library, so it's entirely the opposite of async event loops, which do almost everything in one OS thread 2014-12-10T14:30:29Z fe[nl]ix: libuv is much more featureful 2014-12-10T14:30:56Z hitecnologys: I see. 2014-12-10T14:31:08Z fe[nl]ix: but, based on my experience with async event loops, bot in iolib and for working on a node.js project for the past year 2014-12-10T14:31:23Z fe[nl]ix: I'd advise you to stay the hell away from event loops 2014-12-10T14:31:32Z juanlas joined #lisp 2014-12-10T14:31:38Z xrash joined #lisp 2014-12-10T14:31:39Z Xach: Posterdati: what project? 2014-12-10T14:32:36Z Posterdati: circuit-solver 2014-12-10T14:34:23Z hitecnologys: Xach: that's one of my main problems. I can't do things because I can't decide how to do them so I don't event start. Eventually, I end up having dozen of inactive projects. 2014-12-10T14:34:31Z s00pcan_ joined #lisp 2014-12-10T14:34:53Z hitecnologys: fe[nl]ix: I see. Thanks for help. I'll stick to iolib then. 2014-12-10T14:35:42Z shortCircuit__ quit (Ping timeout: 245 seconds) 2014-12-10T14:35:55Z c53100 quit (Ping timeout: 244 seconds) 2014-12-10T14:40:23Z Baggers joined #lisp 2014-12-10T14:40:26Z przl quit (Ping timeout: 256 seconds) 2014-12-10T14:40:27Z Denommus quit (Quit: ZNC - http://znc.in) 2014-12-10T14:40:59Z Denommus joined #lisp 2014-12-10T14:41:01Z Denommus quit (Remote host closed the connection) 2014-12-10T14:41:15Z Denommus joined #lisp 2014-12-10T14:41:15Z Denommus quit (Changing host) 2014-12-10T14:41:15Z Denommus joined #lisp 2014-12-10T14:41:15Z Denommus quit (Read error: Connection reset by peer) 2014-12-10T14:41:29Z Denommus joined #lisp 2014-12-10T14:41:34Z Denommus quit (Read error: Connection reset by peer) 2014-12-10T14:41:57Z TDog joined #lisp 2014-12-10T14:42:35Z Denommus joined #lisp 2014-12-10T14:43:12Z gz__ is now known as gz 2014-12-10T14:44:07Z Denommus quit (Client Quit) 2014-12-10T14:45:25Z Denommus joined #lisp 2014-12-10T14:49:25Z thawes quit (Ping timeout: 258 seconds) 2014-12-10T14:49:39Z thawes joined #lisp 2014-12-10T14:50:46Z moore33 joined #lisp 2014-12-10T14:51:57Z oleo joined #lisp 2014-12-10T14:55:19Z milosn joined #lisp 2014-12-10T15:00:07Z gravicappa quit (Remote host closed the connection) 2014-12-10T15:03:01Z jtza8 quit (Ping timeout: 250 seconds) 2014-12-10T15:05:03Z jtza8 joined #lisp 2014-12-10T15:14:40Z hitecnologys: Does anyone have the sources of LMud? Link on Cliki seems to lead to dead CVS repository. 2014-12-10T15:15:34Z thawes quit (Ping timeout: 256 seconds) 2014-12-10T15:15:58Z thawes joined #lisp 2014-12-10T15:18:37Z dlowe: IIRC, it never got even close to running 2014-12-10T15:19:00Z theseb joined #lisp 2014-12-10T15:19:51Z hitecnologys: dlowe: I'm looking for game servers which code I can examine in order to see how other people deal with architectural problems. 2014-12-10T15:20:04Z juanlas quit (Quit: juanlas) 2014-12-10T15:20:06Z dlowe: If you want MUD source, https://github.com/TempusMUD/cl-tempus actually runs, and you can login and mess about 2014-12-10T15:20:21Z hitecnologys: Neat, thanks. 2014-12-10T15:20:34Z dlowe: Never went production, though. I left the whole project some months ago. 2014-12-10T15:22:36Z hitecnologys: Why? It looks quite complete to me. 2014-12-10T15:22:37Z ahungry_ joined #lisp 2014-12-10T15:23:19Z dlowe: It was intended to replace the C codebase. It's actually only about 1/3rd complete. 2014-12-10T15:23:47Z hitecnologys: Oh. I see. 2014-12-10T15:24:19Z dlowe: It's got no skills, no spells, and most of the special routines are missing. 2014-12-10T15:24:34Z dlowe: Also the scripting engine wasn't implemented. 2014-12-10T15:25:04Z dlowe: It's a pretty big system even so. 2014-12-10T15:25:06Z hardenedapple joined #lisp 2014-12-10T15:26:58Z przl joined #lisp 2014-12-10T15:29:33Z quazimodo joined #lisp 2014-12-10T15:29:54Z hitecnologys: dlowe: well, it's got enough code to keep me busy for a few years. Thanks a lot, it's almost perfectly close to what I've been looking for. 2014-12-10T15:33:27Z dlowe: huh. bigger than I remembered. 45k lines. 2014-12-10T15:36:29Z przl quit (Ping timeout: 264 seconds) 2014-12-10T15:38:21Z przl joined #lisp 2014-12-10T15:39:19Z rick-monster joined #lisp 2014-12-10T15:42:54Z billstclair joined #lisp 2014-12-10T15:42:54Z billstclair quit (Changing host) 2014-12-10T15:42:54Z billstclair joined #lisp 2014-12-10T15:44:33Z ivan\ quit (Ping timeout: 252 seconds) 2014-12-10T15:47:27Z ivan\ joined #lisp 2014-12-10T15:47:32Z jlongster joined #lisp 2014-12-10T15:50:44Z aerique_: Xach: Is there a convenient way / script yet to install Quicklisp to either the default or a custom directory on machines that do not have it installed? That the major point I run up against when distributing CL (well, mostly SBCL) scripts to other people. Installing SBCL is usually not a problem. 2014-12-10T15:51:08Z stepnem quit (Ping timeout: 258 seconds) 2014-12-10T15:52:36Z Karl_Dscc quit (Remote host closed the connection) 2014-12-10T15:52:55Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-10T15:57:04Z stepnem joined #lisp 2014-12-10T15:57:13Z Xach: aerique_: like sbcl --non-interactive --load quicklisp.lisp --eval '(quicklisp-quickstart:install)'? 2014-12-10T15:57:16Z rick-monster: hmm I'm also back to the problem of best way of deploying my common lisp software to our servers at work. Quite like the idea of hosting our own internal quicklisp dist, then having some easy way to merge 'upstream' changes from Xach's repo in a controlled way, integrated with some top-level testing 2014-12-10T15:57:20Z Xach: aerique_: or do you mean something different? 2014-12-10T15:58:05Z lavokad joined #lisp 2014-12-10T15:58:26Z aerique_: Xach: that might just work.. I recall have asked that before and getting the same answer :) 2014-12-10T15:58:37Z rick-monster: but maybe I'm over thinking it, and should just chuck a whole working quicklisp dir into .deb file - anyone have any good solutions/suggestions? 2014-12-10T15:59:15Z Xach: rick-monster: I've seen people do something very similar to that. 2014-12-10T15:59:58Z Xach: rick-monster: but quicklisp expects to be installed somewhere with write access, at least if it has to compile its own asdf. 2014-12-10T16:01:15Z rick-monster: hmm yes I forgot the other option is to blow a working lisp image into a 'binary' and deploy that... 2014-12-10T16:03:06Z rick-monster: the tricky point is to leave some paper trail for which versions of each library have been used, including some I've forked in the local-projects directory 2014-12-10T16:03:09Z dlowe: you can cat sbcl fasls together and load that, too 2014-12-10T16:03:29Z rick-monster: cool! 2014-12-10T16:03:54Z dlowe: if you want the fastest startup, dumping an image is the way to go, though. 2014-12-10T16:04:22Z Xach: rick-monster: i became aware yesterday of the "qlot" project, which lets you use a data file to specify which versions of things to get from quicklisp, git, http downloads, etc. 2014-12-10T16:04:23Z dlowe: It's possible you can query asdf's in-memory structures for library versions. Not sure, though 2014-12-10T16:04:26Z Xach: rick-monster: it looks quite promising 2014-12-10T16:04:38Z Xach gets a link 2014-12-10T16:04:44Z innertracks joined #lisp 2014-12-10T16:04:44Z rick-monster: xach - that certainly sounds work a look! 2014-12-10T16:04:53Z Xach: https://github.com/fukamachi/qlot/ 2014-12-10T16:04:59Z yrk joined #lisp 2014-12-10T16:05:13Z Xach: you write a specification file and qlot fetches everything to your specification. makes a config quite reproducible, it seems. 2014-12-10T16:05:29Z yrk quit (Changing host) 2014-12-10T16:05:29Z yrk joined #lisp 2014-12-10T16:06:03Z wheelsucker joined #lisp 2014-12-10T16:07:22Z shka joined #lisp 2014-12-10T16:07:37Z pt1 quit (Ping timeout: 265 seconds) 2014-12-10T16:08:50Z JuanitoJons joined #lisp 2014-12-10T16:09:29Z innertracks quit (Client Quit) 2014-12-10T16:13:13Z aerique_: Xach: i need to do (ql:add-to-init-file) non-interactively as well, and i don't like how i solved that in my older code (just loading setup.lisp) 2014-12-10T16:14:00Z jeaye: How could this be better? https://gist.github.com/jeaye/b2e2828d5effe488f27f 2014-12-10T16:14:14Z jeaye: (my first lisp program) 2014-12-10T16:15:45Z antoszka: jeaye: you don't need a PROGN in a COND, COND clauses have an “implicit PROGN”. 2014-12-10T16:16:03Z rick-monster: hmm yes Xach, have to look at qlot, also I may have a play around with quicklisp-controller - how hard can it be, right!? 2014-12-10T16:16:04Z antoszka: You can put as many forms as you like. 2014-12-10T16:16:36Z H4ns: jeaye: functions that just print one don't make the code any easier to line. i'd put the format right into the main loop. 2014-12-10T16:16:38Z jeaye: Ah, I see. Thanks. 2014-12-10T16:16:47Z H4ns: jeaye: i'd also avoid DO and use a loop instead 2014-12-10T16:16:52Z Xach: aerique_: (ql-util:without-prompting (ql:add-to-init-file)) 2014-12-10T16:17:20Z Xach: rick-monster: quicklisp-controller is a mudball 2014-12-10T16:17:39Z H4ns: jeaye: you are not declaring your special variables. using setf on something that is not defined is not guaranteed to work. use defvar. 2014-12-10T16:17:54Z shka: jeaye: hi 2014-12-10T16:18:02Z jeaye: H4ns: DO made more sense to me, coming from other languages. I realize it's not as idiomatic. 2014-12-10T16:18:04Z shka: jeaye: do we know each other? 2014-12-10T16:18:12Z jeaye: shka: Of course. 2014-12-10T16:18:21Z stassats quit (Ping timeout: 258 seconds) 2014-12-10T16:18:22Z shka: from openmw? 2014-12-10T16:18:30Z jeaye: mmhmm 2014-12-10T16:18:52Z shka: since i'm bit confused right now 2014-12-10T16:19:02Z shka: i was not expecting other jeaye here ;] 2014-12-10T16:19:06Z H4ns: jeaye: i'd say that "better" includes "more idiomatic". 2014-12-10T16:19:31Z jeaye: shka: I'm not normally the one asking the questions. :P 2014-12-10T16:19:40Z jeaye: Trying out lisp though. 2014-12-10T16:19:49Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T16:19:53Z shka: right 2014-12-10T16:19:58Z shka: that's interesting 2014-12-10T16:20:02Z jeaye: H4ns: What makes my variables special? 2014-12-10T16:20:21Z shka: jeaye: scope 2014-12-10T16:20:39Z H4ns: jeaye: defvar or defparameter makes them special. many lisps automatically make a variable that you setf and that did not exist before into special variables, but it is not the right way. 2014-12-10T16:20:53Z fe[nl]ix: shka: no, it's extent 2014-12-10T16:21:01Z fe[nl]ix: shka: see the CLHS for the difference 2014-12-10T16:21:08Z shka: ah ok 2014-12-10T16:21:34Z shka: fe[nl]ix: you are right 2014-12-10T16:22:07Z splittist: jeaye: you might want to put your main loop in a defun so you can call it from the repl. You could also add some optional parameters to make testing easier 2014-12-10T16:22:38Z shka: jeaye: common lisp refuse to surrender from the frontal assoult so i recomend to grab a book about the language 2014-12-10T16:22:52Z TDog quit (Ping timeout: 244 seconds) 2014-12-10T16:22:59Z shka: practical common lisp is something that you may like 2014-12-10T16:23:00Z jeaye: shka: I've been reading a book about it. 2014-12-10T16:23:01Z antoszka: jeaye: I'd also put the answer to be within the scope of your do-loop using a let-form wrapping the do-loop. 2014-12-10T16:23:16Z jeaye: shka: I asked for this assault. ;) 2014-12-10T16:23:32Z shka: jeaye: can you please paste link to the code? 2014-12-10T16:23:42Z antoszka: shka: first link up ↑ 2014-12-10T16:24:16Z shka: antoszka: thanks, i missed it 2014-12-10T16:24:55Z pjb` is now known as pjb 2014-12-10T16:25:10Z shka: jeaye: sicp? 2014-12-10T16:25:31Z jeaye: shka: hm? 2014-12-10T16:25:47Z jeaye: shka: https://gist.github.com/jeaye/b2e2828d5effe488f27f 2014-12-10T16:25:55Z shka: i'm wonder what book you are reading? 2014-12-10T16:26:15Z jeaye: I'm reading practical common lisp. 2014-12-10T16:26:24Z shka: very good choice 2014-12-10T16:26:55Z jeaye: Right. I just need the syntax and idioms. I'm familiar with the rest. 2014-12-10T16:27:10Z shka: well, common lisp syntax is… minimal 2014-12-10T16:27:22Z Xach: Not all that minimal. 2014-12-10T16:27:59Z pjb: shifty778: for a one-shot long string, you can use #. : #.(format nil "long~line~yay!") ; if you have a lot of such long strings, then you can write your own reader macro for " or some other long-string quote (perhaps 《long\nstring》?) 2014-12-10T16:28:12Z shka: jeaye: it is a little about different paradgim of solving things as well 2014-12-10T16:28:13Z innertracks joined #lisp 2014-12-10T16:28:27Z Xach: What with ', #', #\, #(, ', ,, macros, etc. 2014-12-10T16:28:53Z shka: Xach: i thing that this would be all ;] 2014-12-10T16:28:56Z hardenedapple joined #lisp 2014-12-10T16:29:05Z pnpuff joined #lisp 2014-12-10T16:29:09Z shka: so imho still rather minimal 2014-12-10T16:29:10Z pjb: fe[nl]ix: clisp plays very well with slime nowadays! Don't spread disinformation. 2014-12-10T16:29:11Z Xach: #<, ,@, ,., and more 2014-12-10T16:29:27Z jeaye: shka: Compared to what I'm used to, yes. 2014-12-10T16:29:33Z Xach: shka: I don't know. I think if you expect minimalism you may run into confusion and think "gee, this is so minimal, i must be dumb" 2014-12-10T16:29:48Z Xach: It's not all that minimal, there are a bunch of things you just have to learn and internalize. 2014-12-10T16:29:53Z antoszka: Yeah, I'd say it's pretty logical and consistent rather than minimal. 2014-12-10T16:29:56Z splittist: jeaye: you don't need the last test in your COND: you can use the default T i.e. (T (WIN GUESSES) ... 2014-12-10T16:30:06Z shka: jeaye: for instance, it may not be uncommon to write this kind of loops as recursive functions instead 2014-12-10T16:30:12Z antoszka: Knowing that you need to check up what various # things mean. 2014-12-10T16:30:19Z egp_ joined #lisp 2014-12-10T16:30:27Z shka: graham would wrote it this way for sure 2014-12-10T16:30:27Z H4ns: shka: it may not be uncommon in, say, scheme. true. 2014-12-10T16:30:30Z egp_ quit (Read error: Connection reset by peer) 2014-12-10T16:30:30Z Xach: I can never remember the syntax for macros I don't use very often, even though I use them regularly. 2014-12-10T16:30:34Z jeaye: shka: That's not so much the language as it is a more functional paradigm. 2014-12-10T16:30:37Z jeaye: splittist: Ah. 2014-12-10T16:31:08Z Xach probably should start writing a handler-case / handler-bind per day to get it completely internalized 2014-12-10T16:31:20Z shka: jeaye: btw, i'm wonder if it was me who pushed you into trying cl ;> 2014-12-10T16:31:32Z jeaye: Nope. 2014-12-10T16:31:38Z shka: :< 2014-12-10T16:32:08Z splittist: jeaye: in any event, you should be using = for numbers (since you've assumed guess and answer are numbers by using < and >) (: 2014-12-10T16:32:38Z shka: jeaye: so let's not use special variables 2014-12-10T16:32:45Z jeaye: shka: I was going to use kitten for this project, but it doesn't have the compile-time expression support I want. I've had an eye on lisp for a while before that, just been waiting for some time. 2014-12-10T16:32:51Z Baggers left #lisp 2014-12-10T16:33:15Z jeaye: splittist: Yup. Thanks. 2014-12-10T16:33:25Z shka: what you are doing here, as hans pointed out is not cross platform 2014-12-10T16:33:34Z shka: also 2014-12-10T16:33:56Z pjb: - 2014-12-10T16:33:57Z loke_ quit (Remote host closed the connection) 2014-12-10T16:34:06Z pnpuff: :-) 2014-12-10T16:34:19Z shka: a bit of offtopic but setf can bind more than one variable at the time 2014-12-10T16:34:30Z H4ns: shka: setf can not bind variables. 2014-12-10T16:34:36Z shka: eeeh 2014-12-10T16:34:44Z shka: jeaye: set more than one variable 2014-12-10T16:35:03Z jeaye: shka: I was hacking on a virtual machine project in C++, my comfort zone, when I decided it'd be a good exercise to use something else. Thus, I'm evaluating lisp. 2014-12-10T16:35:05Z shka: but here, you would rather want to use let 2014-12-10T16:35:21Z cyraxjoe joined #lisp 2014-12-10T16:35:42Z jeaye: shka: Right. I've changed the variable to be scoped in a let above the do. 2014-12-10T16:35:52Z H4ns: well, actually, i'm wrong. i'm ashamed and will be dropping out of this discussion for now :/ 2014-12-10T16:35:53Z MightyJoe quit (Ping timeout: 264 seconds) 2014-12-10T16:35:56Z Shinmera: rick-monster: If you want to roll your own dist, take a look at https://github.com/Shirakumo/dist and https://github.com/orivej/quickdist 2014-12-10T16:35:59Z jeaye: Still not a fan of loop's non-lispy syntax. 2014-12-10T16:36:11Z Shinmera: Loop's syntax is very lispy 2014-12-10T16:36:20Z shka: jeaye: try iterate :) 2014-12-10T16:36:25Z shka: avaible at quicklisp 2014-12-10T16:36:37Z H4ns: jeaye: you can use a simple loop like that: (let ((x 1)) (loop (...) (incf x))) 2014-12-10T16:36:40Z Shinmera: Or just get over yourself and use loop. 2014-12-10T16:36:50Z H4ns: or what Shinmera says 2014-12-10T16:37:11Z jeaye: I'm quite happy using do though. 2014-12-10T16:37:23Z shka: that's fine 2014-12-10T16:37:35Z Shinmera: People reading your code probably won't be 2014-12-10T16:37:43Z urandom__ joined #lisp 2014-12-10T16:38:14Z jeaye: The practical lisp book disagrees. ;) 2014-12-10T16:38:27Z shka: jeaye: btw, try something like (let ((foo 1)) (defun () (incf foo))) 2014-12-10T16:39:06Z rick-monster: thanks for that shinmera 2014-12-10T16:39:39Z shka: closures + passing functions can be pretty powerfull way to extend your code 2014-12-10T16:40:09Z pnpuff: and don't try to play with a piano with only one finger 2014-12-10T16:40:20Z Shinmera: rick-monster: Using quickdist was really painless and simple, though it required a gross hack to get the version number scheme to work in the package files. 2014-12-10T16:40:21Z shka: hehe 2014-12-10T16:40:44Z shka: jeaye: good luck on your lispy advanteruse 2014-12-10T16:40:46Z Shinmera: rick-monster: The only thing that'll be left up to you is updating the sources for the packages and whatnot, though you might be able to use the stuff I did in shirakumo/dist for that. 2014-12-10T16:40:54Z jeaye: shka: cheers 2014-12-10T16:41:14Z splittist: jeaye: you could try hoisting the invocation of prompt into another stepping form in the do, and use the do's end-test and result forms, leaving you with a simple if (and a potential off-by-one issue...) (: 2014-12-10T16:41:48Z shka: jeaye: ah and one more thing 2014-12-10T16:42:02Z shka: if you never readed sicp you can do that 2014-12-10T16:42:13Z shka: it is not practical, but very enjoyable lecture 2014-12-10T16:42:20Z shka: scheme, not cl though 2014-12-10T16:43:12Z attila_lendvai joined #lisp 2014-12-10T16:43:12Z attila_lendvai quit (Changing host) 2014-12-10T16:43:12Z attila_lendvai joined #lisp 2014-12-10T16:43:14Z Xach: shka: You are giving out bad info by the bucketload. 2014-12-10T16:43:31Z petrutrimbitas joined #lisp 2014-12-10T16:43:38Z Xach: It seems like you are trying to help, which is good, but the info is not good. 2014-12-10T16:43:53Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-10T16:43:55Z stassats joined #lisp 2014-12-10T16:43:57Z Shinmera: That poor defun got lost in a let. :( 2014-12-10T16:44:04Z shka: Xach: i won't question that 2014-12-10T16:44:27Z arenz quit (Ping timeout: 245 seconds) 2014-12-10T16:44:35Z shka: ok, so i better let more expierenced programmers help 2014-12-10T16:44:42Z shka: *expirenced 2014-12-10T16:44:55Z shka: cheers 2014-12-10T16:45:10Z gz quit (Ping timeout: 185 seconds) 2014-12-10T16:45:44Z jeaye: Ok, thanks folks. That was great. 2014-12-10T16:45:55Z Shinmera: What was? 2014-12-10T16:45:57Z aerique_: hmm, there's no explicit BACKQUOTE special operator like QUOTE? i mean the actual word, not the symbols... my shell script trips over literal ` 2014-12-10T16:45:57Z victor_lowther quit (Ping timeout: 258 seconds) 2014-12-10T16:46:13Z Shinmera: aerique_: It's implementation dependant. 2014-12-10T16:46:15Z jeaye: Shinmera: The onslaught of suggestions. 2014-12-10T16:46:15Z splittist quit (Ping timeout: 272 seconds) 2014-12-10T16:46:18Z stassats: aerique_: there isn't 2014-12-10T16:46:28Z aerique_: right thanks... dang 2014-12-10T16:46:29Z genii joined #lisp 2014-12-10T16:46:39Z Shinmera: Making your shell not trip over it should be fixable though. 2014-12-10T16:46:53Z gz quit (Ping timeout: 272 seconds) 2014-12-10T16:46:58Z stassats: and it shouldn't be a special operator 2014-12-10T16:47:06Z jasom: aerique_: if you just care about the shell thing, then your implementation may have an equivalent 2014-12-10T16:47:10Z jasom: aerique_: or you could just use backslash 2014-12-10T16:47:27Z bb010g quit (Ping timeout: 244 seconds) 2014-12-10T16:47:29Z endou_____ quit (Ping timeout: 258 seconds) 2014-12-10T16:47:29Z NhanH quit (Ping timeout: 258 seconds) 2014-12-10T16:47:52Z drdanmaku quit (Ping timeout: 258 seconds) 2014-12-10T16:47:52Z superjudge quit (Ping timeout: 258 seconds) 2014-12-10T16:48:15Z gluegadget quit (Ping timeout: 258 seconds) 2014-12-10T16:48:17Z ivan\ quit (Ping timeout: 240 seconds) 2014-12-10T16:49:33Z ivan\ joined #lisp 2014-12-10T16:49:40Z aerique_: yeah, backslash works silly me. almost victory but i have to go home 2014-12-10T16:49:56Z innertracks quit (Quit: innertracks) 2014-12-10T16:50:00Z redeemed quit (Quit: q) 2014-12-10T16:50:01Z aerique_: in a "#!/bin/sh" script: sbcl --non-interactive --load quicklisp.lisp --eval "(progn (quicklisp-quickstart:install) (eval \`(,(intern \"WITHOUT-PROMPTING\" :ql-util) ,(intern \"ADD-TO-INIT-FILE\" :ql))))" 2014-12-10T16:50:18Z Xach: aerique_: just use multiple --eval statements. 2014-12-10T16:50:21Z aerique_: I'm probably being silly here 2014-12-10T16:50:24Z Xach: aerique_: no need to fuss with INTERN. 2014-12-10T16:50:35Z aerique_: Xach: oh my, thanks 2014-12-10T16:51:00Z aerique_: been using CL too little apparently :) 2014-12-10T16:51:02Z shka: actually i have a question as well 2014-12-10T16:51:16Z aerique_ is off to home 2014-12-10T16:51:29Z stassats: even then, the usual is #.(null (quicklisp-quickstart:install)) 2014-12-10T16:52:10Z jasom: stassats: I actually hadn't seen it done that way before 2014-12-10T16:52:14Z Xach: stassats: that is a trick with which i am unfamiliar. the usual! 2014-12-10T16:52:26Z stassats: well, i usually do it 2014-12-10T16:52:37Z Xach: stassats: what inspired you to do it? first principles? 2014-12-10T16:52:48Z shka: i was looking for any example code using conditions system for something more than exceptions handling 2014-12-10T16:52:59Z stassats: pasting a single form into the repl (progn #.(null (require-something)) use-that-package) 2014-12-10T16:53:01Z stassats: naturally 2014-12-10T16:53:17Z jasom: shka: PCL has an example of using restarts when parsing a config file 2014-12-10T16:53:28Z stassats: for testing a bug, most of the time 2014-12-10T16:53:31Z H4ns: shka: i'm sometimes using conditions to implement counters 2014-12-10T16:53:47Z shka: jasom: right, thanks 2014-12-10T16:53:58Z Xach: I used conditions to implement a progress bar. 2014-12-10T16:54:06Z H4ns: shka: i.e. some lower level code signals a condition for each record processed that is caught by the top-level function to count them. 2014-12-10T16:54:15Z Xach: the idea being a different display system could make it look prettier. 2014-12-10T16:54:47Z jasom: shka: someone made a unix-pipe-like thing using conditions to transfer control, but I can't find it at the moment 2014-12-10T16:55:17Z aerique_: well i couldn't let it go: it works now even with a custom dir... thanks all! now i am really off 2014-12-10T16:55:19Z attila_lendvai quit (Quit: Leaving.) 2014-12-10T16:55:54Z Xach: aerique_: hooray! 2014-12-10T16:56:22Z aerique_: sbcl --non-interactive --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path \"${1}\")" --eval "(ql-util:without-prompting (ql:add-to-init-file))" 2014-12-10T16:56:59Z Xach: aerique_: that will dump out with an error if the path already exists, fyi. 2014-12-10T16:57:38Z Xach: Shinmera: You talked a few days ago about the problem with quicklisp not finding and quickloading system automatically. 2014-12-10T16:57:45Z jasom: shka: here it is: http://www.dawnofthedata.com/2014/05/abusing-langauge-features-common-lisp.html 2014-12-10T16:57:48Z Xach: Shinmera: did you have a specific system in mind? 2014-12-10T16:58:03Z shka: jasom: i actually seen this ;-) 2014-12-10T16:58:56Z Xach: Shinmera: I'm digging into it today, and it looks more difficult than I thought, but maybe I'm troubleshooting the wrong use-case. 2014-12-10T16:59:14Z juanlas joined #lisp 2014-12-10T17:00:02Z stassats: using the condition system for the logic will rarely be a good idea 2014-12-10T17:00:18Z tadni quit (Ping timeout: 265 seconds) 2014-12-10T17:03:36Z innertracks joined #lisp 2014-12-10T17:05:17Z theseb quit (Quit: Leaving) 2014-12-10T17:05:29Z shka: stassats: i like Xach idea for progress bar 2014-12-10T17:05:45Z innertracks quit (Client Quit) 2014-12-10T17:06:36Z Xach: The other option, of course, is to have a callback or a special or something that's called. 2014-12-10T17:06:43Z stassats: (defvar *progress-callback* (constantly nil)) will be cheapear 2014-12-10T17:06:51Z gavilancomun quit (Quit: ChatZilla 0.9.91 [Firefox 34.0/20141125180439]) 2014-12-10T17:08:54Z Cymew quit (Ping timeout: 264 seconds) 2014-12-10T17:09:07Z CrazyWoods quit (Ping timeout: 250 seconds) 2014-12-10T17:09:26Z eudoxia quit (Quit: Leaving) 2014-12-10T17:09:39Z shka: stassats: but not as cute ;-) 2014-12-10T17:10:28Z CrazyWoods joined #lisp 2014-12-10T17:10:47Z Xach is bummed that a missing :depends-on component and a missing :defsystem-depends-on component signal two completely separate errors 2014-12-10T17:11:40Z shka: Xach: it happens 2014-12-10T17:11:49Z shka hugs Xach 2014-12-10T17:12:42Z Xach: amusingly enough, the missing-component condition is embedded in a slot in the load-system-definition-error of the latter, but with a non-exported reader 2014-12-10T17:12:57Z Xach: but the slot is named CL:CONDITION, so that means I'm free to reference it without :: shame! 2014-12-10T17:13:32Z mlaine joined #lisp 2014-12-10T17:14:09Z stassats: asdf error handling is horrible 2014-12-10T17:14:37Z CrazyWoods quit (Ping timeout: 240 seconds) 2014-12-10T17:14:43Z moore33 quit 2014-12-10T17:14:48Z Xach: so glad i have my wagon hitched to its star 2014-12-10T17:15:04Z mlaine: how come a very simple program is scheme results in >5M executable? 2014-12-10T17:15:15Z mlaine: i use gambit to compile 2014-12-10T17:15:30Z stassats: mlaine: you missed #scheme 2014-12-10T17:15:52Z stassats: but we can talk about 50MB programs here instead, if you want 2014-12-10T17:15:57Z CrazyWoods joined #lisp 2014-12-10T17:16:05Z mlaine: stassats: ok :) 2014-12-10T17:17:21Z tharugrim quit (Ping timeout: 250 seconds) 2014-12-10T17:18:58Z Karl_Dscc joined #lisp 2014-12-10T17:19:06Z beach joined #lisp 2014-12-10T17:19:16Z beach: Good evening everyone! 2014-12-10T17:19:30Z atgreen joined #lisp 2014-12-10T17:19:39Z pnpuff: beach! 2014-12-10T17:19:45Z tharugrim joined #lisp 2014-12-10T17:19:57Z Xach: beach: i eagerly await data from your dpans project. 2014-12-10T17:20:13Z beach: Xach: Oh? In what form? 2014-12-10T17:20:52Z EvW joined #lisp 2014-12-10T17:21:07Z Xach: Press-ready PDF, maybe! 2014-12-10T17:21:22Z beach: Yeah, OK. 2014-12-10T17:21:44Z beach: I am only working on it in baby steps so it will take some time. 2014-12-10T17:22:07Z Xach: I have toyed with the idea of a book of the standard for a while. The less work I have to do with tex parsing the happier I am about the idea. 2014-12-10T17:22:09Z beach: But the combinatory parsing framework is going to make things easier. 2014-12-10T17:22:39Z beach: Good plan. 2014-12-10T17:22:45Z beach: Do you have a publisher? 2014-12-10T17:22:59Z beach: Otherwise, I can recommend CreateSpace. 2014-12-10T17:23:04Z stassats: will it have pictures? 2014-12-10T17:23:43Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-10T17:23:48Z Xach: stassats: only one, a centerfold 2014-12-10T17:24:18Z stassats: intriguing 2014-12-10T17:24:22Z pnpuff: Xach: are you referring to a "standard CL" book? 2014-12-10T17:24:59Z Xach: pnpuff: yes, a book version of the ANSI Common Lisp standard. 2014-12-10T17:25:11Z pnpuff: wow...very cool 2014-12-10T17:26:29Z beach: Xach: I assume you want to make some changes. Otherwise, you can just use TeX on the existing sources. 2014-12-10T17:27:28Z Xach: beach: Interesting. I didn't know that worked. I thought I tried that and got lots of impenetrable (to me) errors. 2014-12-10T17:27:37Z Xach: Maybe I misremember. 2014-12-10T17:27:50Z beach: And maybe I didn't actually try it. :) 2014-12-10T17:27:59Z beach: It's not LaTeX. It's plain TeX. 2014-12-10T17:28:23Z mlaine left #lisp 2014-12-10T17:28:53Z tharugrim quit (Ping timeout: 258 seconds) 2014-12-10T17:29:13Z beach: I must have tried something because I remember the final layout on a chapter. 2014-12-10T17:29:18Z Xach: beach: the guy who made http://www.wellsortedversion.com/ wrote some details about his process. i was thinking of following that route. 2014-12-10T17:29:56Z agumonkey quit (Read error: No route to host) 2014-12-10T17:30:07Z Harag joined #lisp 2014-12-10T17:30:14Z agumonkey joined #lisp 2014-12-10T17:30:16Z tharugrim joined #lisp 2014-12-10T17:30:22Z beach: Xach: OK. Interesting. 2014-12-10T17:30:54Z stassats: you want a sorted CL? 2014-12-10T17:30:58Z Karl_Dscc quit (Remote host closed the connection) 2014-12-10T17:31:51Z beach: Xach: It will be, er, special. 2014-12-10T17:32:03Z Xach: making the ))) joke come true? no. but the quality of the output is important to me. 2014-12-10T17:32:23Z Xach: and that is an example of a code nerd producing something that appears to be biblical in quality. 2014-12-10T17:32:33Z Xach: http://www.xach.com/naggum/articles/3239756833803284%40naggum.no.html is the original inspiration 2014-12-10T17:33:38Z pnpuff quit (Ping timeout: 256 seconds) 2014-12-10T17:33:55Z munksgaard quit (Ping timeout: 264 seconds) 2014-12-10T17:34:05Z stassats: hard to imagine the standard without hyperlinks 2014-12-10T17:34:09Z milosn quit (Read error: Connection reset by peer) 2014-12-10T17:34:28Z agumonkey quit (Ping timeout: 244 seconds) 2014-12-10T17:35:41Z milosn joined #lisp 2014-12-10T17:35:50Z Shinmera: Xach: I only recall the errors on systems that are not in Quicklisp right now 2014-12-10T17:35:57Z beach: Xach: A few underfull boxes, but otherwise chapter 9 compiles fine with pdftex. 2014-12-10T17:36:01Z Shinmera: Xach: So I'm sorry to say that I don't know any usable test cases off the top of my head 2014-12-10T17:36:02Z shka: (The only 2014-12-10T17:36:03Z shka: objection I have against the standard qua publication is that it uses the 2014-12-10T17:36:05Z shka: butt-ugly default TeX fonts.) 2014-12-10T17:36:07Z shka: really? 2014-12-10T17:36:13Z agumonkey joined #lisp 2014-12-10T17:36:23Z Shinmera: Xach: I do have some things that use defsystem-depends-on in QL, but those are sub-systems rather than the main one, so I'll have to see if it triggers the issue. 2014-12-10T17:36:24Z shka: i like TeX fonts 2014-12-10T17:36:31Z stassats: good for you 2014-12-10T17:36:36Z Shinmera: Xach: I'll get back to you on that in some hours, have to go for dinner right now. 2014-12-10T17:36:39Z Xach: Shinmera: not in quicklisp is a good test, if it can be simplified 2014-12-10T17:37:42Z NhanH joined #lisp 2014-12-10T17:38:03Z superjudge joined #lisp 2014-12-10T17:38:16Z beach: Xach: http://metamodular.com/chap-9.pdf 2014-12-10T17:40:50Z beach: Some 12 hours ago, I was discussing unhelpful error messages. Today, I was working on SICL LOOP so I tested this one in SBCL: (defun ff () (loop with ((a)) = (gg))) 2014-12-10T17:41:00Z TDog joined #lisp 2014-12-10T17:41:23Z victor_lowther joined #lisp 2014-12-10T17:42:07Z splittist joined #lisp 2014-12-10T17:42:21Z drdanmaku joined #lisp 2014-12-10T17:42:46Z stassats: that should be easy 2014-12-10T17:42:57Z agumonkey quit (Ping timeout: 240 seconds) 2014-12-10T17:43:22Z pt1 joined #lisp 2014-12-10T17:43:43Z agumonkey joined #lisp 2014-12-10T17:44:09Z pt1_ joined #lisp 2014-12-10T17:46:28Z gigetoo quit (Ping timeout: 250 seconds) 2014-12-10T17:48:03Z pt1 quit (Ping timeout: 258 seconds) 2014-12-10T17:48:10Z pt1_ quit (Read error: Connection reset by peer) 2014-12-10T17:48:55Z pt1_ joined #lisp 2014-12-10T17:50:55Z shka: jeaye: don't forget to let me know how is your lisp going ;-) 2014-12-10T17:51:09Z endou_____ joined #lisp 2014-12-10T17:51:39Z theseb joined #lisp 2014-12-10T17:52:49Z resttime joined #lisp 2014-12-10T17:52:50Z fragamus joined #lisp 2014-12-10T17:53:50Z juanlas quit (Quit: juanlas) 2014-12-10T17:55:36Z gluegadget joined #lisp 2014-12-10T17:55:40Z bb010g joined #lisp 2014-12-10T17:56:26Z stassats senses a use for NRECONC, gets excited 2014-12-10T17:57:00Z s00pcan_ quit (Quit: Lost terminal) 2014-12-10T17:57:37Z gravicappa joined #lisp 2014-12-10T17:57:49Z pt1_ quit (Ping timeout: 272 seconds) 2014-12-10T17:59:53Z loz1 joined #lisp 2014-12-10T18:00:49Z gz joined #lisp 2014-12-10T18:03:40Z edgar-rft quit (Quit: continuation destroyed because happening disconnected) 2014-12-10T18:15:25Z przl quit (Ping timeout: 250 seconds) 2014-12-10T18:17:24Z zygentoma joined #lisp 2014-12-10T18:20:19Z teiresias joined #lisp 2014-12-10T18:22:30Z pt1 joined #lisp 2014-12-10T18:23:38Z hardenedapple joined #lisp 2014-12-10T18:24:09Z pt1_ joined #lisp 2014-12-10T18:26:31Z innertracks joined #lisp 2014-12-10T18:27:09Z pt1 quit (Ping timeout: 258 seconds) 2014-12-10T18:27:43Z kushal quit (Ping timeout: 252 seconds) 2014-12-10T18:28:25Z kushal joined #lisp 2014-12-10T18:28:45Z josemanuel quit (Quit: Saliendo) 2014-12-10T18:31:08Z nikki93 joined #lisp 2014-12-10T18:31:51Z stassats: beach: fixed, thanks 2014-12-10T18:32:10Z stassats: with nreconc, no less 2014-12-10T18:32:14Z Xach: swoon 2014-12-10T18:33:31Z Xach: TWO nreconcs! 2014-12-10T18:34:36Z stassats: gah, found a new way to break it 2014-12-10T18:35:32Z stassats: (loop with (&key) = '(1 2) return &key) 2014-12-10T18:35:53Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T18:36:05Z Joreji joined #lisp 2014-12-10T18:36:23Z stassats: i think that puts a stop on using destructuring-bind 2014-12-10T18:37:14Z Xach: ouf 2014-12-10T18:37:29Z stassats: it's easy, since (loop for (&key) = '(1 2) return &key) looks alright 2014-12-10T18:37:33Z stassats: s/looks/works/ 2014-12-10T18:37:41Z stassats: so, just stop using d-b for WITH 2014-12-10T18:40:17Z hiroakip joined #lisp 2014-12-10T18:41:19Z pt1_ quit (Read error: Connection reset by peer) 2014-12-10T18:41:50Z pt1 joined #lisp 2014-12-10T18:43:36Z Xach: oops, i forgot that slot-value on conditions is not specified. 2014-12-10T18:44:48Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T18:45:07Z wg1024 joined #lisp 2014-12-10T18:46:17Z pt1 joined #lisp 2014-12-10T18:46:52Z beach: stassats: How did you fix it? 2014-12-10T18:47:17Z stassats: with a SMOP, but now it's fundamentally broken 2014-12-10T18:47:36Z beach: I mean, did you fix the error message, or did you make it work. 2014-12-10T18:47:37Z beach: ? 2014-12-10T18:47:37Z stassats: or, it always was, now it's known to be 2014-12-10T18:47:46Z stassats: made it work 2014-12-10T18:47:51Z beach: OK, good. 2014-12-10T18:47:55Z beach: Because, I think it is suppose to be legal. 2014-12-10T18:47:58Z beach: d 2014-12-10T18:49:34Z beach: Xach: Did you see the PDF of chapter 9? 2014-12-10T18:49:44Z beach: I haven't tried all chapters, but that one worked fine. 2014-12-10T18:49:51Z Xach: beach: yes, it looks very good. 2014-12-10T18:49:57Z stassats: getting rid of destructuring-bind is a bit harder 2014-12-10T18:50:17Z cmatei quit (Ping timeout: 264 seconds) 2014-12-10T18:51:02Z FracV_ joined #lisp 2014-12-10T18:51:31Z FracV_ quit (Client Quit) 2014-12-10T18:51:33Z ivan\ quit (Ping timeout: 252 seconds) 2014-12-10T18:51:52Z shka: beach: good evening sir 2014-12-10T18:52:04Z shka: metamodular is your personal site? 2014-12-10T18:52:41Z beach: shka: Yes. I used to have a small company by that name. No longer, though. I kept the name of the web site. 2014-12-10T18:53:11Z shka: metamodular sounds like any excelent name for a company 2014-12-10T18:53:17Z pt1 quit (Ping timeout: 240 seconds) 2014-12-10T18:53:27Z beach: Thanks. 2014-12-10T18:53:44Z shka: beach: i wanted to ask, who made that pdf? 2014-12-10T18:54:01Z beach: I did, by typing pdftex chapter-9.tex 2014-12-10T18:54:15Z shka: it looks pretty 2014-12-10T18:54:29Z Shinmera: As is usual for TeX pdfs. 2014-12-10T18:54:34Z shka: what class was used? 2014-12-10T18:55:02Z beach: shka: It is not LaTeX. It is plain TeX with their own macros. 2014-12-10T18:55:22Z shka: oooh ok 2014-12-10T18:56:02Z shka: i really like the section headers style 2014-12-10T18:56:08Z beach: Good Lisp programmers appear to be good TeX hackers too. 2014-12-10T18:56:34Z beach: shka: Tell that to Kent Pitman et al. 2014-12-10T18:58:10Z CrazyWoods quit (Ping timeout: 244 seconds) 2014-12-10T18:58:30Z shka: http://www.nhplace.com/kent/ 2014-12-10T18:58:32Z shka: so 2014-12-10T18:58:38Z shka: i see comic sans here 2014-12-10T18:58:53Z beach: How so? 2014-12-10T18:58:59Z CrazyWoods joined #lisp 2014-12-10T18:59:05Z stassats: good lisp programmers are also decent Scotsmen 2014-12-10T18:59:15Z wg1024 quit (Ping timeout: 252 seconds) 2014-12-10T18:59:32Z shka: stassats: i'm sometimes glad that i'm a bad lisp programmer 2014-12-10T18:59:58Z Shinmera: That is a very unfortunate statement to hear. 2014-12-10T19:00:04Z beach: Sorry, time for me to go spend time with my (admittedly small) family. 2014-12-10T19:00:08Z beach left #lisp 2014-12-10T19:00:14Z shka: beach: i just wanted to point out that pitman has obviously flawed sense of beauty ;-) 2014-12-10T19:00:32Z H4ns: he also has a full file system 2014-12-10T19:00:49Z H4ns: and user-unfriendly error messages containing sql statements, for that matter :D 2014-12-10T19:01:04Z stassats: must be all those 50MB lisp binaries 2014-12-10T19:01:08Z shka: Shinmera: trying to get better ;-) 2014-12-10T19:01:24Z wg1024 joined #lisp 2014-12-10T19:01:31Z shka: http://open.salon.com/blog/kent_pitman/2011/03/05/our_national_priorities 2014-12-10T19:01:34Z shka: yup 2014-12-10T19:01:41Z shka: H4ns: no kidding 2014-12-10T19:02:01Z stassats hopes nobody will insert lots of cl:& into their LOOP code 2014-12-10T19:02:14Z stassats: because a fix is not obvious, and it's broken on ccl too 2014-12-10T19:04:35Z nikki93 quit (Remote host closed the connection) 2014-12-10T19:07:33Z zacharias quit (Ping timeout: 260 seconds) 2014-12-10T19:08:10Z stassats: it could be fun inserting &key &etc. into different places and seeing what breaks 2014-12-10T19:09:03Z White_Flame: rick-monster: We deploy via binary images. These report their git-based version tag, which is where we get repeatable builds from. 2014-12-10T19:09:33Z White_Flame: rick-monster: All libs are copied from the quicklisp dirs into the project dir; the project itself does not refer to quicklisp, so it's all contained in a single checkout 2014-12-10T19:10:09Z pt1 joined #lisp 2014-12-10T19:10:32Z nikki93 joined #lisp 2014-12-10T19:11:04Z stassats: along with feeding dotted lists to macros and special forms, or with mismatched argument counts 2014-12-10T19:16:35Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T19:17:04Z nikki93: anyone here make games in lisp 2014-12-10T19:17:13Z stassats: some do 2014-12-10T19:17:39Z stassats: i'm more interested, anyone running sbcl on xbox one or ps4? 2014-12-10T19:17:43Z pt1 joined #lisp 2014-12-10T19:18:08Z nikki93: I'm interested in it cuz of the quick dev/debug cycle and live coding 2014-12-10T19:18:21Z Petit_Dejeuner_: nikki93, You could try #lispgamess 2014-12-10T19:18:33Z Petit_Dejeuner_: And yes, the live coding thing is neat. 2014-12-10T19:19:50Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T19:21:14Z flip214: what's the library that provides a defclass* which gives readers/writers/initarg/initform by default? 2014-12-10T19:21:17Z pt1 joined #lisp 2014-12-10T19:21:19Z BitPuffin quit (Ping timeout: 264 seconds) 2014-12-10T19:21:23Z dlowe: defclass-star 2014-12-10T19:21:29Z flip214: ah yes. 2014-12-10T19:21:56Z stassats: a dozen of them 2014-12-10T19:21:57Z flip214: but that's not in quicklisp, is it? 2014-12-10T19:21:57Z drewc: flip214: a-really-really-bad-idea is what I call it ;) 2014-12-10T19:22:22Z flip214: drewc: and repeating the same ol' keywords again and again, for each slot, isn't? 2014-12-10T19:22:41Z flip214: and a ad-hoc #.(mapcar ...) is neither? 2014-12-10T19:22:58Z rtra quit (Ping timeout: 244 seconds) 2014-12-10T19:23:31Z drewc: flip214: if you read slower than you write, you have an issue that code cannot deal with. OR: no, it isn't. 2014-12-10T19:23:56Z dlowe: So what's the argument against it? 2014-12-10T19:24:34Z stassats: a dozen of slightly similar mutually incompatible versions hampering code comprehension 2014-12-10T19:24:42Z drewc: and whatever read time mapcar you want is likely not so good either, IMHO. 2014-12-10T19:24:58Z dlowe: Ok, so there's defclass-star as a "standard." Now what's the problem? 2014-12-10T19:25:02Z rtra joined #lisp 2014-12-10T19:26:08Z drewc: dlowe: what stassats says. I prefer a DEFMACRO DEFINE-MY-OBJECT-CLASS which does what you want rather than "We will just add everything based on the slot name and be done with it.. read the docs!" 2014-12-10T19:26:57Z flip214: drewc: so everybody does it by himself, in lots of different versions? 2014-12-10T19:27:19Z drewc: flip214: it is called programming yes. 2014-12-10T19:27:23Z flip214: with lots of different defaults, and lots of different small bugs? 2014-12-10T19:27:38Z flip214: drewc: I thought that quicklisp is a good thing? 2014-12-10T19:27:41Z drewc: if that is what you prefer 2014-12-10T19:27:51Z drewc: why is it not? 2014-12-10T19:27:54Z flip214: so how would everybody implementing everything again be good? 2014-12-10T19:28:07Z drewc: sorry, what? 2014-12-10T19:28:38Z flip214: isn't that exactly what what-was-the-title describes.... I believe it was called the curse of lisp, IIRC? 2014-12-10T19:29:29Z stassats: the curse of lisp is the inordinate amount of blog posts describing why lisp didn't succeed 2014-12-10T19:29:48Z Xach: I couldn't build defclass-star last time I tried. I can't remember why. I think there isn't an .asd, or something like that. 2014-12-10T19:30:01Z j_king: stassats: agreed. 2014-12-10T19:30:02Z Petit_Dejeuner_: I should start writing blog posts about how Java didn't succeed. 2014-12-10T19:30:14Z drewc: flip214: Now you have really confused me. You do not like defclass, you want a macro that does what you want for each class you define, correct? So CL is not good enough for you but the author of defclass* makes it better? 2014-12-10T19:30:22Z stassats: i have no problem with plain defclass, and to save on time, i have my editor insert all the options 2014-12-10T19:30:55Z stassats: few bytes more on disk, and everybody who knows CL understands it immediately 2014-12-10T19:31:31Z j_king: favourite recent discussion was in regards to macros being a kludge to work around the inferiorities of the language... in a vein I assumed similar to design patterns in Java... but then I realized I was arguing with a scala developer 2014-12-10T19:31:39Z drewc: stassats: Precisely how I think, read and write classes :) 2014-12-10T19:31:40Z stassats: i'm against macros which slightly modify existing functionality, since they look deceptively familiar 2014-12-10T19:32:31Z stassats: and since it's a slight modification, there's little advantage in using them 2014-12-10T19:33:00Z shka quit (Ping timeout: 244 seconds) 2014-12-10T19:33:58Z ehu joined #lisp 2014-12-10T19:35:21Z flip214: stassats: so, how do you feel about most of the small, incremental changes in cl21? 2014-12-10T19:35:25Z lavokad quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T19:35:40Z flip214: eg. push/pop being generic functions now, and so on. 2014-12-10T19:35:41Z lavokad` joined #lisp 2014-12-10T19:35:55Z lavokad` quit (Remote host closed the connection) 2014-12-10T19:35:59Z drewc: stassats: whereas a big disadvantage to reading them.. that is something I would macro-expand almost every time as DEFCLASS* is, well, not educational name-wise. 2014-12-10T19:36:02Z Bike: push is a function? 2014-12-10T19:36:20Z stassats: i don't have feelings towards non-existing things or towards somebodies toy languages 2014-12-10T19:36:44Z stassats: especially as stupid as cl21 2014-12-10T19:36:58Z lavokad joined #lisp 2014-12-10T19:37:09Z H4ns: that is a strong feeling, i'd say 2014-12-10T19:37:21Z flip214: stassats: well, I feel that quite some changes are actually very good. 2014-12-10T19:37:39Z flip214: of course, I'll have to re-learn quite a bit again ... 2014-12-10T19:37:51Z drewc: so, the same as defclass*? 2014-12-10T19:38:15Z drewc: Others think it is a bad idea or a plaything/toy .... 2014-12-10T19:39:35Z drewc is just trying to understand what flip214 likes vs what is disliked .... 2014-12-10T19:40:47Z theseb quit (Quit: Leaving) 2014-12-10T19:41:12Z stassats: H4ns: i mean to say that what some project is doing doesn't influence the way i'm writing in CL, even if it has CL in its name 2014-12-10T19:41:15Z flip214: drewc: I'm trying to get at ... 2014-12-10T19:41:52Z flip214: a) of course, CL is deeply buried in people who used that a few years. 2014-12-10T19:42:08Z stassats: even if it's good, it's a different language, and you can't change languages without losing communication with people who didn't switch 2014-12-10T19:42:17Z flip214: b) that doesn't mean that it *is* the optimum. (just look at the CDRs, and RPLACA, etc.) 2014-12-10T19:42:34Z stassats: i never use rplaca 2014-12-10T19:42:47Z flip214: c) so, I quite like a few incremental changes. PUSH/POP working on lists and vectors is a definitive improvement, for example. 2014-12-10T19:43:02Z H4ns: stassats: i understand. i certainly have the feeling that cl21 is stupid. a new lisp should rather not try to improve on cl, as i feel that cl cannot incrementally be "improved" 2014-12-10T19:43:28Z stassats: my first step in improving CL would be removing things, not adding them 2014-12-10T19:43:31Z jlongster quit (Ping timeout: 264 seconds) 2014-12-10T19:43:34Z H4ns: right. 2014-12-10T19:43:46Z H4ns: and then, maybe starting off with islisp would be better in the first place. 2014-12-10T19:43:49Z drewc: flip214: and DEFPACKAGE is not? you do not have to use CL:PUSH .. and VECTOR-PUSH already exists ... 2014-12-10T19:43:54Z stassats: since compiler construction came a long way since the 70s and 80s, many things used for performance reasons are redundant now 2014-12-10T19:43:55Z drmeister: stassats: Is there any info available on what the different functions in swank provided by DEFIMPLEMENTATION are required to do? 2014-12-10T19:44:02Z tadni joined #lisp 2014-12-10T19:44:16Z stassats: drmeister: in their definterface definitions 2014-12-10T19:44:17Z kjeldahl quit (Ping timeout: 272 seconds) 2014-12-10T19:44:56Z drmeister: The debugging ones are the trickiest ones for me. Clasp diverges significantly from ECL in how functions are probed. There are somethings that I'll have to rethink in order to provide them to swank. 2014-12-10T19:45:09Z stassats: cl:push pushes at the front, vector-push at thend, how do you reconcile them? 2014-12-10T19:45:26Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T19:45:41Z flip214: stassats: cl21:push is the *faster* thing. there is push-front and push-back (IIRC) too. 2014-12-10T19:45:46Z asdfg joined #lisp 2014-12-10T19:45:59Z flip214: ie. PUSH on a list is push-front, PUSH on a vector puts that at the end. 2014-12-10T19:46:02Z kjeldahl joined #lisp 2014-12-10T19:46:18Z flip214: POP is again the fast access.... 2014-12-10T19:46:30Z drmeister: stassats: Awesome - thanks! 2014-12-10T19:46:41Z stassats: i'd rather write in javascript than endure that 2014-12-10T19:46:46Z agumonkey quit (Read error: No route to host) 2014-12-10T19:46:49Z flip214: so you can switch a list and a vector in a simple stack implementation without changing the calls, and get "just" the different behaviour. 2014-12-10T19:46:52Z pt1 joined #lisp 2014-12-10T19:46:59Z flip214: consing vs. preallocation, etc. 2014-12-10T19:47:00Z stassats: that must violate some OO principle 2014-12-10T19:47:03Z agumonkey_ joined #lisp 2014-12-10T19:47:07Z drewc: flip214: and you think that is a good idea? 2014-12-10T19:47:19Z shka joined #lisp 2014-12-10T19:47:26Z H4ns: what problem does it solve? 2014-12-10T19:47:35Z flip214: drewc: yes, I do. I know that you'll count that against me, but I've got a strong Perl background. 2014-12-10T19:47:49Z flip214: (in fact, the perl6 design discussions pointed me to lisp in the first place.) 2014-12-10T19:47:59Z stassats: Liskov or something else 2014-12-10T19:48:01Z flip214: and from perl there's the "do what I mean" maxime... 2014-12-10T19:48:13Z H4ns: a perl background is not an excuse for advocating bad ideas :) 2014-12-10T19:48:22Z flip214: and that is *really* wonderful. 2014-12-10T19:48:29Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T19:48:39Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-10T19:48:55Z drewc: flip214: I made a living coding in Perl up until 2004 ... so I have a strong background in that as well and has nothing to do with why it's a good idea to you IMO... so I will smile and nod. 2014-12-10T19:48:56Z flip214: If I do $foo + 1 in perl, I *know* that it's addition. if $foo was "abc", then I just get 1 as result... 2014-12-10T19:49:01Z Patzy quit (Ping timeout: 244 seconds) 2014-12-10T19:49:19Z flip214: drewc: different experiences, right. 2014-12-10T19:49:42Z flip214: look, I wouldn't write a 10 000 line program with Perl either ... but neither would I use C for that. 2014-12-10T19:49:45Z H4ns: flip214: now, that example you just gave completely convinced me! 2014-12-10T19:49:48Z stassats: H4ns: what problem? now you can just write PUSH and easily change your data structures! oh, wait, you can't 2014-12-10T19:50:08Z jlongster joined #lisp 2014-12-10T19:50:10Z H4ns: flip214: so you want to add more WAT? to cl, is that right? 2014-12-10T19:50:12Z flip214: all right, you don't understand what I'm trying to get across. 2014-12-10T19:50:39Z H4ns: stassats: i was asking because i don't see what problem that push/pop thing tries to solve. 2014-12-10T19:50:43Z flip214: look, Perl is (or, at least, was) used very often for quick things - 1 to 10 line scripts. 2014-12-10T19:50:45Z pt1 joined #lisp 2014-12-10T19:50:58Z orhan89 quit (Ping timeout: 256 seconds) 2014-12-10T19:51:04Z H4ns: flip214: i use perl every day for that kind of stuff 2014-12-10T19:52:00Z drewc: flip214: So, you think that cl21 is a redesign of common lisp that makes it usable, for you, for scripting? 2014-12-10T19:52:02Z H4ns: flip214: see, perl is nice for those things, one-off scripts, quick hacks etc. it is not neccessarily as good for writing large probgrams. 2014-12-10T19:52:03Z flip214: so, if CL21 was useable in similarly short things, its performance (on SBCL) might completely blow everything else out of the water. 2014-12-10T19:52:05Z nikki93 quit (Remote host closed the connection) 2014-12-10T19:52:17Z agumonkey_ quit (Ping timeout: 240 seconds) 2014-12-10T19:52:20Z flip214: H4ns: but that's exactly how it goes. 2014-12-10T19:52:22Z H4ns: flip214: and, the other way round, common lisp is nicer for larger programs, not so much for one liners. 2014-12-10T19:52:30Z flip214: you start with a one-liner because you're in need. 2014-12-10T19:52:40Z H4ns: flip214: a good engineer knows what tool is appropriate in which situation. 2014-12-10T19:52:45Z flip214: later one you dump that line to a file for reuse. 2014-12-10T19:52:49Z flip214: then you add more lines... 2014-12-10T19:52:58Z shka: flip214: but why cl? 2014-12-10T19:53:03Z flip214: and sooner or later it's 100 to 200 lines long. 2014-12-10T19:53:06Z shka: why not a smaller lisp dialect? 2014-12-10T19:53:07Z H4ns: flip214: a respectable person can use a swiss army knife, when it is appropriate. and still use a chain saw to cut a tree 2014-12-10T19:53:09Z stassats: i happily forgot perl having written 1000 lines programs in it 2014-12-10T19:53:15Z drewc: "but that's exactly how it goes [for flip214]" 2014-12-10T19:53:24Z flip214: and, at *that* length, having lisp underneath gives a lot of advantages. 2014-12-10T19:53:24Z White_Flame: regarding push/pop, I do like (and have personally reinvented) the notion of just a "sequence", which will explicitly ignore the details as far as the interface goes 2014-12-10T19:53:26Z stassats: just start with cl, it's great for half liners 2014-12-10T19:53:32Z White_Flame: regarding Clojure's data view 2014-12-10T19:53:32Z flip214: combined with the better speed ... 2014-12-10T19:54:00Z White_Flame: CL is very much baked into specific data structure assumptions 2014-12-10T19:54:06Z flip214: H4ns: if only you'd knew ahead of time whether it's a straw or a giant tree you'll encounter around the corner. 2014-12-10T19:54:08Z drewc: stassats: my record was 12,000+ lines in Perl ... that is when I started looking for alternatives in earnest :) 2014-12-10T19:54:31Z H4ns: flip214: right. it requires skill and experience to decide when it is time to move from one prototype to the next. 2014-12-10T19:54:45Z drewc: flip214: a toolbox is better to carry then one tool to do it all 2014-12-10T19:54:48Z shka: White_Flame: i probabbly be the persona non grata after saying this, but i miss iterators like in C++ 2014-12-10T19:55:07Z H4ns: flip214: i'd rather not want to give up the flexibility of perl or the expressiveness of lisp just so that i have one unified tool. 2014-12-10T19:55:19Z avawn quit (Read error: Connection reset by peer) 2014-12-10T19:55:32Z flip214: H4ns: drewc: but if I could just start with CL21 and write nearly the same (low) amount of code, and later on got to embrace the full power of lisp *without* rewriting the whole logic, wouldn't that be awesome? 2014-12-10T19:55:43Z avawn joined #lisp 2014-12-10T19:56:00Z flip214: I don't know how CL21 will pan out, but I see it as a chance to a great unified tool. 2014-12-10T19:56:11Z flip214: (re-replace #/a/ig "Eitaro Fukamachi" "α") 2014-12-10T19:56:12Z H4ns: enjoy your journey. 2014-12-10T19:56:13Z drewc: flip214: if you say so.... but I think you are clueless TBH, so go for it. 2014-12-10T19:56:24Z stassats: unifying? you mean splitting the community? 2014-12-10T19:56:33Z flip214: drewc: sorry if I get across this way to you. 2014-12-10T19:56:46Z asdfg: shka: even with c++11 and all iterators are way too ugly and painful 2014-12-10T19:57:01Z drewc: flip214: apology accepted. Does not change my opinion though :P 2014-12-10T19:57:05Z flip214: I'm certainly clueless about many things... but nevertheless I try to offer my experiences when I think it may help. 2014-12-10T19:57:14Z shevy joined #lisp 2014-12-10T19:57:23Z shka: asdfg: i like the concept 2014-12-10T19:57:26Z flip214: drewc: that wasn't meant as an apology, even if it contained "sorry" 2014-12-10T19:57:31Z shevy left #lisp 2014-12-10T19:57:34Z shka: and how it separates algorithm from the data 2014-12-10T19:57:49Z shka: or to be more precise, data structure 2014-12-10T19:58:22Z flip214: stassats: and "splitting the community" as in "using defclass-star or not"? definitely. 2014-12-10T19:58:22Z Patzy joined #lisp 2014-12-10T19:58:22Z asdfg: shka: have you seen ranges in D? much cleaner 2014-12-10T19:58:30Z drewc: flip214: well, sorry for learning english as my second language where "sorry" is apologetic. 2014-12-10T19:58:33Z shka: asdfg: to be honest, no 2014-12-10T19:59:28Z flip214: drewc: does your first language have sarcasm, too? but *now* you can really forgive me, because now it's really getting ugly. 2014-12-10T20:00:23Z stassats: flip214: cl21 is just a different language, like clojure 2014-12-10T20:00:25Z flip214 looks at http://www.merriam-webster.com/dictionary/sorry ... "used to introduce disappointing or bad news in a polite way" 2014-12-10T20:00:36Z drewc: flip214: sarcasme 2014-12-10T20:00:57Z flip214: stassats: it may as well be. but at the same time it can draw from many years of experience from eg. sbcl. 2014-12-10T20:00:59Z hiroakip joined #lisp 2014-12-10T20:01:18Z H4ns: well, in any case, it is off-topic for #lisp. case closed, problem solved. :) 2014-12-10T20:01:40Z Grue`: i thought it's just a library, like alexandria and can be used interchangeably with regular CL stuff, no? 2014-12-10T20:02:15Z stassats: it's not like alexandria, that's for sure 2014-12-10T20:02:36Z wg1024 quit (Quit: wg1024) 2014-12-10T20:03:18Z drmeister: stassats: How sensitive is swank to missing defimplementations? Do I need to comment them out and implement them in groups? 2014-12-10T20:03:44Z stassats: if it's called, it's pretty sensitive 2014-12-10T20:04:29Z przl joined #lisp 2014-12-10T20:05:32Z drmeister: If it's called from another function provided by a defimplementation? I see that. 2014-12-10T20:05:51Z stassats: by any function 2014-12-10T20:06:03Z asdfg: shka: ability to separate algorithm from data-structure (and without efficency loss) is the reason Stepanov said he could write STL only in C++, and there was a discussion on it on comp.lang.lisp. damn trolls ended it... "C++ briar patch" is the subject, if you are interested 2014-12-10T20:07:15Z drmeister: They are all called by the back end aren't they? I thought the idea was an implementer can provide or not provide different functionality. Or is the idea that every function specified by definterface has to be provided but for unsupported functionality I would just provide a stub that doesn't do anything. 2014-12-10T20:07:39Z nikki93 joined #lisp 2014-12-10T20:07:39Z stassats: for unsupported functionality, you don't have to do anything 2014-12-10T20:07:43Z cmatei joined #lisp 2014-12-10T20:07:50Z stassats: it's unsupported 2014-12-10T20:08:06Z drmeister: I should just read carefully through backend.lisp 2014-12-10T20:08:39Z j_king: wrt: removing things, definitely. improving? haven't seen anything beyond trivial. 2014-12-10T20:09:52Z protist quit (Ping timeout: 245 seconds) 2014-12-10T20:10:50Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T20:11:48Z Grue`` joined #lisp 2014-12-10T20:12:18Z pt1 joined #lisp 2014-12-10T20:14:45Z Grue` quit (Ping timeout: 260 seconds) 2014-12-10T20:15:05Z nikki93 quit (Remote host closed the connection) 2014-12-10T20:17:19Z Grue`` is now known as Grue` 2014-12-10T20:19:40Z nikki93 joined #lisp 2014-12-10T20:21:30Z pt1 quit (Ping timeout: 245 seconds) 2014-12-10T20:22:09Z agumonkey joined #lisp 2014-12-10T20:22:29Z nikki93 quit (Remote host closed the connection) 2014-12-10T20:22:58Z pt1 joined #lisp 2014-12-10T20:23:57Z nikki93 joined #lisp 2014-12-10T20:24:08Z lavokad quit (Remote host closed the connection) 2014-12-10T20:26:43Z rme_ joined #lisp 2014-12-10T20:26:54Z rme_ is now known as rme 2014-12-10T20:27:39Z tadni quit (Ping timeout: 265 seconds) 2014-12-10T20:30:18Z jlarocco joined #lisp 2014-12-10T20:30:20Z asdfg quit (Remote host closed the connection) 2014-12-10T20:30:25Z drmeister: Regarding reloading FASL files containing multiple function definitions that are modified after an initial load of the original FASL file - is it compliant if an implementation doesn't support reloading FASL files? 2014-12-10T20:30:35Z asdfg joined #lisp 2014-12-10T20:31:03Z stassats: that sounds like an arbitrary restriction 2014-12-10T20:31:28Z shka: asdfg: only in C++? 2014-12-10T20:31:35Z shka: that's interesting actually 2014-12-10T20:31:44Z shka: but no time to read that 2014-12-10T20:31:56Z drmeister: I ask because I haven't provided any facility for gracefully unloading a FASL file. My FASL files are essentially .so dynamic libraries. I don't know what the rules are for reloading dynamic libraries into a running application. 2014-12-10T20:33:17Z asdfg: shka: yes and the discussion is 17 years old :) 2014-12-10T20:33:45Z stassats: you certainly can reload .so 2014-12-10T20:33:52Z asdfg: not that it is irrelevant is 17 years old :) 2014-12-10T20:33:52Z asdfg: not that it is irrelevant is 17 years old :) 2014-12-10T20:34:09Z asdfg: oh sorry, i have no idea how i did it 2014-12-10T20:34:19Z shka: asdfg: no problem :) 2014-12-10T20:34:40Z JuanDaugherty quit (Remote host closed the connection) 2014-12-10T20:34:41Z shka: D also has templates, but ofc D did not exist 17 years ago 2014-12-10T20:35:29Z shka: however, what concerns me is fact that i strongly suspected that it would be possible in cl 2014-12-10T20:36:04Z shka: not exactly C++ way ofc 2014-12-10T20:37:37Z asdfg: shka: what Stepanov mean is i don't think easily possible in CL without parametric polymorphism, but something better like ranges in D might be 2014-12-10T20:38:33Z towodo quit (Quit: towodo) 2014-12-10T20:38:40Z shka: i don't like idea of limiting ourselfs to the sequences, though 2014-12-10T20:39:06Z shka: why can't we map over hashtable as well? 2014-12-10T20:39:18Z towodo joined #lisp 2014-12-10T20:39:39Z hugoduncan is now known as hugod 2014-12-10T20:40:27Z asdfg: shka: then you should really check the range concept, you already know iterators, it wont take long 2014-12-10T20:40:41Z Bicyclidine joined #lisp 2014-12-10T20:41:26Z shka: asdfg: i'm afraid that i would rather spend more time learning lisp ;-) 2014-12-10T20:41:44Z shka: so Xach and others won't lough at me all the time 2014-12-10T20:41:55Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T20:42:14Z stassats: that could be cured by not talking when you're not sure 2014-12-10T20:42:42Z pt1 joined #lisp 2014-12-10T20:42:52Z Xach is reminded of "Ignorance more frequently begets confidence than does knowledge 2014-12-10T20:42:55Z ggole quit 2014-12-10T20:42:55Z Xach: " 2014-12-10T20:43:49Z shka: stassats: but this way i can listen to detailed explanation from the expert 2014-12-10T20:43:53Z shka: for free! 2014-12-10T20:43:55Z shka: ;-) 2014-12-10T20:44:26Z zacharias joined #lisp 2014-12-10T20:45:05Z shka: i certainly should not confuse other users, though 2014-12-10T20:48:45Z bgs100 joined #lisp 2014-12-10T20:53:12Z stassats quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T20:53:28Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T20:54:23Z pt1 joined #lisp 2014-12-10T20:55:08Z juanlas joined #lisp 2014-12-10T20:58:56Z agumonkey quit (Quit: ZNC - http://znc.in) 2014-12-10T20:59:07Z pt1_ joined #lisp 2014-12-10T20:59:08Z shka quit (Quit: WeeChat 1.0.1) 2014-12-10T20:59:09Z pt1 quit (Read error: Connection reset by peer) 2014-12-10T20:59:53Z drdanmaku quit 2014-12-10T21:00:08Z agumonkey joined #lisp 2014-12-10T21:00:29Z JuanitoJons quit (Ping timeout: 258 seconds) 2014-12-10T21:02:25Z cpc26_ joined #lisp 2014-12-10T21:03:43Z asdfg` joined #lisp 2014-12-10T21:03:59Z asdfg quit (Ping timeout: 245 seconds) 2014-12-10T21:04:42Z cpc26 quit (Ping timeout: 258 seconds) 2014-12-10T21:06:25Z lemoinem quit (Ping timeout: 255 seconds) 2014-12-10T21:06:52Z przl quit (Ping timeout: 255 seconds) 2014-12-10T21:08:12Z asdfg` quit (Read error: Connection reset by peer) 2014-12-10T21:08:25Z asdfg` joined #lisp 2014-12-10T21:08:34Z scottj joined #lisp 2014-12-10T21:10:13Z nikki93 quit (Remote host closed the connection) 2014-12-10T21:12:30Z Joreji quit (Read error: Connection reset by peer) 2014-12-10T21:13:41Z munksgaard joined #lisp 2014-12-10T21:13:57Z thawes quit (Remote host closed the connection) 2014-12-10T21:15:11Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-10T21:15:30Z mishoo quit (Ping timeout: 265 seconds) 2014-12-10T21:15:39Z asdfg`: not sure if this is the best place to ask but: is there an emacs-lisp equivelant of slime-find-definition? 2014-12-10T21:16:38Z Xach: asdfg`: this is a bad place to ask. 2014-12-10T21:16:46Z loz1 quit (Quit: Leaving.) 2014-12-10T21:16:52Z scottj: asdfg`: it's not the best place, #emacs, elisp-slime-nav is what you want 2014-12-10T21:17:54Z scottj: (if slime-find-definition is equivalent of slime-edit-definition, which is M-. in my old version of slime) 2014-12-10T21:18:36Z milosn quit (Remote host closed the connection) 2014-12-10T21:19:38Z asdfg`: thanks 2014-12-10T21:20:24Z asdfg`: scottj: that is exactly what i was asking, thanks again 2014-12-10T21:20:49Z pt1_ quit (Ping timeout: 265 seconds) 2014-12-10T21:21:01Z JuanDaugherty joined #lisp 2014-12-10T21:21:31Z scottj: asdfg`: best way to find this would have been to type slime into the melpa package listing and it would have showed up as second result. 2014-12-10T21:21:49Z scottj: with the description "Make M-. and M-, work in elisp like they do in slime" 2014-12-10T21:22:32Z scottj: and from huge download numbers you would have seen that you definitely want it :) 2014-12-10T21:23:56Z asdfg` quit (Read error: Connection reset by peer) 2014-12-10T21:24:13Z asdfg` joined #lisp 2014-12-10T21:25:22Z gravicappa quit (Remote host closed the connection) 2014-12-10T21:25:54Z asdfg`: disconnected yet again.. "scottj: yes but the functionality looks as if its origin was emacs, 2014-12-10T21:25:54Z asdfg`: not slime, looks like i was wrong" 2014-12-10T21:26:23Z juanlas quit (Quit: juanlas) 2014-12-10T21:30:23Z Harag quit (Ping timeout: 258 seconds) 2014-12-10T21:31:56Z Mon_Ouie joined #lisp 2014-12-10T21:31:56Z Mon_Ouie quit (Changing host) 2014-12-10T21:31:56Z Mon_Ouie joined #lisp 2014-12-10T21:41:58Z Guest36999 joined #lisp 2014-12-10T21:44:36Z jtza8 quit (Remote host closed the connection) 2014-12-10T21:46:39Z nikki93 joined #lisp 2014-12-10T21:52:56Z milosn joined #lisp 2014-12-10T21:58:51Z mindCrime_ joined #lisp 2014-12-10T21:59:09Z mindCrime_ quit (Read error: Connection reset by peer) 2014-12-10T21:59:19Z mindCrime_ joined #lisp 2014-12-10T21:59:29Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-10T21:59:39Z Shinmera joined #lisp 2014-12-10T22:00:44Z mindCrime quit (Ping timeout: 256 seconds) 2014-12-10T22:00:56Z ahungry_ quit (Quit: leaving) 2014-12-10T22:01:46Z nand1 joined #lisp 2014-12-10T22:03:36Z billstclair quit (Ping timeout: 183 seconds) 2014-12-10T22:04:12Z Shinmera quit (Client Quit) 2014-12-10T22:04:40Z Shinmera joined #lisp 2014-12-10T22:04:55Z billstclair quit (Ping timeout: 255 seconds) 2014-12-10T22:07:59Z Grue` quit (Remote host closed the connection) 2014-12-10T22:08:27Z AntiSpamMeta quit (Remote host closed the connection) 2014-12-10T22:08:39Z AntiSpamMeta joined #lisp 2014-12-10T22:08:43Z sbryant quit (Ping timeout: 258 seconds) 2014-12-10T22:09:26Z sbryant joined #lisp 2014-12-10T22:09:43Z |3b| quit (Read error: Connection reset by peer) 2014-12-10T22:10:15Z arrsim quit (Ping timeout: 258 seconds) 2014-12-10T22:10:16Z |3b| joined #lisp 2014-12-10T22:11:11Z arrsim joined #lisp 2014-12-10T22:11:11Z lemoinem joined #lisp 2014-12-10T22:11:39Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-10T22:11:46Z Shinmera joined #lisp 2014-12-10T22:11:57Z gingerale joined #lisp 2014-12-10T22:13:09Z axelddd joined #lisp 2014-12-10T22:14:37Z Grue` joined #lisp 2014-12-10T22:14:45Z JuanitoJons joined #lisp 2014-12-10T22:15:25Z c53100 joined #lisp 2014-12-10T22:16:02Z axelddd quit (Read error: Connection reset by peer) 2014-12-10T22:18:35Z octophore_ joined #lisp 2014-12-10T22:18:35Z octophore_ quit (Excess Flood) 2014-12-10T22:19:12Z octophore_ joined #lisp 2014-12-10T22:20:24Z yenda joined #lisp 2014-12-10T22:20:27Z billstclair joined #lisp 2014-12-10T22:20:34Z yenda: \join docker 2014-12-10T22:20:38Z octophore-- joined #lisp 2014-12-10T22:20:42Z octophore quit (Ping timeout: 245 seconds) 2014-12-10T22:20:59Z Guest36999: lol, been too long on windows 2014-12-10T22:21:34Z jlongster quit (Ping timeout: 255 seconds) 2014-12-10T22:21:54Z yenda: no just a lack of sleep :D I actually have very few contacts with this thing 2014-12-10T22:22:13Z Guest36999: :) 2014-12-10T22:22:54Z asdfg` quit (Remote host closed the connection) 2014-12-10T22:22:58Z yenda: I felt strongly appealed to lisp today so I'm lurking 2014-12-10T22:23:26Z mindCrime_ quit (Remote host closed the connection) 2014-12-10T22:23:37Z White_Flame: or did you mean unicode 2A1D, #\join ? 2014-12-10T22:23:38Z White_Flame: :) 2014-12-10T22:23:42Z mindCrime_ joined #lisp 2014-12-10T22:24:08Z octophore_ quit (Ping timeout: 265 seconds) 2014-12-10T22:24:20Z yenda quit (Client Quit) 2014-12-10T22:24:30Z yenda joined #lisp 2014-12-10T22:25:03Z yenda: No no I just fail typed, I'm not use to irc at all 2014-12-10T22:25:27Z gingerale quit (Ping timeout: 250 seconds) 2014-12-10T22:25:41Z White_Flame: ⨝ docker 2014-12-10T22:26:11Z corni joined #lisp 2014-12-10T22:26:20Z angavrilov quit (Remote host closed the connection) 2014-12-10T22:26:25Z yenda: yeah I don't want to go offtopic but if you want to know I was thinking about using docker instead of VMs on my server 2014-12-10T22:27:17Z yenda: about lisp I'm not sure I have any question yet, just following some tutorials atm 2014-12-10T22:27:50Z Guest36999: i don't trust docker 2014-12-10T22:28:20Z Guest36999: everything i read reminds me of the many php projects created by teenagers in their basement 2014-12-10T22:28:27Z drewc: I use docker on top of my VMs fwiw. 2014-12-10T22:29:13Z octophore joined #lisp 2014-12-10T22:29:31Z drewc: of course, I run a hosting company /and/ a software development company, so my trust may be misplaced ;) 2014-12-10T22:30:03Z White_Flame: OSes in general still don't have a notion of executing untrusted applications, and insert Genera reference to keep it on topic. :) 2014-12-10T22:30:39Z drewc: oh! and my hosting and software development are all CL related! :P 2014-12-10T22:30:41Z octophore quit (Read error: Connection reset by peer) 2014-12-10T22:30:47Z octophore-- quit (Ping timeout: 272 seconds) 2014-12-10T22:30:59Z octophore joined #lisp 2014-12-10T22:31:46Z White_Flame: drewc: Are you still going to continue that even if the langley thing goes through? 2014-12-10T22:32:12Z drewc used chroot until a few months ago, and have tried UML as well, and ran lisp on all of them! 2014-12-10T22:32:27Z White_Flame: (erm, burnaby I guess) 2014-12-10T22:32:30Z yenda: what is langley ? 2014-12-10T22:32:33Z drewc: White_Flame: sorry, continue what? 2014-12-10T22:32:49Z White_Flame: ah, OM 2014-12-10T22:32:51Z White_Flame: PM 2014-12-10T22:33:05Z drewc: (and yes, Burnaby .. North of the Fraser) 2014-12-10T22:33:30Z Guest36999: drewc: you are here in bc? 2014-12-10T22:33:33Z Guest36999: lol small world 2014-12-10T22:34:05Z drewc: Guest36999: In the waters the BC claims as its own, yes. 2014-12-10T22:34:37Z Guest36999: hey right on 2014-12-10T22:34:40Z chu joined #lisp 2014-12-10T22:35:18Z octophore_ joined #lisp 2014-12-10T22:35:33Z towodo quit (Quit: towodo) 2014-12-10T22:36:16Z xrash quit (Remote host closed the connection) 2014-12-10T22:37:14Z EvW quit (Ping timeout: 244 seconds) 2014-12-10T22:37:40Z drewc: Guest36999: http://bowen-island.com/ <---- the white hulled 45' cutter rigged sailboat smack dab in the middle is where I am lisping right now. 2014-12-10T22:37:46Z octophore quit (Ping timeout: 255 seconds) 2014-12-10T22:38:05Z Guest36999: wow 2014-12-10T22:38:07Z fridim_ quit (Ping timeout: 264 seconds) 2014-12-10T22:38:08Z Guest36999: talk about ideal life 2014-12-10T22:38:33Z Guest36999: i'm just in poco 2014-12-10T22:41:28Z Guest36999: drewc: you go to any lisp user groups? 2014-12-10T22:42:27Z yenda: what kind of programs are you guys doing in Lisp ? 2014-12-10T22:42:42Z Karl_Dscc joined #lisp 2014-12-10T22:42:49Z drewc: Guest36999: I use to go/run vanlisp with an employee, and was at the first toronto lisp meeting as well. I was at the first Boston lisp meeting at CBC as well. 2014-12-10T22:42:52Z octophore joined #lisp 2014-12-10T22:42:56Z Guest36999: nothing serious for me. i'm just learning 2014-12-10T22:43:08Z Guest36999: drewc: oh sweet 2014-12-10T22:43:35Z wheelsucker quit (Quit: Client Quit) 2014-12-10T22:43:55Z drewc: yenda: mostly electronic digital computer programs, though that is changing. 2014-12-10T22:44:05Z octophore_ quit (Ping timeout: 250 seconds) 2014-12-10T22:44:25Z Guest36999: clojures last vancouver meetup was in 20123 2014-12-10T22:44:27Z Guest36999: -3 2014-12-10T22:44:34Z Guest36999: not much activity it seems recently 2014-12-10T22:44:49Z drewc: java is not common lisp. 2014-12-10T22:44:55Z Guest36999: oh look haskellers are still keeping up ... ha! 2014-12-10T22:45:05Z oleo: lol 2014-12-10T22:45:21Z drewc: haskell is/was Common Lisp for yale folks 2014-12-10T22:45:25Z Guest36999: drewc: i'm a newb so i keep my mouht shut. but i do not consider clojure a proper lisp either. 2014-12-10T22:45:52Z octophore quit (Read error: Connection reset by peer) 2014-12-10T22:45:52Z drewc: Guest36999: What is a 'proper' lisp in your eyes? 2014-12-10T22:46:06Z octophore joined #lisp 2014-12-10T22:46:23Z Guest36999: uh, frankly i should shutup right here. i simply don't have the qualifications to answer anything beyond, yeah i have an opinion on something i know nothing about 2014-12-10T22:46:34Z drewc: Guest36999: (this channel is about Common Lisp, which may or may not be proper) 2014-12-10T22:47:48Z drewc: Guest36999: https://github.com/haskell-lisp/yale-haskell 2014-12-10T22:48:18Z octophore quit (Read error: Connection reset by peer) 2014-12-10T22:48:38Z octophore joined #lisp 2014-12-10T22:50:19Z octophore quit (Client Quit) 2014-12-10T22:51:08Z drewc: (Note that yale-haskell was written in CL in '93 ... Java did not come out 'till 95. Does that make Haskell a "proper lisp"? :D) 2014-12-10T22:53:06Z drewc wants someone to pipe up about Steele and how Java is a proper .... sigh... 2014-12-10T22:53:21Z Shinmera: yenda: Mostly web application related things, though also an IRC bot and a painting program. 2014-12-10T22:55:27Z Guest36999: back 2014-12-10T22:55:35Z Guest36999: wait, what? yale haskell is a real thing? 2014-12-10T22:55:36Z Guest36999: i had no idea 2014-12-10T22:56:04Z Shinmera: I'll tell you another thing it is: off topic 2014-12-10T22:56:29Z scymtym_ joined #lisp 2014-12-10T22:56:40Z eudoxia joined #lisp 2014-12-10T22:57:20Z drewc: Shinmera: we are not allowed to talk about Lisp systems and libraries, only what is standardized? 2014-12-10T22:57:54Z tadni joined #lisp 2014-12-10T22:58:28Z Shinmera: Haskell is not on topic from what I know 2014-12-10T22:58:36Z Shinmera: Anyway, I'm off to sleep. 2014-12-10T22:58:38Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-10T22:59:21Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-10T23:00:28Z sbryant quit (Ping timeout: 258 seconds) 2014-12-10T23:00:31Z Xach: drewc: I wish you'd do it in private messages. 2014-12-10T23:00:34Z nikki93 quit (Remote host closed the connection) 2014-12-10T23:02:08Z drewc: Xach: Sorry for responding to Clojure/Java by mentioning Haskell/Lisp... did not mean to disturb you. 2014-12-10T23:02:41Z Xach: I could do without the newbie trolling and sarcastic apologies, too. 2014-12-10T23:05:02Z drewc: I was being trolled? Heh, shows what I know. I will be quiet as I am not used to such things. I will go back to coding now. 2014-12-10T23:05:25Z drewc left #lisp 2014-12-10T23:06:07Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-10T23:06:25Z drewc joined #lisp 2014-12-10T23:07:24Z zeitue joined #lisp 2014-12-10T23:09:35Z petrutrimbitas joined #lisp 2014-12-10T23:09:52Z munksgaard quit (Ping timeout: 256 seconds) 2014-12-10T23:12:59Z sbryant joined #lisp 2014-12-10T23:13:22Z nightshade427 joined #lisp 2014-12-10T23:19:00Z murftown joined #lisp 2014-12-10T23:19:28Z nate_c joined #lisp 2014-12-10T23:21:54Z CrazyWoods quit (Quit: leaving) 2014-12-10T23:23:12Z ehu quit (Ping timeout: 245 seconds) 2014-12-10T23:24:37Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-10T23:31:37Z araujo quit (Ping timeout: 240 seconds) 2014-12-10T23:32:58Z Kanae left #lisp 2014-12-10T23:36:03Z vaporatorius quit (Quit: Leaving) 2014-12-10T23:42:12Z hiyosi joined #lisp 2014-12-10T23:42:49Z murftown_ joined #lisp 2014-12-10T23:44:17Z corni quit (Ping timeout: 260 seconds) 2014-12-10T23:44:24Z murftown quit (Ping timeout: 244 seconds) 2014-12-10T23:44:24Z murftown_ is now known as murftown 2014-12-10T23:49:49Z Devon: øshell 2014-12-10T23:52:26Z momus is now known as nonumbra 2014-12-10T23:53:45Z _JokerDoom joined #lisp 2014-12-10T23:56:03Z JokerDoom quit (Ping timeout: 258 seconds)