2014-11-26T00:00:28Z vaporatorius quit (Remote host closed the connection) 2014-11-26T00:01:50Z finnrobi joined #lisp 2014-11-26T00:04:36Z __prefect joined #lisp 2014-11-26T00:05:57Z hiyosi joined #lisp 2014-11-26T00:06:57Z nha_ quit (Ping timeout: 240 seconds) 2014-11-26T00:07:47Z Vutral joined #lisp 2014-11-26T00:10:37Z hiyosi quit (Ping timeout: 240 seconds) 2014-11-26T00:12:43Z murftown joined #lisp 2014-11-26T00:12:54Z LiamH quit (Quit: Leaving.) 2014-11-26T00:13:16Z slyrus quit (Ping timeout: 244 seconds) 2014-11-26T00:13:20Z usrj joined #lisp 2014-11-26T00:13:50Z zRecursive joined #lisp 2014-11-26T00:14:02Z innertracks quit (Ping timeout: 245 seconds) 2014-11-26T00:16:03Z aap joined #lisp 2014-11-26T00:19:06Z usrj quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2014-11-26T00:22:01Z maxpeck joined #lisp 2014-11-26T00:25:31Z s00pcan quit (Ping timeout: 258 seconds) 2014-11-26T00:25:31Z rpg quit (Quit: rpg) 2014-11-26T00:28:49Z innertracks joined #lisp 2014-11-26T00:31:43Z hiyosi joined #lisp 2014-11-26T00:38:57Z harish_ quit (Ping timeout: 240 seconds) 2014-11-26T00:44:32Z Joreji quit (Read error: Connection reset by peer) 2014-11-26T00:45:48Z k-dawg joined #lisp 2014-11-26T00:47:25Z murftown quit (Quit: murftown) 2014-11-26T00:51:33Z cy quit (Quit: :q!) 2014-11-26T00:51:44Z murftown joined #lisp 2014-11-26T00:51:56Z cy joined #lisp 2014-11-26T00:53:27Z __prefect quit (Ping timeout: 272 seconds) 2014-11-26T00:55:14Z murftown quit (Client Quit) 2014-11-26T00:59:34Z murftown joined #lisp 2014-11-26T01:00:42Z BitPuffin quit (Ping timeout: 245 seconds) 2014-11-26T01:02:05Z murftown quit (Client Quit) 2014-11-26T01:03:28Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T01:04:59Z schoppenhauer: hello. is anyone here using cl-markdown (or knows whether there is a developer mailing list)? 2014-11-26T01:06:41Z heurist quit (Ping timeout: 264 seconds) 2014-11-26T01:06:47Z jusss joined #lisp 2014-11-26T01:07:35Z schoppenhauer: because I think I have located a bug. 2014-11-26T01:07:37Z heurist joined #lisp 2014-11-26T01:17:34Z k-dawg quit (Quit: This computer has gone to sleep) 2014-11-26T01:19:18Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T01:20:05Z octophore joined #lisp 2014-11-26T01:20:05Z octophore quit (Excess Flood) 2014-11-26T01:20:36Z octophore joined #lisp 2014-11-26T01:20:52Z octophore_ quit (Ping timeout: 240 seconds) 2014-11-26T01:20:59Z nowhereman joined #lisp 2014-11-26T01:21:19Z nowhere_man quit (Ping timeout: 272 seconds) 2014-11-26T01:22:02Z jumblerg joined #lisp 2014-11-26T01:22:03Z octophore quit (Read error: Connection reset by peer) 2014-11-26T01:22:20Z octophore joined #lisp 2014-11-26T01:22:21Z octophore quit (Excess Flood) 2014-11-26T01:22:49Z octophore joined #lisp 2014-11-26T01:22:50Z octophore quit (Excess Flood) 2014-11-26T01:23:59Z alexey joined #lisp 2014-11-26T01:24:02Z octophore joined #lisp 2014-11-26T01:27:35Z blahzik quit (Quit: blahzik) 2014-11-26T01:28:28Z alexey quit (Ping timeout: 250 seconds) 2014-11-26T01:33:52Z octophore_ joined #lisp 2014-11-26T01:33:52Z octophore_ quit (Excess Flood) 2014-11-26T01:34:19Z Xach: ivan4th: i'm not a fan of the book, but that library's by a third party and the failure's from a fourth party 2014-11-26T01:34:42Z octophore_ joined #lisp 2014-11-26T01:37:22Z octophore quit (Ping timeout: 245 seconds) 2014-11-26T01:42:38Z oleo quit (Read error: Connection reset by peer) 2014-11-26T01:44:15Z Xach: so many parties 2014-11-26T01:45:04Z oleo joined #lisp 2014-11-26T01:45:34Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-26T01:52:06Z Longlius joined #lisp 2014-11-26T01:53:05Z harish_ joined #lisp 2014-11-26T02:14:29Z blahzik joined #lisp 2014-11-26T02:15:07Z innertracks quit (Quit: innertracks) 2014-11-26T02:17:02Z loke: schoppenhauer: I tried to. 2014-11-26T02:17:16Z loke: schoppenhauer: Turned out that it didn't do what I needed, so I wrote my own 2014-11-26T02:17:25Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T02:17:30Z loke: schoppenhauer: (it's more limited, but implements exactly and only what I need) 2014-11-26T02:17:53Z schoppenhauer: loke: ok. well. I am currently looking at the commonmark specification, and I am thinking of ... well, ocpd-ing the problem :3 2014-11-26T02:18:10Z schoppenhauer: loke: that is, write the formal specification in coq 2014-11-26T02:18:20Z schoppenhauer: loke: implement it, and then extract to common lisp 2014-11-26T02:18:30Z innertracks joined #lisp 2014-11-26T02:18:38Z loke: well, I'm much more pragmatic 2014-11-26T02:19:01Z loke: I convert the input into a canonocal sexp form 2014-11-26T02:19:17Z loke: That said, I only implement basic highlighting and code blocks 2014-11-26T02:19:19Z loke: (and maths) 2014-11-26T02:19:30Z loke: That's all I need for now 2014-11-26T02:19:30Z schoppenhauer: for maths I use mathjax. 2014-11-26T02:19:31Z loke: https://github.com/lokedhs/cl-markup 2014-11-26T02:19:37Z loke: schoppenhauer: same here 2014-11-26T02:19:58Z schoppenhauer: ok. well. i guess it's time for a less pragmatic approach ^^ 2014-11-26T02:20:10Z schoppenhauer: after all, now that I know the bug, cl-markdown performs ok. 2014-11-26T02:20:23Z schoppenhauer: so there is no need to do anything. but it is fun. 2014-11-26T02:20:26Z schoppenhauer: or might be. 2014-11-26T02:20:43Z schoppenhauer: I already found a possible inconsistency in the spec. 2014-11-26T02:21:00Z loke: schoppenhauer: I seriously hate the markdown format anyway 2014-11-26T02:21:25Z loke: I'm considering abandoning it completely in favour of something better 2014-11-26T02:22:28Z schoppenhauer: well, there is org-mode. 2014-11-26T02:22:34Z schoppenhauer: and mediawiki-syntax 2014-11-26T02:22:43Z loke: schoppenhauer: and Muse 2014-11-26T02:22:54Z schoppenhauer: and of course, it is always possible to use html, and just sanitize it 2014-11-26T02:22:55Z loke: they all suck though 2014-11-26T02:23:19Z loke: Something loosely based on LaTeX is better 2014-11-26T02:23:26Z schoppenhauer: omg. 2014-11-26T02:23:28Z schoppenhauer: no. 2014-11-26T02:23:31Z schoppenhauer: latex sucks. 2014-11-26T02:23:32Z loke: having a consitent \tag{Foo} is nice 2014-11-26T02:23:59Z loke: You need something that can be properly nested, and apart from LaTeX, only HTML does that. And HTML ducks. 2014-11-26T02:24:03Z loke: and sucks 2014-11-26T02:24:26Z loke: But yes, LaTeX is annoying to type on non-US keyboards 2014-11-26T02:24:31Z schoppenhauer: i currently have to extract some semantic information (well ... sort of) of some latex-stuff. 2014-11-26T02:24:39Z schoppenhauer: it is horrible. 2014-11-26T02:24:52Z schoppenhauer: there are over 9000 possibilities something can mean 2014-11-26T02:25:02Z schoppenhauer: there is $$ $$, $ $, \[ \] 2014-11-26T02:25:25Z schoppenhauer: \( \), eqnarray, eqnarray*, etc. 2014-11-26T02:25:29Z loke: schoppenhauer: I know that well. Just looka t this project I started some time ago: 2014-11-26T02:25:29Z loke: https://github.com/lokedhs/parse-lisp-spec 2014-11-26T02:26:08Z loke: schoppenhauer: And for a markup format, I'm not saying use LaTeX. I was merely referring o the general syntax \command{text_that_is_affected_by_command} 2014-11-26T02:26:39Z schoppenhauer: loke: what is wrong with basic html? 2014-11-26T02:26:50Z loke: schoppenhauer: too mych typing 2014-11-26T02:26:59Z kanru joined #lisp 2014-11-26T02:27:00Z schoppenhauer: loke: sgml? 2014-11-26T02:27:06Z loke: schoppenhauer: too much typing 2014-11-26T02:27:31Z zRecursive: LaTeX seems too professional ? 2014-11-26T02:27:50Z schoppenhauer: loke: sgml reduces typing 2014-11-26T02:28:32Z schoppenhauer: one problem - for mathematical texts - is that you often use {, <, [, ( ... so all "natural" brackets are already used. 2014-11-26T02:28:41Z Zhivago: The problem with html is an inextensible tag set. :) 2014-11-26T02:28:45Z loke: schoppenhauer: \bf{Bold} adds 5 characters to bold something. The shortest form in SGML adds 7. 2014-11-26T02:29:57Z boogie quit (Remote host closed the connection) 2014-11-26T02:30:08Z schoppenhauer: hm. is there any special character that is easy to type on all {q,a}{w,z}ert{z,y}? 2014-11-26T02:30:36Z loke: schoppenhauer: Depends on what you mean by "easy" 2014-11-26T02:30:45Z frkout joined #lisp 2014-11-26T02:30:48Z stardiviner joined #lisp 2014-11-26T02:30:56Z Xach: loke: did you see gigamonkey's foo markup? 2014-11-26T02:31:07Z loke: if you mean "unshifted", then no. French keyboards efeectively reverses the shift/unshifted state of every single character 2014-11-26T02:31:12Z wjiang joined #lisp 2014-11-26T02:31:16Z loke: (numbers are shifted on french keyboards) 2014-11-26T02:31:18Z schoppenhauer: loke: well. on qwertz, backslash is alt gr + ?. which kind of sucks. 2014-11-26T02:31:45Z loke: schoppenhauer: On Swedisg keyboards too. {}[]\ and a few more is on altGr 2014-11-26T02:31:52Z schoppenhauer: french is azerty 2014-11-26T02:32:01Z schoppenhauer: swedish should be modified qwertz 2014-11-26T02:32:08Z schoppenhauer: iirc, swedish and german were similar. 2014-11-26T02:32:08Z loke: Swedish is qwerty 2014-11-26T02:32:18Z loke: Swedish and Finnish keyboards are identical 2014-11-26T02:32:20Z schoppenhauer: they also had umlauts. 2014-11-26T02:32:30Z loke: schoppenhauer: Yes, but different ones 2014-11-26T02:33:29Z loke: Swedish keyboards have dead keys for composing quotes, backquote, umlaut and caret 2014-11-26T02:33:38Z frkout_ quit (Ping timeout: 255 seconds) 2014-11-26T02:33:40Z schoppenhauer: my god ... azerty even has the dot on uppercase 2014-11-26T02:33:42Z loke: And tilde, IIRC 2014-11-26T02:33:50Z wjiang_ joined #lisp 2014-11-26T02:34:23Z loke: schoppenhauer: yeah. Annoying, right? I work for a French company and when I go to the Paris office I'm often subjected to those keyboards 2014-11-26T02:34:40Z loke: Typing Unix commands on those things is not a joyful experience 2014-11-26T02:34:47Z loke: Xach: No, I did not 2014-11-26T02:34:54Z loke: Xach: tell me about it. 2014-11-26T02:35:44Z Xach: loke: he wrote a markup system for writing practical common lisp 2014-11-26T02:35:53Z Xach: loke: with latex, pdf, html, and some other output 2014-11-26T02:35:57Z Xach: it's on github 2014-11-26T02:36:12Z jumblerg joined #lisp 2014-11-26T02:37:22Z wjiang quit (Ping timeout: 250 seconds) 2014-11-26T02:47:29Z hiyosi quit (Ping timeout: 264 seconds) 2014-11-26T02:49:25Z wjiang_ quit (Read error: Connection reset by peer) 2014-11-26T02:49:48Z wjiang_ joined #lisp 2014-11-26T02:54:20Z wjiang_ quit (Read error: Connection reset by peer) 2014-11-26T02:54:39Z wjiang_ joined #lisp 2014-11-26T02:55:51Z scymtym_ joined #lisp 2014-11-26T02:57:25Z echo-area joined #lisp 2014-11-26T03:00:01Z frkout quit (Remote host closed the connection) 2014-11-26T03:00:28Z frkout joined #lisp 2014-11-26T03:03:11Z echo-area quit (Remote host closed the connection) 2014-11-26T03:03:58Z echo-area joined #lisp 2014-11-26T03:04:10Z psy quit (Ping timeout: 255 seconds) 2014-11-26T03:05:08Z psy joined #lisp 2014-11-26T03:09:57Z psy quit (Ping timeout: 240 seconds) 2014-11-26T03:16:19Z murftown joined #lisp 2014-11-26T03:16:21Z murftown quit (Client Quit) 2014-11-26T03:18:47Z jusss quit (Ping timeout: 258 seconds) 2014-11-26T03:21:17Z wglb quit (Ping timeout: 240 seconds) 2014-11-26T03:21:49Z BlueRavenGT joined #lisp 2014-11-26T03:22:42Z cpc26_ quit 2014-11-26T03:23:19Z jasom: anyone know of a message pack implementation that is actually correct? 2014-11-26T03:24:17Z jasom: Even if cl-messagepack is based on an old version of the standard, it uses #xc4 as an extension type when extension types have always been required to be under #x80 2014-11-26T03:24:42Z jasom: and in the current version #xc4 is actually used for something 2014-11-26T03:24:51Z alexey joined #lisp 2014-11-26T03:24:52Z Vutral quit (Ping timeout: 245 seconds) 2014-11-26T03:25:24Z psy joined #lisp 2014-11-26T03:25:48Z spacebat quit (Ping timeout: 256 seconds) 2014-11-26T03:26:07Z cpc26 joined #lisp 2014-11-26T03:29:26Z alexey quit (Ping timeout: 255 seconds) 2014-11-26T03:31:55Z juanlas joined #lisp 2014-11-26T03:34:40Z wjiang_ quit (Read error: Connection reset by peer) 2014-11-26T03:34:57Z wjiang_ joined #lisp 2014-11-26T03:36:19Z madrik joined #lisp 2014-11-26T03:41:38Z zeitue joined #lisp 2014-11-26T03:42:31Z psy quit (Ping timeout: 244 seconds) 2014-11-26T03:43:58Z hiyosi joined #lisp 2014-11-26T03:47:17Z ivan4th: maybe a silly thought, but does anyone else get a bit annoyed by having to use (progn ... nil), (prog1 nil ...) or other similar forms in REPL from time to time to avoid printing the result of evaluation which may be unconveniently big? 2014-11-26T03:47:52Z ivan4th: I think maybe some trick like ! (form) in REPL to avoid printing the result may be handy 2014-11-26T03:48:01Z Zhivago: You have some specials to limit the print sizes. 2014-11-26T03:48:22Z hiyosi quit (Ping timeout: 240 seconds) 2014-11-26T03:48:24Z ivan4th: Yes, I do, but most of the time I want to see the whole result, even if it's big 2014-11-26T03:48:39Z ivan4th: but *sometimes* I just don't want to see it at all 2014-11-26T03:49:33Z spacebat joined #lisp 2014-11-26T03:53:35Z Zhivago: I think that if that's true, perhaps the form your evaluating is unnecessarily noisy. 2014-11-26T03:55:27Z Zhivago: If the result isn't useful, then perhaps you shouldn't be returning it like that? 2014-11-26T03:56:38Z jasom: Zhivago: it might be useful typically, but not what you're currently testing (and slime *hates* long outputs) 2014-11-26T03:56:44Z ivan4th: well, one possible case: (prog1 nil (princ ...)) -- instead of PRINC, there can be another printing func that returns the original value, I just don't want to see the result twice 2014-11-26T03:56:57Z spacebat quit (Ping timeout: 245 seconds) 2014-11-26T03:57:01Z ivan4th: printed in different representations 2014-11-26T04:00:04Z ivan4th: (prog1 nil (setf *some-var* some-value *another-var* (some-large-value-returning-func))) 2014-11-26T04:00:37Z bool_ joined #lisp 2014-11-26T04:00:38Z Zhivago: My inclination would be to have some kind of multi-line folding support in the repl. 2014-11-26T04:00:54Z Zhivago: Then you could just have it show the first line of the output unless you unfold it. 2014-11-26T04:01:41Z stepnem quit (Ping timeout: 264 seconds) 2014-11-26T04:02:57Z shifty`` quit (Remote host closed the connection) 2014-11-26T04:03:07Z ivan4th: that interesting idea, too, but perhaps somewhat harder to implement. 2014-11-26T04:03:14Z ivan4th: *that's 2014-11-26T04:05:40Z joneshf-laptop joined #lisp 2014-11-26T04:06:59Z ggole joined #lisp 2014-11-26T04:09:15Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T04:10:05Z drmeister: I got my clasp/c++ demo working under linux. GitHub.com/drmeister/demo-clasp-cxx 2014-11-26T04:10:47Z drmeister: It demonstrates how to expose c++ functions and a c++ class in clasp without using a cffi 2014-11-26T04:12:41Z drmeister: It demonstrates how to create a dynamic library that adds packages/functions/classes to clasp 2014-11-26T04:13:17Z Vutral joined #lisp 2014-11-26T04:14:19Z wglb joined #lisp 2014-11-26T04:19:36Z beach joined #lisp 2014-11-26T04:19:44Z beach: Good morning everyone! 2014-11-26T04:19:44Z minion: beach, memo from pjb: I think it's incorrect. Compile-time side effects must take place before reading the next form. (eval-when (:compile-toplevel :execute) (setf *readtable* *my-readtable*)) #|my syntax here|# ; you will have to interpret, or compile the (setf *readtable* *my-readtable*) form before reading the rest of the file. 2014-11-26T04:20:17Z beach: pjb: Yes, I know, but each form is read and then converted to AST, and the AST conversion does the compile-time side effects. 2014-11-26T04:21:21Z Vutral quit (Excess Flood) 2014-11-26T04:22:55Z beach: loke: You opinion about cl-markdown is another piece of evidence for what I wrote here: http://metamodular.com/Common-Lisp/syntax.html 2014-11-26T04:23:30Z pjb: beach: that's the point. You cannot read before having evaluated all the previous forms. 2014-11-26T04:23:40Z beach: But I do. 2014-11-26T04:23:43Z pjb: Unless of course, the user explicitely used progn. 2014-11-26T04:24:20Z beach: A form is read, then converted to AST, and converting it to AST executes the appropriate compile-time effects. 2014-11-26T04:24:30Z loke: beach: Yeah, that has been tried multiple times. ASN.1 and XML are two examples :-) 2014-11-26T04:24:44Z beach: loke: In Common Lisp? 2014-11-26T04:24:47Z beach: Nah! 2014-11-26T04:24:52Z loke: beach: Well, in computing in general 2014-11-26T04:24:55Z beach: Sure. 2014-11-26T04:25:06Z loke: Common Lisp don't need it. We have Sexps already 2014-11-26T04:26:00Z pjb: beach: try in a file: (eval-when (:compile-toplevel :execute) (set-macro-character #\( (lambda (stream ch) (nreverse (read-delimited-list #\) stream))))) (((((x 1-) f) x *) 1 (zerop x) if) (x) f defun) 2014-11-26T04:26:42Z beach: pjb: I could, but I know it will work. Why do you think it wouldn't? 2014-11-26T04:26:53Z pjb: Sorry: (((((x 1-) f) x *) 1 (x zerop) if) (x) f defun) 2014-11-26T04:27:13Z pjb: Because you're saying that you're reading it before you evaluate the set-macro-character. 2014-11-26T04:27:19Z pjb: Therefore I know that it won't work. 2014-11-26T04:27:39Z zyaku joined #lisp 2014-11-26T04:27:43Z beach: Well, I must read the expression that sets the macro character before I can evaluate it. 2014-11-26T04:27:56Z pjb: Yes. 2014-11-26T04:28:03Z beach: So I don't get it. 2014-11-26T04:28:17Z pjb: The compilation time effects must occur in kind of a REPL. 2014-11-26T04:28:23Z beach: They do. 2014-11-26T04:28:32Z pjb: No. 2014-11-26T04:28:43Z pjb: You are saying that you are implementing a RL EL 2014-11-26T04:28:50Z Vutral joined #lisp 2014-11-26T04:28:53Z juanlas quit (Quit: juanlas) 2014-11-26T04:28:56Z beach: What is RL EL? 2014-11-26T04:28:58Z loke: pjb: I have a related question for you, about how to ensure evaluation beofre macroexpand 2014-11-26T04:29:00Z pjb: Read loop followed by an eval (of compilation-time effects) loop. 2014-11-26T04:29:20Z loke: pbj: is there a way to ensure that a form is avlways evaluated before a certain macro is expanded? 2014-11-26T04:29:21Z pjb: loke: why would you want to do that? Or why do you want to do that? 2014-11-26T04:29:26Z pjb: Yes, use #. 2014-11-26T04:29:29Z beach: pjb: No, I am telling you, after each expression is read, it is converted to an AST, and the AST conversion executes the side effects. 2014-11-26T04:29:36Z loke: pjb: Ah, please allow me to explain 2014-11-26T04:30:10Z pjb: beach: ok, if the compilation-time effects occur while converting to an AST, then ok. It means you have a whole CL implementation in this conversion to an AST function. 2014-11-26T04:30:26Z beach: pjb: It calls eval, yes. 2014-11-26T04:30:31Z pjb: loke: perhaps you want to read: Please read: http://www.nhplace.com/kent/PS/Ambitious.html 2014-11-26T04:30:55Z loke: pjb: I'm using PARENSCRIPT:PS (I;m sure you know what that one does). The implementation of the PS macro uses a dynamic variable (*PS-GENSYM-COUNTER*) to generate unique javascript variable names. I need these names to be repeatable, so I need to reset the *PS-GENSYM-COUNTER* before the invocation of the PS macro. 2014-11-26T04:31:25Z pjb: beach: then ok. It sounds strange to have a "convert to AST" function evaluate the body of eval-when forms. 2014-11-26T04:31:49Z beach: pjb: Well it *has* to, because of compile-time side effects :) 2014-11-26T04:31:57Z pjb: loke: (setf *PS-GENSYM-COUNTER* 0) (ps:ps …) (setf *PS-GENSYM-COUNTER* 0) (ps:ps …) 2014-11-26T04:32:21Z beach: pjb: Thanks for you help. 2014-11-26T04:32:26Z jumblerg joined #lisp 2014-11-26T04:32:49Z loke: pjb: Does that guarantee that all expansions of the enclosed PS call is always expanded with the gensym counter being zero? 2014-11-26T04:34:07Z pjb: loke: sorry not exactly you need: 2014-11-26T04:34:27Z pjb: (eval-when (:compile-toplevel :load-toplevel :execute) (setf *PS-GENSYM-COUNTER* 0)) (ps:ps …) (eval-when (:compile-toplevel :load-toplevel :execute) (setf *PS-GENSYM-COUNTER* 0)) (ps:ps …) 2014-11-26T04:34:40Z loke: I basically did something similar, creating a wrapper around PS: (defmacro newps (&body body) (setf *ps-gensym-copunter* 0) `(progn ,@body))) 2014-11-26T04:34:47Z loke: sorry 2014-11-26T04:34:55Z loke: (defmacro newps (&body body) (setf *ps-gensym-copunter* 0) `(ps ,@body))) 2014-11-26T04:35:07Z pjb: It doesn't necessarily guarantee what you want however, because an implementation can macroexpand a macro call several times (not necessarily the same number of times in the same circumstances). 2014-11-26T04:35:10Z loke: does that guarantee correct behaviour? 2014-11-26T04:35:49Z pjb: Good question. 2014-11-26T04:36:17Z pjb: I don't think so. 2014-11-26T04:36:21Z loke: (the actual problem I'm facing is that these javascript snippets are view definitions for CouchDB, and if I reinitialise a view where the definition is different from the previous, is rebuilds it from scratch which can take a long time for a large database) 2014-11-26T04:36:48Z pjb: For the same reason: an implementation may macroexpand a different number of times newps and the expansion ps form. 2014-11-26T04:36:58Z pjb: In practice it will probably work. 2014-11-26T04:37:19Z pjb: Perhaps you could modify parenscript to not use gensym? 2014-11-26T04:37:21Z loke: pjb: Yeah, I tested it on SBCL and it seems to give me the correct results. 2014-11-26T04:37:38Z loke: pjb: I could, but I'd rather not fork it if I don't have to :-) 2014-11-26T04:39:11Z loke: I believe parenscript exposes the gensym counter (it's exported) for this very reason. It's just that there might not be a fully conformant way of utilising it :-) 2014-11-26T04:44:32Z pjb: It's only that macros can be expanded an undefined number of times, therefore you cannot count on counters. 2014-11-26T04:45:02Z slyrus joined #lisp 2014-11-26T04:45:19Z keen___________8 quit (Quit: Tiarra 0.1+svn-39209: SIGTERM received; exit) 2014-11-26T04:45:23Z zyaku: pjb: Could you use MACROEXPAND-1 and then just manually walk the AST, adding (SETF *PS-GENSYM-COUNTER* 0) where you need it? 2014-11-26T04:45:25Z Harag1 joined #lisp 2014-11-26T04:45:50Z pjb: and recursively :-0 2014-11-26T04:45:58Z loke: Yeah. But I'd assume that in pretty much all cases NEWPS would be evaluated together with the inner PS 2014-11-26T04:46:11Z psy joined #lisp 2014-11-26T04:46:24Z keen_ joined #lisp 2014-11-26T04:46:27Z pjb: Of course, it would be strange to macroexpand the expansions a different number of times. 2014-11-26T04:46:30Z loke: I think I'll keep the current method until I actually encouter a problem. In the worst case, I'll have excess index generation, which will be noticed if it happens 2014-11-26T04:46:53Z Harag quit (Ping timeout: 264 seconds) 2014-11-26T04:54:00Z drmeister: beach: Hello 2014-11-26T04:54:10Z beach: drmeister: Hey! How are things going? 2014-11-26T04:54:50Z drmeister: Still reading through your code. Although I got distracted (in a good way) to get my C++/Clasp demo to compile/link on linux. 2014-11-26T04:55:09Z beach: Great! 2014-11-26T04:55:10Z drmeister: How would you implement argument passing in a backend? 2014-11-26T04:55:24Z beach: Depends on the backend. 2014-11-26T04:56:22Z beach: For SICL, on x86-32 I think I pass everything on the stack. For x86-64 I use pretty much the standard convention, passing the first 5 arguments in registers. 2014-11-26T04:56:36Z beach: It is documented in the SICL specification. 2014-11-26T04:56:36Z drmeister: Cleavir does the lambda-list destructuring from a list of arguments - correct? It has to in order to bind initforms for arguments that aren't provided. 2014-11-26T04:56:48Z beach: No 2014-11-26T04:57:15Z beach: Cleavir assumes an ENTER-INSTRUCTION that magically fills in some lexical variables. 2014-11-26T04:57:18Z drmeister: I get so many things wrong. 2014-11-26T04:58:24Z beach: It would be a catastrophe for Cleavir to impose on an implementation that argument passing must be in a list. 2014-11-26T04:59:16Z drmeister: We talked about this before. For optional and keyword variables I have to set the supplied parameter. 2014-11-26T04:59:35Z frkout_ joined #lisp 2014-11-26T04:59:50Z beach: For SICL on x86-64, I will just tell the register allocator that the first few of those lexical variables are in the registers they were assigned to by the argument-passing logic. 2014-11-26T05:00:03Z beach: drmeister: Yes. 2014-11-26T05:00:24Z kuanyui joined #lisp 2014-11-26T05:00:33Z drmeister: For Clasp/LLVM I can pass the first five arguments in registers as well. 2014-11-26T05:00:49Z drmeister: I was thinking of passing the rest in the multiple-values array. 2014-11-26T05:01:32Z beach: Setting a supplied-p was the mechanism I came up with so that the rest of HIR would be implementation independent. 2014-11-26T05:01:51Z drmeister: I'm trying to figure out how I convert these into what Cleavir needs. 2014-11-26T05:02:36Z frkout quit (Ping timeout: 244 seconds) 2014-11-26T05:03:29Z beach: What I plan to do in later stages, after conversion to MIR etc., is to run the register allocator to see where it allocated those lexicals. Then I emit code to put the arguments in the location it came up with. 2014-11-26T05:04:13Z drmeister: Ok, so if I pass the number of arguments and the first five arguments in registers and the rest in the multiple-value-return vector then what do I do with everything. I understand what you plan to do with the register allocator for x86-64 and LLVM. What will you do when you have more than five arguments? 2014-11-26T05:04:17Z zRecursive left #lisp 2014-11-26T05:04:26Z beach: But for platforms such as x86-64 I will impose on the register allocator to allocate the first 5 in their respective registers, so that no copying is necessary. 2014-11-26T05:05:05Z beach: The remaining arguments will be passed on the stack. 2014-11-26T05:05:57Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-11-26T05:06:52Z drmeister: Let me try this a different way. Let's say I have a lambda list (a b &optional c d) should convert whatever is passed to the function into bindings (a b c c-p d d-p)? 2014-11-26T05:07:36Z beach: Sounds right. 2014-11-26T05:09:45Z theseb quit (Quit: Leaving) 2014-11-26T05:09:57Z drmeister: If the lambda-list is (a b &optional (c (foo)) ) does the HIR contain code to do something like (unless c-p (setq c (foo))) 2014-11-26T05:10:18Z beach: Yes. 2014-11-26T05:10:26Z drmeister: Oh thank goodness. 2014-11-26T05:11:03Z drmeister: The HIR will also initialize &aux bindings? 2014-11-26T05:11:09Z beach: Yes. 2014-11-26T05:11:10Z sheilong joined #lisp 2014-11-26T05:11:59Z beach: Correctly according to whether the lambda-list variables are lexical or special, too! :) 2014-11-26T05:12:53Z drmeister: What about :allow-other-keys and &allow-other-keys - does the HIR contain anything to deal with those or are those my responsibility? 2014-11-26T05:13:17Z beach: They are your responsibility. 2014-11-26T05:13:58Z drmeister: &rest x is also my responsibility - correct? So (a &rest b) will bind (a b) 2014-11-26T05:14:29Z beach: Yes, you have to construct a list and assign it to b. 2014-11-26T05:14:39Z kushal joined #lisp 2014-11-26T05:14:56Z beach: Cleavir can not access the arguments directly because it is implementation-specific how they are passed. 2014-11-26T05:14:59Z boogie joined #lisp 2014-11-26T05:15:07Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T05:15:40Z drmeister: I find it notable that Common Lisp semantics supports this. 2014-11-26T05:15:57Z beach: Yeah, it's great! 2014-11-26T05:16:30Z beach: It allows for a function to add or remove arguments before passing it on. We use that alot in McCLIM. 2014-11-26T05:16:41Z drmeister: Notable, note-worthy, worthy of note. Bloody amazing actually. 2014-11-26T05:17:03Z beach: For complicated functions, it is essential to modularity. 2014-11-26T05:17:39Z beach: There are so many things in Common Lisp that are essential to modularity, and it always amazes me that designers of other languages haven't noticed yet. 2014-11-26T05:18:14Z drmeister: Some arguments will end up on the stack/registers and some will be on the heap - correct? 2014-11-26T05:19:08Z beach: Yes, according to how they are used in the function and according to the whims of the register allocator. 2014-11-26T05:19:11Z drmeister: Sorry to keep asking that question. I'm 99.999% sure you will say yes. 2014-11-26T05:19:38Z beach: And some will end up in the dynamic runtime environment as special variable bindings. 2014-11-26T05:19:51Z drmeister: Yes. 2014-11-26T05:20:52Z kuanyui quit (Ping timeout: 240 seconds) 2014-11-26T05:23:30Z drmeister: How will you handle uncommon cases on x86-64? Like if the lambda list is (&rest l) and the user passes six arguments. Five arguments are in registers, the sixth is on the stack. You can't iterate through that. 2014-11-26T05:24:35Z beach: In SICL, I will leave room on the stack for the 5 register arguments when there are &key parameters. I will then save those register arguments to the stack and iterate on the stack, where they are stored consecutively. 2014-11-26T05:25:50Z alexey joined #lisp 2014-11-26T05:26:01Z test1600 joined #lisp 2014-11-26T05:26:14Z drmeister: Ah - So you pass something like (foo 6 1 2 3 4 5 nil nil nil nil nil 6) ? 2014-11-26T05:26:52Z drmeister: The first 6 is the number of arguments. 2014-11-26T05:27:14Z beach: I haven't decided the details yet. Either every call will always leave room on the stack, or I will allocate that room upon entry. 2014-11-26T05:27:54Z beach: The first solution will probably be the best, because when argument passing is done, that space can be reused or deallocated. 2014-11-26T05:28:08Z drmeister: I thought about doing something like that but va_args doesn't allow you to write arguments it only allows you to read.to the stack, only read. 2014-11-26T05:28:15Z beach: ... so there won't be any wasted space on the stack. 2014-11-26T05:28:27Z Zhivago: drmeister: There's libavcall. 2014-11-26T05:28:46Z Zhivago: drmeister: It supplies what you want, and is moderately portable. 2014-11-26T05:28:56Z drmeister: Zhivago: What is that? 2014-11-26T05:29:25Z drmeister: Holy crap - that's news to me. 2014-11-26T05:29:57Z alexey quit (Ping timeout: 240 seconds) 2014-11-26T05:30:51Z jl_3 quit (Read error: No route to host) 2014-11-26T05:32:38Z Zhivago: http://www.gnu.org/software/libffcall/avcall.html 2014-11-26T05:32:45Z hiyosi joined #lisp 2014-11-26T05:32:47Z drmeister: Does it work on OS X? 2014-11-26T05:33:13Z houshuang joined #lisp 2014-11-26T05:33:18Z jumblerg joined #lisp 2014-11-26T05:33:22Z drmeister: It looks like witchcraft. 2014-11-26T05:33:34Z Zhivago: Sure, inline asm, and everything. 2014-11-26T05:34:01Z Harag1 quit (Ping timeout: 255 seconds) 2014-11-26T05:34:14Z Zhivago: I believe that it should work on OS X -- they don't use any exciting calling convention that I'm aware of. 2014-11-26T05:35:48Z ggole quit 2014-11-26T05:35:54Z slyrus_ joined #lisp 2014-11-26T05:37:17Z hiyosi quit (Ping timeout: 240 seconds) 2014-11-26T05:38:04Z slyrus quit (Ping timeout: 250 seconds) 2014-11-26T05:38:04Z slyrus_ is now known as slyrus 2014-11-26T05:39:33Z innertracks quit (Quit: innertracks) 2014-11-26T05:39:58Z drmeister: Now I'm torn. I thought this wasn't possible so I was leaning towards passing excess arguments in the multiple-value-return array. One benefit of using the multiple-value-return array is that I can start filling in at the 6th entry and if there are more than 5 arguments in registers I can copy the first 5 arguments in registers into the first five 2014-11-26T05:39:58Z drmeister: entries of the multiple-value-return array. 2014-11-26T05:40:20Z Zhivago: That would certainly be more portable. 2014-11-26T05:41:36Z drmeister: I'll think on this. It's a painful process to change the calling convention - there's a lot of code that needs to be updated. 2014-11-26T05:44:40Z [1]test1600 joined #lisp 2014-11-26T05:44:54Z blahzik quit (Quit: blahzik) 2014-11-26T05:45:19Z drmeister: I'd like to do it one last time. 2014-11-26T05:47:02Z test1600 quit (Ping timeout: 244 seconds) 2014-11-26T05:47:02Z [1]test1600 is now known as test1600 2014-11-26T05:51:07Z chu joined #lisp 2014-11-26T05:51:38Z Rudolph-Miller joined #lisp 2014-11-26T05:52:58Z drmeister: And since I have to write another argument handler to interface with HIR code I thought I should fix what annoyed me about my current calling convention. Since I pass the first 3 arguments in registers and the rest on the stack (and read using stdargs.h) for non-trivial cases I have to allocate an array on the stack for all of the arguments and copy the 2014-11-26T05:52:58Z drmeister: registers AND the stack arguments into it. 2014-11-26T05:53:50Z Rudolph-Miller quit (Client Quit) 2014-11-26T05:53:58Z Rudolph-Miller joined #lisp 2014-11-26T05:54:08Z drmeister: I didn't realize the consequences until too late. Then I atoned by applying my forehead repeatedly to my desk. 2014-11-26T05:54:25Z pranavrc joined #lisp 2014-11-26T05:56:41Z drmeister: Also, you can't pass classes (even those that contain a single pointer) using varargs, you can only pass raw pointers. That requires some wrapping and unwrapping (albeit it's not that expensive) of raw pointers into my smart_ptr template classes. 2014-11-26T05:57:43Z Zhivago: Class instances? 2014-11-26T05:58:00Z drmeister: This is helpful. I'm blowing two months of cobwebs out of my head and remembering details. I haven't been programming as much as I'd like too the last few months. The tools get a little rusty when they aren't used regularly. 2014-11-26T05:58:09Z drmeister: Yeah, class instances. 2014-11-26T05:58:19Z Zhivago: Store them under oil. 2014-11-26T05:58:27Z drmeister: What do you mean? 2014-11-26T05:58:40Z Zhivago: Then they won't get rusty. :) 2014-11-26T05:59:59Z drmeister: Ah. I thought that might be some obscure programming vernacular that described a useful technique for passing C++ class instances/structs using varargs. 2014-11-26T06:00:59Z Mycelium joined #lisp 2014-11-26T06:01:59Z ivan\ quit (Read error: Connection reset by peer) 2014-11-26T06:02:02Z ivan\_ joined #lisp 2014-11-26T06:04:08Z ivan\_ is now known as ivan\ 2014-11-26T06:04:10Z Vutral quit (Ping timeout: 255 seconds) 2014-11-26T06:09:09Z kcj joined #lisp 2014-11-26T06:11:03Z Rudolph-Miller quit 2014-11-26T06:12:44Z thomas quit (Quit: Reconnecting) 2014-11-26T06:13:11Z oleo quit (Quit: Verlassend) 2014-11-26T06:13:32Z thomas joined #lisp 2014-11-26T06:17:27Z blahzik joined #lisp 2014-11-26T06:18:15Z innertracks joined #lisp 2014-11-26T06:18:41Z blahzik quit (Client Quit) 2014-11-26T06:24:24Z jusss joined #lisp 2014-11-26T06:24:26Z beach: Hmm, I was just told there is no configuration of a desktop PC that allows me to run two 4K monitors on Ubuntu. 2014-11-26T06:24:38Z beach wonders whether that can be true. 2014-11-26T06:26:35Z beach: drmeister: I am currently thinking as follows: When no more than 5 arguments are passed, then no space is allocated on the stack. When more than 5 arguments are passed, the additional arguments are on the stack, following 5 empty slots that can be used to save the register arguments. 2014-11-26T06:28:08Z beach: drmeister: Should it be the case that at most 5 arguments are passed when there are &key parameters, then space is allocated on the stack for the arguments before keyword parsing starts. 2014-11-26T06:28:44Z beach: drmeister: Just current thinking. It may change. 2014-11-26T06:29:17Z BlueRavenGT quit (Ping timeout: 240 seconds) 2014-11-26T06:29:46Z Vutral joined #lisp 2014-11-26T06:29:58Z frkout_ quit (Remote host closed the connection) 2014-11-26T06:30:23Z frkout joined #lisp 2014-11-26T06:32:34Z munksgaard joined #lisp 2014-11-26T06:34:52Z finnrobi quit (Ping timeout: 245 seconds) 2014-11-26T06:35:27Z test1600 quit (Ping timeout: 272 seconds) 2014-11-26T06:36:06Z jtza8 joined #lisp 2014-11-26T06:36:35Z Vutral quit (Excess Flood) 2014-11-26T06:38:04Z pjb: beach: http://www.phoronix.com/scan.php?px=MTY4MDI&page=news_item 2014-11-26T06:38:37Z Rudolph-Miller joined #lisp 2014-11-26T06:38:51Z beach: pjb: Great! Thanks! 2014-11-26T06:40:05Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T06:40:19Z theseb joined #lisp 2014-11-26T06:40:23Z theseb quit (Remote host closed the connection) 2014-11-26T06:40:25Z pjb: "The support is already here. The Nvidia Quadro K5000 supports 4K TV and works with the current Linux Nvidia driver so buy the right kit and it will work without any problems. You're talking about a £2,000 graphics card and £20,000 for a TV though." 2014-11-26T06:40:56Z Rudolph-Miller joined #lisp 2014-11-26T06:41:11Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T06:41:26Z beach: Those prices seem a factor 10 off. 2014-11-26T06:41:26Z pjb: It was last year, so I'd expect things to be smooth enough nowadays. 2014-11-26T06:41:47Z beach: Yeah, thanks. 2014-11-26T06:41:52Z beach: I'll continue looking. 2014-11-26T06:46:08Z fragamus quit (Read error: Connection reset by peer) 2014-11-26T06:46:44Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T06:49:50Z finnrobi joined #lisp 2014-11-26T06:50:35Z Rudolph-Miller joined #lisp 2014-11-26T06:50:40Z Vutral joined #lisp 2014-11-26T06:51:19Z drdanmaku quit (Quit: [a→b]--[a→((E*a)+b)) 2014-11-26T06:54:51Z houshuang quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T06:54:54Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T06:59:18Z kuanyui joined #lisp 2014-11-26T07:04:06Z munksgaard quit (Read error: Connection reset by peer) 2014-11-26T07:04:13Z kuanyui quit (Quit: Leaving.) 2014-11-26T07:05:08Z mrSpec joined #lisp 2014-11-26T07:05:10Z kuanyui joined #lisp 2014-11-26T07:06:20Z rtoym quit (Ping timeout: 255 seconds) 2014-11-26T07:07:17Z kushal quit (Ping timeout: 240 seconds) 2014-11-26T07:08:04Z rtoym joined #lisp 2014-11-26T07:10:17Z salv0 quit (Ping timeout: 272 seconds) 2014-11-26T07:11:03Z ggole joined #lisp 2014-11-26T07:13:37Z beach left #lisp 2014-11-26T07:15:21Z Harag joined #lisp 2014-11-26T07:15:44Z Harag quit (Client Quit) 2014-11-26T07:15:52Z kushal joined #lisp 2014-11-26T07:15:53Z boogie quit (Remote host closed the connection) 2014-11-26T07:16:12Z Harag joined #lisp 2014-11-26T07:17:05Z jewel_ joined #lisp 2014-11-26T07:17:36Z jewel quit (Ping timeout: 258 seconds) 2014-11-26T07:20:02Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T07:20:11Z resttime quit (Quit: resttime) 2014-11-26T07:21:05Z matko quit (Remote host closed the connection) 2014-11-26T07:21:33Z hiyosi joined #lisp 2014-11-26T07:23:29Z pt1 joined #lisp 2014-11-26T07:24:02Z jtza8 quit (Ping timeout: 245 seconds) 2014-11-26T07:24:11Z innertracks quit (Quit: innertracks) 2014-11-26T07:26:14Z hiyosi quit (Ping timeout: 244 seconds) 2014-11-26T07:26:20Z salv0 joined #lisp 2014-11-26T07:26:33Z zyaku quit (Quit: leaving) 2014-11-26T07:26:47Z alexey1 joined #lisp 2014-11-26T07:27:07Z bb010g quit (Quit: Connection closed for inactivity) 2014-11-26T07:31:41Z alexey1 quit (Ping timeout: 264 seconds) 2014-11-26T07:32:35Z Beetny joined #lisp 2014-11-26T07:32:40Z fantazo joined #lisp 2014-11-26T07:33:58Z defaultxr quit (Quit: gnight) 2014-11-26T07:35:25Z __prefect joined #lisp 2014-11-26T07:38:14Z alexey1 joined #lisp 2014-11-26T07:38:36Z mishoo joined #lisp 2014-11-26T07:42:20Z jtza8 joined #lisp 2014-11-26T07:43:43Z loke quit (Remote host closed the connection) 2014-11-26T07:43:55Z mvilleneuve joined #lisp 2014-11-26T07:45:40Z zacharias joined #lisp 2014-11-26T07:46:42Z loke joined #lisp 2014-11-26T07:48:50Z robot-beethoven joined #lisp 2014-11-26T07:51:17Z smull joined #lisp 2014-11-26T07:53:06Z loke quit (Quit: Leaving) 2014-11-26T08:02:29Z Bicyclidine quit (Ping timeout: 264 seconds) 2014-11-26T08:07:42Z jtza8 quit (Remote host closed the connection) 2014-11-26T08:10:20Z Cymew joined #lisp 2014-11-26T08:16:41Z rtoym_ joined #lisp 2014-11-26T08:16:46Z boogie joined #lisp 2014-11-26T08:17:06Z rtoym quit (Ping timeout: 250 seconds) 2014-11-26T08:17:15Z rtoym_ is now known as rtoym 2014-11-26T08:17:27Z stardiviner quit (Ping timeout: 255 seconds) 2014-11-26T08:18:49Z jtza8 joined #lisp 2014-11-26T08:19:58Z rtoym_ joined #lisp 2014-11-26T08:21:36Z boogie quit (Ping timeout: 256 seconds) 2014-11-26T08:21:52Z rtoym quit (Ping timeout: 250 seconds) 2014-11-26T08:21:52Z rtoym_ is now known as rtoym 2014-11-26T08:22:24Z loke joined #lisp 2014-11-26T08:22:26Z hiyosi joined #lisp 2014-11-26T08:25:31Z Lowl3v3l joined #lisp 2014-11-26T08:26:38Z Vutral quit (Ping timeout: 250 seconds) 2014-11-26T08:27:16Z hiyosi quit (Ping timeout: 255 seconds) 2014-11-26T08:27:23Z aerique_: Xach: indeed! 2014-11-26T08:28:11Z GuilOooo quit (Ping timeout: 272 seconds) 2014-11-26T08:33:07Z zacharias quit (Ping timeout: 255 seconds) 2014-11-26T08:36:16Z Vutral joined #lisp 2014-11-26T08:39:47Z schaueho joined #lisp 2014-11-26T08:42:58Z bgs100 quit (Quit: bgs100) 2014-11-26T08:46:53Z boogie joined #lisp 2014-11-26T08:47:30Z arenz joined #lisp 2014-11-26T08:49:40Z tessier quit (Read error: Connection reset by peer) 2014-11-26T08:50:03Z tessier joined #lisp 2014-11-26T08:51:13Z zacharias joined #lisp 2014-11-26T08:52:06Z boogie quit (Ping timeout: 255 seconds) 2014-11-26T08:53:16Z psy quit (Read error: No route to host) 2014-11-26T08:53:59Z psy joined #lisp 2014-11-26T08:55:21Z mrSpec quit (Quit: mrSpec) 2014-11-26T08:55:43Z mrSpec joined #lisp 2014-11-26T09:02:28Z mrSpec quit (Read error: Connection reset by peer) 2014-11-26T09:02:44Z munksgaard joined #lisp 2014-11-26T09:03:20Z mrSpec joined #lisp 2014-11-26T09:03:56Z Shinmera joined #lisp 2014-11-26T09:06:41Z mrSpec quit (Read error: Connection reset by peer) 2014-11-26T09:07:22Z CrazyEddy quit (Ping timeout: 245 seconds) 2014-11-26T09:07:46Z mrSpec joined #lisp 2014-11-26T09:09:05Z kub4 quit (Ping timeout: 264 seconds) 2014-11-26T09:10:44Z mrSpec quit (Remote host closed the connection) 2014-11-26T09:11:21Z kub4 joined #lisp 2014-11-26T09:12:08Z MrWoohoo joined #lisp 2014-11-26T09:13:15Z ivan\ quit (Ping timeout: 255 seconds) 2014-11-26T09:14:31Z Harag quit (Ping timeout: 255 seconds) 2014-11-26T09:15:02Z mrSpec joined #lisp 2014-11-26T09:16:49Z kub4 quit (Ping timeout: 258 seconds) 2014-11-26T09:20:11Z attila_lendvai joined #lisp 2014-11-26T09:21:03Z redeemed joined #lisp 2014-11-26T09:21:04Z angavrilov joined #lisp 2014-11-26T09:25:18Z fantazo quit (Quit: Verlassend) 2014-11-26T09:25:54Z corni joined #lisp 2014-11-26T09:25:54Z corni quit (Changing host) 2014-11-26T09:25:54Z corni joined #lisp 2014-11-26T09:29:17Z GuilOooo joined #lisp 2014-11-26T09:30:21Z mrSpec quit (Remote host closed the connection) 2014-11-26T09:31:31Z Harag joined #lisp 2014-11-26T09:34:20Z mrSpec joined #lisp 2014-11-26T09:39:21Z jtza8 quit (Ping timeout: 255 seconds) 2014-11-26T09:42:16Z pppp2 joined #lisp 2014-11-26T09:45:11Z corni quit (Ping timeout: 258 seconds) 2014-11-26T09:45:35Z adlai quit (Remote host closed the connection) 2014-11-26T09:45:38Z Lowl3v3l quit (Read error: Connection reset by peer) 2014-11-26T09:46:01Z adlai joined #lisp 2014-11-26T09:47:42Z boogie joined #lisp 2014-11-26T09:48:11Z jusss quit (Remote host closed the connection) 2014-11-26T09:49:15Z harish_ quit (Ping timeout: 272 seconds) 2014-11-26T09:53:03Z boogie quit (Ping timeout: 272 seconds) 2014-11-26T09:54:24Z dbh joined #lisp 2014-11-26T09:58:01Z quazimodo quit (Quit: leaving) 2014-11-26T09:59:37Z dbh quit (Ping timeout: 240 seconds) 2014-11-26T10:03:37Z scymtym_ quit (Ping timeout: 240 seconds) 2014-11-26T10:08:34Z s00pcan joined #lisp 2014-11-26T10:10:29Z kcj quit (Read error: Connection reset by peer) 2014-11-26T10:11:07Z hiyosi joined #lisp 2014-11-26T10:12:29Z theBlackDragon quit (Ping timeout: 264 seconds) 2014-11-26T10:12:58Z k-dawg joined #lisp 2014-11-26T10:14:19Z Ralt joined #lisp 2014-11-26T10:15:37Z hiyosi quit (Ping timeout: 240 seconds) 2014-11-26T10:21:27Z mguzmann joined #lisp 2014-11-26T10:27:21Z theBlackDragon joined #lisp 2014-11-26T10:31:47Z Karl_Dscc joined #lisp 2014-11-26T10:32:54Z Vivitron quit (Remote host closed the connection) 2014-11-26T10:33:24Z Vivitron joined #lisp 2014-11-26T10:34:36Z wjiang_ quit (Quit: Leaving) 2014-11-26T10:35:21Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T10:36:32Z theos quit (Ping timeout: 245 seconds) 2014-11-26T10:37:32Z theos joined #lisp 2014-11-26T10:41:03Z echo-area quit (Read error: Connection reset by peer) 2014-11-26T10:41:19Z didi joined #lisp 2014-11-26T10:41:36Z quazimodo joined #lisp 2014-11-26T10:42:58Z didi: Is there a format directive for multiple returned values? e.g. (format nil "~M ~M" (values 4 2)) 2014-11-26T10:44:05Z dim: I'd use multiple-value-list 2014-11-26T10:45:10Z didi: dim: Yeah. That is what I am using. (format nil "~{~A ~A~}" (multiple-value-list (values 1 2))) 2014-11-26T10:47:10Z Shinmera: There can't be, the values are discarded when you pass them: (defun foo (a) (multiple-value-list a)) (foo (values 0 1)) => (0) 2014-11-26T10:47:49Z didi: Shinmera: I see. Thank you. 2014-11-26T10:48:32Z boogie joined #lisp 2014-11-26T10:48:53Z fe[nl]ix: sort of 2014-11-26T10:49:02Z fe[nl]ix: you can use multiple-value-call 2014-11-26T10:49:45Z fe[nl]ix: (multiple-value-call #'format nil "~A ~A" (values 4 2)) 2014-11-26T10:49:46Z Shinmera: Oh, nice. Another thing I didn't know about. 2014-11-26T10:51:18Z didi: fe[nl]ix: In my case, I have control only over the control-string and the arguments, so unfortunately I can't use `multiple-value-call'. But thank you. 2014-11-26T10:51:57Z n0n0 joined #lisp 2014-11-26T10:53:29Z boogie quit (Ping timeout: 264 seconds) 2014-11-26T10:53:48Z chu joined #lisp 2014-11-26T10:53:49Z fe[nl]ix: in that case (apply #'format nil "~A ~A" (multiple-value-call #'list (values 4 2))) 2014-11-26T10:54:55Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-26T10:55:19Z didi: fe[nl]ix: Still. I provide the control-string and the arguments but the actual format call will be handled somewhere else. 2014-11-26T10:55:24Z Longlius quit (Quit: Leaving) 2014-11-26T10:55:55Z fe[nl]ix: (multiple-value-call #'list (values 4 2)) is the argument list 2014-11-26T10:57:16Z Karl_Dscc joined #lisp 2014-11-26T10:58:11Z hardenedapple joined #lisp 2014-11-26T10:59:08Z n0n0 quit (Ping timeout: 256 seconds) 2014-11-26T10:59:37Z didi: fe[nl]ix: Sorry, I think I am not understanding it. I can't control how `format' will be called. So I can't pass a list forward expecting `format' to be called with `apply'. AFAIU the way to go is to use "~{~A ~A~}" and `multiple-value-list'. 2014-11-26T11:02:10Z s00pcan quit (Remote host closed the connection) 2014-11-26T11:02:45Z Longlius joined #lisp 2014-11-26T11:03:06Z kanru quit (Ping timeout: 256 seconds) 2014-11-26T11:03:07Z s00pcan joined #lisp 2014-11-26T11:03:16Z fe[nl]ix: do you have a concrete example of this requirement ? 2014-11-26T11:05:00Z alexey1 quit (Remote host closed the connection) 2014-11-26T11:05:18Z flip214 quit (Ping timeout: 244 seconds) 2014-11-26T11:06:28Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T11:06:48Z didi: fe[nl]ix: (defun my-format (control-string &rest args) (format nil "~?" control-string args)) 2014-11-26T11:08:27Z fe[nl]ix: then you can (apply #'my-format "~A ~A" (multiple-value-call #'list (values 4 2))) 2014-11-26T11:08:58Z eli quit (Remote host closed the connection) 2014-11-26T11:09:52Z didi: fe[nl]ix: I think we won't get pass this disagreement. Thanks for your time. 2014-11-26T11:09:57Z maxpeck quit (Remote host closed the connection) 2014-11-26T11:11:56Z hiyosi joined #lisp 2014-11-26T11:12:51Z stepnem joined #lisp 2014-11-26T11:15:57Z fe[nl]ix: didi: if your format wrapper can take &rest args you can use apply 2014-11-26T11:16:00Z fe[nl]ix: that's a fact 2014-11-26T11:16:22Z fe[nl]ix: calling it disagreement is comical 2014-11-26T11:16:32Z hiyosi quit (Ping timeout: 245 seconds) 2014-11-26T11:16:41Z didi: OK. 2014-11-26T11:18:00Z Shinmera joined #lisp 2014-11-26T11:18:27Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T11:19:06Z mrSpec quit (Ping timeout: 250 seconds) 2014-11-26T11:21:49Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T11:22:10Z maxpeck joined #lisp 2014-11-26T11:26:10Z ska-fan: Which one is correct: ((lambda (f) (f)) (lambda () 'a)) or ((lambda (f) (f)) '(lambda () 'a)) ? 2014-11-26T11:27:54Z fe[nl]ix: (lambda (f) (f)) should be (lambda (f) (funcall f)) 2014-11-26T11:28:22Z fe[nl]ix: the former would be valid in Scheme 2014-11-26T11:28:29Z fe[nl]ix: and quoted lambda forms are not coerced to functions, like in Elisp 2014-11-26T11:31:28Z mrSpec joined #lisp 2014-11-26T11:32:34Z spacebat joined #lisp 2014-11-26T11:36:24Z alexey1 joined #lisp 2014-11-26T11:47:46Z Karl_Dscc joined #lisp 2014-11-26T11:49:14Z boogie joined #lisp 2014-11-26T11:51:56Z flip214 joined #lisp 2014-11-26T11:52:14Z drl joined #lisp 2014-11-26T11:54:40Z boogie quit (Ping timeout: 256 seconds) 2014-11-26T11:57:59Z flip214 is now known as flip 2014-11-26T11:59:03Z flip is now known as flip214 2014-11-26T12:02:07Z pjb` joined #lisp 2014-11-26T12:04:36Z pjb quit (Ping timeout: 265 seconds) 2014-11-26T12:05:38Z gravicappa joined #lisp 2014-11-26T12:06:17Z atgreen joined #lisp 2014-11-26T12:06:26Z pppp2 quit (Read error: Connection reset by peer) 2014-11-26T12:08:51Z Hache_ joined #lisp 2014-11-26T12:09:16Z urandom__ joined #lisp 2014-11-26T12:12:13Z eudoxia joined #lisp 2014-11-26T12:14:32Z ikki joined #lisp 2014-11-26T12:15:03Z nowhereman quit (Ping timeout: 255 seconds) 2014-11-26T12:18:43Z edgar-rft quit (Quit: lifeform experiment finished because activity abandoned) 2014-11-26T12:21:02Z didi left #lisp 2014-11-26T12:21:52Z Beetny quit (Ping timeout: 240 seconds) 2014-11-26T12:23:56Z ehu joined #lisp 2014-11-26T12:26:41Z Joreji joined #lisp 2014-11-26T12:27:42Z Joreji quit (Read error: Connection reset by peer) 2014-11-26T12:27:46Z hiyosi joined #lisp 2014-11-26T12:32:29Z hiyosi quit (Ping timeout: 264 seconds) 2014-11-26T12:36:38Z ehu quit (Ping timeout: 255 seconds) 2014-11-26T12:40:24Z nowhere_man_ joined #lisp 2014-11-26T12:45:19Z Harag quit (Ping timeout: 272 seconds) 2014-11-26T12:45:50Z pt1_ joined #lisp 2014-11-26T12:48:44Z vaporatorius joined #lisp 2014-11-26T12:48:48Z pt1 quit (Ping timeout: 258 seconds) 2014-11-26T12:49:52Z teiresias quit (Quit: leaving) 2014-11-26T12:50:07Z boogie joined #lisp 2014-11-26T12:50:57Z keen__ joined #lisp 2014-11-26T12:53:37Z keen_ quit (Ping timeout: 245 seconds) 2014-11-26T12:53:54Z ikki quit (Ping timeout: 265 seconds) 2014-11-26T12:55:02Z eudoxia quit (Quit: Lost terminal) 2014-11-26T12:55:04Z hiyosi joined #lisp 2014-11-26T12:55:21Z boogie quit (Ping timeout: 265 seconds) 2014-11-26T13:00:50Z Rudolph-Miller joined #lisp 2014-11-26T13:00:54Z BaconOverflow joined #lisp 2014-11-26T13:03:06Z munksgaard quit (Ping timeout: 250 seconds) 2014-11-26T13:03:30Z munksgaard joined #lisp 2014-11-26T13:03:36Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T13:04:31Z ska-fan: fe[nl]ix: thx :-) 2014-11-26T13:05:07Z ehu joined #lisp 2014-11-26T13:06:11Z fe[nl]ix: ska-fan: you can do ((lambda (f) (funcall f)) (coerce '(lambda () 'a) 'function)) 2014-11-26T13:06:19Z fe[nl]ix: if you really want 2014-11-26T13:13:38Z chu joined #lisp 2014-11-26T13:14:46Z posterdati300 quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2014-11-26T13:15:25Z BitPuffin joined #lisp 2014-11-26T13:15:50Z Harag joined #lisp 2014-11-26T13:19:19Z pranavrc quit 2014-11-26T13:21:11Z Hache_ quit (Ping timeout: 244 seconds) 2014-11-26T13:23:43Z ehu_ joined #lisp 2014-11-26T13:24:46Z Harag quit (Ping timeout: 256 seconds) 2014-11-26T13:25:41Z ehu quit (Ping timeout: 264 seconds) 2014-11-26T13:27:01Z k-stz joined #lisp 2014-11-26T13:27:18Z mingvs quit (Read error: Connection reset by peer) 2014-11-26T13:28:09Z thawes joined #lisp 2014-11-26T13:35:58Z Nshag quit (Ping timeout: 255 seconds) 2014-11-26T13:37:17Z s00pcan quit (Ping timeout: 264 seconds) 2014-11-26T13:40:43Z EvW joined #lisp 2014-11-26T13:47:17Z thawes quit (Ping timeout: 240 seconds) 2014-11-26T13:47:47Z thawes joined #lisp 2014-11-26T13:50:46Z boogie joined #lisp 2014-11-26T13:53:10Z nicdev`` quit (Read error: Connection reset by peer) 2014-11-26T13:53:36Z nicdev`` joined #lisp 2014-11-26T13:53:58Z ska-fan: fe[nl]ix: Actually I'm programming a small lisp as a learning exercise. I'm taking it from http://lib.store.yahoo.net/lib/paulgraham/jmc.ps and I believe there's an error in a short listing in there. Specifically, the paper has the variant with quote (on page 4 at the bottom). 2014-11-26T13:53:58Z jdz quit (Ping timeout: 258 seconds) 2014-11-26T13:54:20Z jdz joined #lisp 2014-11-26T13:55:46Z boogie quit (Ping timeout: 255 seconds) 2014-11-26T13:57:02Z BaconOverflow quit (Ping timeout: 258 seconds) 2014-11-26T13:57:03Z k-dawg quit (Quit: This computer has gone to sleep) 2014-11-26T13:57:18Z nicdev``` joined #lisp 2014-11-26T13:57:21Z thawes quit (Ping timeout: 244 seconds) 2014-11-26T13:57:38Z ASau quit (Ping timeout: 255 seconds) 2014-11-26T13:57:58Z thawes joined #lisp 2014-11-26T13:58:34Z nicdev`` quit (Ping timeout: 258 seconds) 2014-11-26T13:58:46Z BaconOverflow joined #lisp 2014-11-26T13:58:52Z kuanyui quit (Ping timeout: 240 seconds) 2014-11-26T13:58:57Z nightshade427 quit (Ping timeout: 258 seconds) 2014-11-26T13:59:11Z nightshade427 joined #lisp 2014-11-26T14:00:21Z pt1_ quit (Remote host closed the connection) 2014-11-26T14:01:37Z TDog quit (Ping timeout: 240 seconds) 2014-11-26T14:02:44Z drdanmaku joined #lisp 2014-11-26T14:10:36Z Jubb quit (Remote host closed the connection) 2014-11-26T14:11:30Z JuanDaugherty joined #lisp 2014-11-26T14:12:22Z towodo joined #lisp 2014-11-26T14:13:15Z CrazyWoods joined #lisp 2014-11-26T14:14:30Z w37 joined #lisp 2014-11-26T14:15:18Z Shinmera: Daily screenshot http://shinmera.tymoon.eu/public/screenshot-2014.11.26-15:11:58.png 2014-11-26T14:16:33Z EvW quit (Ping timeout: 265 seconds) 2014-11-26T14:19:25Z Xach: smeartastic! 2014-11-26T14:19:46Z Rudolph-Miller joined #lisp 2014-11-26T14:20:29Z Shinmera: The prospects aren't that great though. The system Qt provides to allow these neat dockable/tabbable widgets is by far not accessible enough and I might have to reimplement it entirely. 2014-11-26T14:22:20Z harish_ joined #lisp 2014-11-26T14:23:29Z yeticry quit (Ping timeout: 272 seconds) 2014-11-26T14:24:04Z yeticry joined #lisp 2014-11-26T14:24:44Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T14:25:01Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T14:26:34Z mearnsh joined #lisp 2014-11-26T14:28:43Z Rudolph-Miller joined #lisp 2014-11-26T14:29:35Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T14:29:45Z xristos joined #lisp 2014-11-26T14:31:08Z Nshag joined #lisp 2014-11-26T14:31:44Z Xach: linedit cannot build if any part of its absolute path has a space in it 2014-11-26T14:31:51Z Xach: that is not great 2014-11-26T14:32:06Z Shinmera: Especially not for windows 2014-11-26T14:32:39Z Xach: I wouldn't expect it to work at all on windows for other reasons, but still, a space should not be fatal 2014-11-26T14:33:09Z Xach: It looks like it's uffi groveling of some sort that falls down 2014-11-26T14:33:38Z tkhoa2711 joined #lisp 2014-11-26T14:33:41Z alexey1 quit (Remote host closed the connection) 2014-11-26T14:34:07Z Xach tests everything in the ql world for similar failures 2014-11-26T14:35:58Z Rudolph-Miller joined #lisp 2014-11-26T14:36:20Z Harag joined #lisp 2014-11-26T14:37:15Z Nshag quit (Read error: Connection reset by peer) 2014-11-26T14:37:31Z kanru joined #lisp 2014-11-26T14:37:42Z Nshag joined #lisp 2014-11-26T14:38:02Z Nshag quit (Remote host closed the connection) 2014-11-26T14:38:09Z hiyosi quit (Read error: Connection reset by peer) 2014-11-26T14:40:08Z Lowl3v3l joined #lisp 2014-11-26T14:40:19Z hiyosi joined #lisp 2014-11-26T14:41:46Z Lowl3v3l quit (Read error: Connection reset by peer) 2014-11-26T14:42:08Z Lowl3v3l joined #lisp 2014-11-26T14:43:57Z Cymew: ska-fan: Check Graham's own page. I think there's a newer version there if I remember correctly 2014-11-26T14:44:34Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T14:46:28Z Nshag joined #lisp 2014-11-26T14:46:30Z alexey1 joined #lisp 2014-11-26T14:47:28Z oleo joined #lisp 2014-11-26T14:48:57Z ikki joined #lisp 2014-11-26T14:51:37Z boogie joined #lisp 2014-11-26T14:52:42Z mearnsh joined #lisp 2014-11-26T14:53:15Z pt1 joined #lisp 2014-11-26T14:54:32Z pecg joined #lisp 2014-11-26T14:54:32Z pecg quit (Changing host) 2014-11-26T14:54:32Z pecg joined #lisp 2014-11-26T14:56:34Z boogie quit (Ping timeout: 256 seconds) 2014-11-26T14:58:17Z adlai quit (Ping timeout: 250 seconds) 2014-11-26T14:59:31Z Harag quit (Quit: Harag) 2014-11-26T14:59:48Z Harag joined #lisp 2014-11-26T15:00:15Z LoicLisp joined #lisp 2014-11-26T15:00:29Z adlai joined #lisp 2014-11-26T15:01:19Z s00pcan joined #lisp 2014-11-26T15:03:52Z jtza8 joined #lisp 2014-11-26T15:04:30Z protist joined #lisp 2014-11-26T15:07:57Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T15:10:40Z mearnsh joined #lisp 2014-11-26T15:11:47Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T15:12:35Z toors quit (Quit: Lost terminal) 2014-11-26T15:14:02Z grc` joined #lisp 2014-11-26T15:14:22Z munksgaard quit (Ping timeout: 240 seconds) 2014-11-26T15:15:14Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T15:16:39Z mearnsh joined #lisp 2014-11-26T15:17:07Z ahungry joined #lisp 2014-11-26T15:19:01Z ikki quit (Ping timeout: 255 seconds) 2014-11-26T15:19:02Z sheilong quit (Quit: Konversation terminated!) 2014-11-26T15:22:49Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:23:45Z Rudolph-Miller joined #lisp 2014-11-26T15:24:16Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:24:59Z toors joined #lisp 2014-11-26T15:26:33Z Rudolph-Miller joined #lisp 2014-11-26T15:30:43Z drl quit (Quit: Leaving) 2014-11-26T15:31:22Z psy quit (Ping timeout: 240 seconds) 2014-11-26T15:31:51Z Rudolph-Miller quit (Quit: ZNC - http://znc.in) 2014-11-26T15:35:54Z maxpeck quit (Remote host closed the connection) 2014-11-26T15:35:56Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T15:37:45Z jtza8 quit (Ping timeout: 265 seconds) 2014-11-26T15:38:41Z mearnsh joined #lisp 2014-11-26T15:38:50Z Rudolph-Miller joined #lisp 2014-11-26T15:39:33Z pillton quit (Ping timeout: 272 seconds) 2014-11-26T15:39:59Z mingvs joined #lisp 2014-11-26T15:45:49Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T15:46:14Z rhollor joined #lisp 2014-11-26T15:47:09Z chu joined #lisp 2014-11-26T15:47:17Z kuanyui joined #lisp 2014-11-26T15:47:44Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:47:49Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T15:48:17Z Rudolph-Miller joined #lisp 2014-11-26T15:48:40Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:49:13Z larme: ths os the world i love. Hence the world I think it's the best situation 2014-11-26T15:49:36Z larme: sorry my keyboard mess up 2014-11-26T15:49:43Z mearnsh joined #lisp 2014-11-26T15:50:24Z Rudolph-Miller joined #lisp 2014-11-26T15:50:58Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:51:29Z Rudolph-Miller joined #lisp 2014-11-26T15:51:31Z Ethan- quit (Ping timeout: 272 seconds) 2014-11-26T15:51:34Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-26T15:51:51Z Rudolph-Miller quit (Remote host closed the connection) 2014-11-26T15:52:30Z boogie joined #lisp 2014-11-26T15:52:31Z Rudolph-Miller joined #lisp 2014-11-26T15:53:28Z Shinmera joined #lisp 2014-11-26T15:53:33Z rhollor: I just found out that my step used to program fortran and cobol on punch cards back when he was in college 2014-11-26T15:54:13Z boogie quit (Read error: Connection reset by peer) 2014-11-26T15:54:28Z boogie joined #lisp 2014-11-26T16:01:06Z BlueRavenGT joined #lisp 2014-11-26T16:01:17Z EvW joined #lisp 2014-11-26T16:01:59Z ska-fan: Cymew: that's the link from his own page 2014-11-26T16:03:13Z alexey1 quit (Remote host closed the connection) 2014-11-26T16:03:52Z pullphinger joined #lisp 2014-11-26T16:04:52Z ahungry quit (Quit: leaving) 2014-11-26T16:05:03Z ahungry_ quit (Quit: leaving) 2014-11-26T16:05:21Z ahungry joined #lisp 2014-11-26T16:05:37Z ahungry_ joined #lisp 2014-11-26T16:08:36Z zacharias quit (Ping timeout: 255 seconds) 2014-11-26T16:13:53Z fantazo joined #lisp 2014-11-26T16:13:55Z kushal quit (Quit: Leaving) 2014-11-26T16:14:53Z kushal joined #lisp 2014-11-26T16:14:58Z kushal quit (Changing host) 2014-11-26T16:14:58Z kushal joined #lisp 2014-11-26T16:16:13Z slyrus quit (Ping timeout: 272 seconds) 2014-11-26T16:16:13Z Cymew: ska-fan: ok 2014-11-26T16:16:40Z Cymew: I thought it looked odd, and had a vague memory of an error in it being fixed in a later place 2014-11-26T16:16:53Z Cymew: Maybe that's the latest one then 2014-11-26T16:17:45Z shka joined #lisp 2014-11-26T16:19:52Z arenz quit (Ping timeout: 256 seconds) 2014-11-26T16:19:58Z shintester joined #lisp 2014-11-26T16:20:00Z shintester left #lisp 2014-11-26T16:21:07Z boogie quit (Ping timeout: 255 seconds) 2014-11-26T16:24:43Z Rudolph-Miller: go 2014-11-26T16:28:18Z munksgaard joined #lisp 2014-11-26T16:33:01Z gingerale joined #lisp 2014-11-26T16:34:42Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-26T16:35:18Z manfoo7` joined #lisp 2014-11-26T16:37:05Z grc` quit (Remote host closed the connection) 2014-11-26T16:40:06Z manfoo7 quit (Ping timeout: 265 seconds) 2014-11-26T16:40:24Z Mycelium quit (Quit: Leaving) 2014-11-26T16:42:47Z boogie joined #lisp 2014-11-26T16:44:32Z theseb joined #lisp 2014-11-26T16:48:32Z pt1 quit (Remote host closed the connection) 2014-11-26T16:50:59Z BaconOverflow quit (Quit: Connection closed for inactivity) 2014-11-26T16:52:28Z theos quit (Disconnected by services) 2014-11-26T16:52:57Z theos joined #lisp 2014-11-26T16:53:12Z boogie quit (Remote host closed the connection) 2014-11-26T16:54:47Z innertracks joined #lisp 2014-11-26T16:55:48Z theseb: How implement map and lisp functions in lisp? anyone know of example code somewhere? 2014-11-26T16:55:56Z redeemed quit (Quit: q) 2014-11-26T16:56:02Z theseb: sorry..i mean how implement *map* and *list* in lisp 2014-11-26T16:56:58Z shka: theseb: functions? 2014-11-26T16:57:03Z theseb: yes! 2014-11-26T16:57:13Z theseb: rather than primitives 2014-11-26T16:57:27Z shka: functions or data structures? 2014-11-26T16:57:37Z Xach: theseb: MAP as in the semantics of CL:MAP? 2014-11-26T16:57:38Z theseb: shka: well map and list are functions 2014-11-26T16:57:49Z shka: ah, right 2014-11-26T16:57:52Z theseb: shka: oh i see the confusion....yes list is a data struct and a func 2014-11-26T16:58:16Z theseb: Xach: hmm. not sure..as in it applies a function to all elements in a list 2014-11-26T16:58:19Z shka: ok i see now 2014-11-26T16:59:22Z ehu_ quit (Ping timeout: 255 seconds) 2014-11-26T16:59:45Z theseb: One more thing...besides being cool....WHEN do people actually use/need eval and apply? 2014-11-26T16:59:57Z Bicyclidine joined #lisp 2014-11-26T17:00:10Z octophore joined #lisp 2014-11-26T17:00:46Z octophore quit (Read error: Connection reset by peer) 2014-11-26T17:01:15Z octophore_ quit (Ping timeout: 255 seconds) 2014-11-26T17:01:16Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-11-26T17:01:35Z shka: eval? almost never 2014-11-26T17:01:46Z mvilleneuve joined #lisp 2014-11-26T17:01:47Z shka: it is not very efficient 2014-11-26T17:01:59Z theseb: shka: that's what i thought 2014-11-26T17:02:00Z shka: theseb: apply is very usefull 2014-11-26T17:02:06Z mvilleneuve quit (Client Quit) 2014-11-26T17:02:10Z theseb: shka: yet everyone goes gaga over eval 2014-11-26T17:02:28Z shka: really? 2014-11-26T17:02:30Z shka: who? 2014-11-26T17:02:46Z theseb: shka: paul graham! :) 2014-11-26T17:03:02Z shka: huh? 2014-11-26T17:03:06Z dfox quit (Ping timeout: 272 seconds) 2014-11-26T17:03:09Z shka: that's interesting i guess 2014-11-26T17:03:11Z theseb: shka: the standard evolution seemed to be you are supposed to implement eval in lisp....that gets you enlightneded..then you forget about it 2014-11-26T17:03:26Z shka: ah, yes 2014-11-26T17:03:27Z CrazyWoods quit (Quit: leaving) 2014-11-26T17:04:11Z octophore joined #lisp 2014-11-26T17:04:42Z shka: theseb: but apply is very usefull 2014-11-26T17:04:59Z shka: not very good performance wise if your list is long but still usefull 2014-11-26T17:05:40Z dfox joined #lisp 2014-11-26T17:07:31Z theseb: Would there be any benefit to teaching programming via the "axioms" of lisp kinda like geometry has axioms you build up from? I'm thinking of Paul Graham's beautiful Roots of Lisp paper where he revisits McCarthy's original work 2014-11-26T17:07:50Z octophore_ joined #lisp 2014-11-26T17:08:00Z theseb: seems that would make a compelling quasi-math-programming class for high schools no? 2014-11-26T17:08:08Z jlongster joined #lisp 2014-11-26T17:08:17Z octophore quit (Ping timeout: 240 seconds) 2014-11-26T17:08:56Z theseb: comp sci just teaches syntax w/o the underlying math and beaufiful structure 2014-11-26T17:10:28Z Xach: theseb: What haave you written so far, regarding MAP and LIST? 2014-11-26T17:10:34Z octophore joined #lisp 2014-11-26T17:11:02Z theseb: Xach: i implemented them as primitives in my completed baby lisp....i'm now trying to minimize number of primitives 2014-11-26T17:11:18Z Xach: theseb: Ok. So what does your attempt to write it in lisp look like? 2014-11-26T17:11:31Z isoraqathedh joined #lisp 2014-11-26T17:11:32Z Bicyclidine: i didn't learn hilbert's axioms in geometry, i'll tell you that 2014-11-26T17:11:47Z theseb: Bicyclidine: yes but every kid has some passing exposure to Euclid's 2014-11-26T17:12:02Z boogie joined #lisp 2014-11-26T17:12:07Z Bicyclidine: nope 2014-11-26T17:12:16Z theseb: Xach: i'm thinking they can be cleanly done with recursion somehow..that's all 2014-11-26T17:12:41Z octophore_ quit (Ping timeout: 264 seconds) 2014-11-26T17:12:43Z theseb: Xach: Paul Graham said McCarthy's original papers treated list function as an abbreviation for (cons ( cons ( cons ...) ))) 2014-11-26T17:12:52Z Hache_ joined #lisp 2014-11-26T17:13:06Z theseb: Xach: and that eval would need to be modified to accept arbitrary numbers of params to handle list function 2014-11-26T17:13:07Z shka: theseb: map probabbly would be fairly simple 2014-11-26T17:13:11Z Xach: I am really only interested in Common Lisp discussion. 2014-11-26T17:13:22Z shka: not sure about list 2014-11-26T17:13:25Z Xach: If you have a question about implementing them in Common Lisp, I'd be happy to help. 2014-11-26T17:13:43Z beach joined #lisp 2014-11-26T17:13:51Z beach: Good evening everyone! 2014-11-26T17:13:58Z MoALTz joined #lisp 2014-11-26T17:14:10Z rhollor: beach: good morning! 2014-11-26T17:14:51Z theseb: Xach: i found this for map... (define (map f l) (if (pair? l) (cons (f (car l)) (map f (cdr l))) '())) ....so i guess it is only the list func i'm lost one..dunno even how to start since unlike map that one has arbitrary number of params 2014-11-26T17:14:54Z EvW quit (Ping timeout: 265 seconds) 2014-11-26T17:15:11Z Xach: theseb: with a &rest parameter. 2014-11-26T17:15:17Z octophore_ joined #lisp 2014-11-26T17:15:27Z Xach: DEFINE is not Common Lisp. 2014-11-26T17:15:46Z beach: Nor is PAIR? 2014-11-26T17:15:52Z theseb: Xach: hmm...too many lisp dialects floating around...sorry 2014-11-26T17:16:15Z theseb: Xach: well i can port that to CL easy enough 2014-11-26T17:16:18Z Bicyclidine: common lisp should get an army and a navy 2014-11-26T17:16:31Z beach: Heh! 2014-11-26T17:16:31Z theseb: Xach: but list function i don't even have goofy code to port 2014-11-26T17:16:47Z Bicyclidine: theseb: do recursive conses 2014-11-26T17:17:00Z tharugrim quit (Ping timeout: 255 seconds) 2014-11-26T17:17:05Z theseb: Bicyclidine: with an if statement to stop the recursion? 2014-11-26T17:17:18Z octophore quit (Ping timeout: 244 seconds) 2014-11-26T17:17:22Z theseb: Bicyclidine: yea...i kinda a rough idea of something like that 2014-11-26T17:17:26Z beach: theseb: (defun list (&rest args) args) 2014-11-26T17:17:49Z Patzy quit (Ping timeout: 244 seconds) 2014-11-26T17:17:52Z theseb: beach: is &rest just like normal rest? 2014-11-26T17:18:02Z beach: "normal rest"? 2014-11-26T17:18:16Z tharugrim joined #lisp 2014-11-26T17:18:19Z theseb: beach: i need to do this in only the most primitive subset of CL since my "CL" implementation is pretty basic 2014-11-26T17:18:23Z Patzy joined #lisp 2014-11-26T17:18:37Z theseb: beach: the cdr 2014-11-26T17:18:54Z Bicyclidine: yes, &rest lets you deal with the argument list directly. 2014-11-26T17:18:57Z innertracks quit (Ping timeout: 240 seconds) 2014-11-26T17:19:05Z Bicyclidine: though in (defun list (&rest args) ...) args would be the whole list, not the cdr. 2014-11-26T17:19:55Z octophore_ quit (Read error: Connection reset by peer) 2014-11-26T17:19:56Z theseb: Bicyclidine, beach: wait...what's wrong with (defun list (rest args) args) ...or... (defun list (cdr args) args) ? 2014-11-26T17:20:03Z beach: theseb: What Bicyclidine says. This is the full implementation of LIST because that's what &REST does; it makes a list of all the arguments. 2014-11-26T17:20:26Z Bicyclidine: theseb: that would just bind "rest" to the first arg and "args" to the second and forbid any more, of course 2014-11-26T17:20:38Z blahzik joined #lisp 2014-11-26T17:20:45Z octophore joined #lisp 2014-11-26T17:20:59Z Bicyclidine: theseb: (define (&rest args) args) works, but works kind of weird with special allocation of &rest lists 2014-11-26T17:21:31Z Bicyclidine: probably. don't remember the details 2014-11-26T17:22:13Z octophore quit (Read error: Connection reset by peer) 2014-11-26T17:22:13Z beach: theseb: (defun list (rest args) args) means that you define a function named list that takes two parameters named rest and args. You ignore the one named rest and return the one named args. 2014-11-26T17:22:20Z innertracks joined #lisp 2014-11-26T17:23:01Z octophore joined #lisp 2014-11-26T17:24:13Z beach: drmeister: This is what I came up with for source tracking: http://metamodular.com/source-tracking.pdf 2014-11-26T17:26:39Z Xach: http://report.quicklisp.org/2014-11-26-space/failure-report.html -- most of the red there represents new failures caused by building in a directory with a space in its name. 2014-11-26T17:26:49Z cbryan joined #lisp 2014-11-26T17:27:05Z octophore_ joined #lisp 2014-11-26T17:27:16Z Xach: in one case using a namestring with a space directly in a URI 2014-11-26T17:27:31Z Xach: in another case using an URL-escaped string with %20 as a namestring 2014-11-26T17:27:56Z drmeister: beach: I feel good about that. 2014-11-26T17:27:57Z cbryan quit (Client Quit) 2014-11-26T17:28:08Z resttime joined #lisp 2014-11-26T17:28:24Z Bicyclidine: beach: so how do you get a source location after cleavir's done? 2014-11-26T17:28:53Z beach: Bicyclidine: The idea is that it is stored in the AST, then in the instructions. 2014-11-26T17:29:21Z beach: Bicyclidine: Then I have to invent some other mechanism for the implementation to deal with it. 2014-11-26T17:29:28Z Bicyclidine: well i mean, can you get it out of the ast or what. 2014-11-26T17:29:37Z beach: Yes, of course. 2014-11-26T17:29:45Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-26T17:29:50Z beach: Some accessor. I haven't named it yet. 2014-11-26T17:30:05Z octophore quit (Ping timeout: 264 seconds) 2014-11-26T17:30:13Z Bicyclidine: i see. 2014-11-26T17:30:28Z guicho joined #lisp 2014-11-26T17:30:43Z Xach starts reporting bugs 2014-11-26T17:32:04Z BlueRavenGT quit (Remote host closed the connection) 2014-11-26T17:33:34Z Xach takes life into hands, reports bugs on bknr 2014-11-26T17:33:51Z test1600 joined #lisp 2014-11-26T17:34:27Z Bicyclidine: godspeed. 2014-11-26T17:35:04Z guicho quit (Client Quit) 2014-11-26T17:35:14Z guicho joined #lisp 2014-11-26T17:35:30Z guicho quit (Client Quit) 2014-11-26T17:36:39Z kanru quit (Ping timeout: 265 seconds) 2014-11-26T17:37:19Z Xach: cffi-tests also fails to build 2014-11-26T17:37:43Z octophore joined #lisp 2014-11-26T17:37:44Z attila_lendvai quit (Quit: Leaving.) 2014-11-26T17:37:48Z octophore_ quit (Ping timeout: 245 seconds) 2014-11-26T17:37:55Z w37 quit (Remote host closed the connection) 2014-11-26T17:37:56Z guicho joined #lisp 2014-11-26T17:41:04Z zacharias joined #lisp 2014-11-26T17:41:51Z Karl_Dscc joined #lisp 2014-11-26T17:46:19Z Krystof: and for your next trick, building in a directory with a non-ascii character in its name? 2014-11-26T17:47:48Z guicho quit (Ping timeout: 258 seconds) 2014-11-26T17:48:12Z rhollor quit (Quit: rhollor) 2014-11-26T17:48:20Z Longlius quit (Remote host closed the connection) 2014-11-26T17:48:45Z kanru joined #lisp 2014-11-26T17:50:48Z Xach: Ok 2014-11-26T17:51:00Z Shinmera: And then find a filesystem that allows slashes in filenames. 2014-11-26T17:51:03Z Xach is using a logical pathname translation to do this kind of stuff! 2014-11-26T17:51:04Z Shinmera: For the final showdown. 2014-11-26T17:51:20Z Xach: Shinmera: too twisted for me 2014-11-26T17:51:49Z drmeister: beach: Your plan sounds like a good one. 2014-11-26T17:52:45Z beach: drmeister: For source tracking? Good! 2014-11-26T17:53:23Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-11-26T17:53:29Z Longlius joined #lisp 2014-11-26T17:54:02Z scoofy joined #lisp 2014-11-26T17:54:04Z shka: "Path names: the final showdown" 2014-11-26T17:54:10Z shka: sounds like a nerdy movie 2014-11-26T17:55:50Z ikki joined #lisp 2014-11-26T17:58:38Z drmeister: Yes, it encompasses what I need to represent source tracking information and goes beyond it. 2014-11-26T17:58:55Z beach: That was the point, yes. :) 2014-11-26T17:59:21Z bgs100 joined #lisp 2014-11-26T17:59:41Z drmeister: Next, you will come up with some rules for how source tracking information is carried through macro expansion? 2014-11-26T17:59:59Z beach: Yeah. Tricky one. 2014-11-26T18:00:04Z beach: I have thought about it in the past. 2014-11-26T18:00:19Z Patzy quit (Ping timeout: 245 seconds) 2014-11-26T18:00:59Z beach: There is no ideal solution, because of the flexibility of Common Lisp macros, but there are some workable ones. 2014-11-26T18:01:08Z Patzy joined #lisp 2014-11-26T18:01:52Z White_Flame: In my thinking of that problem, a "location" actually becomes a list of locations, sorted in expansion order 2014-11-26T18:02:04Z White_Flame: but when you get recursive expansions, things can get hairy 2014-11-26T18:02:04Z drmeister: Yes, tricky. You mentioned one way to make the location information of expanded forms EQ to the location information of the form prior to expansion. 2014-11-26T18:02:33Z beach: White_Flame: What makes you think "location" represents a single location, other than the name? 2014-11-26T18:02:56Z beach: drmeister: Yes, that's one workable trick. 2014-11-26T18:04:04Z alexey1 joined #lisp 2014-11-26T18:04:17Z schaueho quit (Ping timeout: 240 seconds) 2014-11-26T18:05:19Z beach: White_Flame: I see what you mean, though. 2014-11-26T18:05:29Z EvW joined #lisp 2014-11-26T18:05:47Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T18:07:34Z cbryan joined #lisp 2014-11-26T18:07:50Z cbryan quit (Client Quit) 2014-11-26T18:07:52Z drmeister: That's a good idea. The fundamental operation is a macroexpand-1. You have the location of the starting form and the location of the macro and you generate a new form. I guess the ultimate thing would be like what you said White_Flame, a new "location" that points to the starting-form location and the macro-location. This would create a directed graph of 2014-11-26T18:07:53Z drmeister: linked locations. 2014-11-26T18:07:57Z White_Flame: In a macro context, completely full "location" information is equivalent to a code debugging context at the point of the evaluation producing that form's shape 2014-11-26T18:08:17Z alexey1 quit (Ping timeout: 240 seconds) 2014-11-26T18:08:29Z khisanth__ joined #lisp 2014-11-26T18:09:10Z drmeister: Then the question is what could you do with all that information? How do you get a decent backtrace out of that? 2014-11-26T18:09:48Z drmeister: I'll have to look at the DWARF spec to see what it can handle. There's no point in generating more than DWARF can represent. 2014-11-26T18:09:52Z White_Flame: yep. Interactive exploration would make sense, poking into whatever view of information the user wants to look at. But a static dump would be overwhelming 2014-11-26T18:10:02Z drmeister: Or for that matter, more than a debugger can interpret. 2014-11-26T18:10:28Z khisanth_ quit (Ping timeout: 255 seconds) 2014-11-26T18:11:01Z drmeister: White_Flame: Thanks - that gave me a better understanding of source location tracking in Common Lisp. 2014-11-26T18:11:29Z fantazo quit (Quit: Verlassend) 2014-11-26T18:11:30Z cbryan joined #lisp 2014-11-26T18:11:44Z White_Flame: of course this is just musing about the Final Boss Form of ultimate compiler knowledge, not practical experience :) 2014-11-26T18:12:22Z cbryan quit (Client Quit) 2014-11-26T18:12:54Z protist quit (Quit: Konversation terminated!) 2014-11-26T18:13:02Z fortitude joined #lisp 2014-11-26T18:14:17Z pgomes joined #lisp 2014-11-26T18:20:34Z matko joined #lisp 2014-11-26T18:20:38Z matko quit (Read error: Connection reset by peer) 2014-11-26T18:20:56Z matko joined #lisp 2014-11-26T18:21:26Z drmeister: It's good to know the "Final Boss Form" - then I can decide how close I want to get. 2014-11-26T18:23:06Z jtza8 joined #lisp 2014-11-26T18:23:12Z drmeister: beach: I'm curious about what you come up with regarding macro expansion. I'll hold my thoughts unless you want to discuss. I'm off to the pool to swim off some Thanksgiving dinner before I eat it. 2014-11-26T18:23:36Z beach: Up to you. 2014-11-26T18:23:51Z beach: I am not celebrating thanksgiving. 2014-11-26T18:24:23Z blahzik quit (Quit: blahzik) 2014-11-26T18:26:39Z pnpuff joined #lisp 2014-11-26T18:27:14Z tesuji joined #lisp 2014-11-26T18:30:09Z joneshf-laptop quit (Remote host closed the connection) 2014-11-26T18:35:54Z Joreji joined #lisp 2014-11-26T18:38:01Z dfox quit (Ping timeout: 258 seconds) 2014-11-26T18:38:46Z dfox joined #lisp 2014-11-26T18:41:36Z madrik quit (Ping timeout: 255 seconds) 2014-11-26T18:42:55Z Hache_ quit (Remote host closed the connection) 2014-11-26T18:43:54Z jumblerg joined #lisp 2014-11-26T18:44:17Z BlueRavenGT joined #lisp 2014-11-26T18:44:29Z blahzik joined #lisp 2014-11-26T18:45:53Z jlongster quit (Ping timeout: 240 seconds) 2014-11-26T18:47:28Z beach: drmeister: I think perhaps I work differently from most researchers. I do not start by looking at what other people have done. Instead I start by thinking hard about how I would solve the problem. Only then do I look at other people's ideas. Many times of course, my solution is inferior to what exists. Occasionally, though, I come up with something original. 2014-11-26T18:48:49Z beach: drmeister: Perhaps this is unfounded, but I fear that by looking at existing ideas, I steer my mind in that direction, preventing other ideas from popping up. 2014-11-26T18:49:20Z ikki quit (Ping timeout: 250 seconds) 2014-11-26T18:49:43Z beach: drmeister: So, if you want to discuss your thoughts, that's fine. But I will respectfully disregard them until I have done it my way. 2014-11-26T18:49:58Z ikki joined #lisp 2014-11-26T18:50:55Z theseb: Xach: tell me if this is right...i figured something out....you are a very practical person that likes getting real work done.....and you get annoyed with overly theoretical discussions? 2014-11-26T18:51:11Z Xach: theseb: That is not on-topic for this channel. 2014-11-26T18:51:20Z Xach: theseb: If you'd like to discuss Common Lisp, please do so. 2014-11-26T18:51:27Z theseb: Xach: you answered my question! 2014-11-26T18:51:29Z theseb: :) 2014-11-26T18:56:00Z kanru quit (Ping timeout: 255 seconds) 2014-11-26T18:56:13Z pt1 joined #lisp 2014-11-26T18:58:00Z jtza8 quit (Ping timeout: 250 seconds) 2014-11-26T18:59:13Z ikki quit (Quit: Saliendo) 2014-11-26T18:59:45Z beach: Krystof: Do you know when the dates of ELS 2015 will be officially announced? I would like to book my hotel room well ahead of time this time. 2014-11-26T18:59:52Z Xach: I wonder how much work it would be to adapt linedit to cffi 2014-11-26T19:00:40Z beach: Krystof: Student dorm was fine for just me for just a few nights. With my (admittedly small) family, I fear that we need something slightly better. 2014-11-26T19:01:06Z Baggers joined #lisp 2014-11-26T19:03:22Z fragamus joined #lisp 2014-11-26T19:04:12Z jlongster joined #lisp 2014-11-26T19:06:52Z alexey1 joined #lisp 2014-11-26T19:09:44Z eudoxia joined #lisp 2014-11-26T19:10:07Z thawes quit (Remote host closed the connection) 2014-11-26T19:10:32Z jtza8 joined #lisp 2014-11-26T19:11:42Z innertracks quit (Remote host closed the connection) 2014-11-26T19:13:33Z ellis-a joined #lisp 2014-11-26T19:14:15Z Xach: oh, the fix for linedit is just a matter of changing a few ~As to ~Ss. 2014-11-26T19:15:20Z houshuang joined #lisp 2014-11-26T19:18:46Z ellis-a quit (Quit: WeeChat 1.0.1) 2014-11-26T19:20:21Z alexey1 quit (Remote host closed the connection) 2014-11-26T19:25:54Z easye` joined #lisp 2014-11-26T19:27:22Z drmeister: beach: No problem. I understand. For me this is all a means to an end although I am enjoying the journey. 2014-11-26T19:27:28Z easye quit (Ping timeout: 258 seconds) 2014-11-26T19:27:46Z drmeister: I just want stuff that works and I'd like it three years ago. 2014-11-26T19:29:42Z drmeister: Also, my suggestions of late have been half-baked. I don't really know how I'm going to solve a problem until I'm up to my neck in it. 2014-11-26T19:30:09Z drmeister: I think I'm going to put my multiple-values structure at the top of the stack. 2014-11-26T19:31:00Z beach: drmeister: Speaking of which, today I implemented the translation to HIR of MULTIPLE-VALUE-CALL-AST, though I have not tested it yet. 2014-11-26T19:31:09Z drmeister: I'm thinking of declaring a multiple-values structure (for returning more than one value and passing more than X number of arguments in registers) at the very top of the stack. If I need additional ones I'll allocate another on the stack and create a linked list of them. 2014-11-26T19:31:41Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T19:31:53Z CrazyWoods joined #lisp 2014-11-26T19:32:03Z pullphinger quit 2014-11-26T19:33:03Z attila_lendvai joined #lisp 2014-11-26T19:33:03Z attila_lendvai quit (Changing host) 2014-11-26T19:33:03Z attila_lendvai joined #lisp 2014-11-26T19:33:07Z beach: Is a "multiple-values structure" something defined by LLVM, ECL, Clasp, or something else? 2014-11-26T19:33:08Z mearnsh joined #lisp 2014-11-26T19:33:10Z drmeister: beach: Great. I'm reworking my calling convention, using the multiple-values array to pass additional arguments beyond the first N(currently 5) arguments to facilitate incorporation of Cleavir. Working on this low level stuff is also refreshing my memory of a lot of low level implementation details. 2014-11-26T19:33:45Z sheilong joined #lisp 2014-11-26T19:33:59Z drmeister: Clasp I guess. It's just a fixnum to store the number of arguments and an array of MAX_ARGS pointers (MAX_ARGS=64 currently) 2014-11-26T19:34:00Z beach: ... and what's the difference between a "multiple-values array" and a "multiple-values structure"? 2014-11-26T19:35:02Z drmeister: Well, it's a C++ class/struct that contains the array 2014-11-26T19:35:13Z beach: Which one? 2014-11-26T19:35:34Z drmeister: It's not a first class object so it isn't directly exposed to Common Lisp. 2014-11-26T19:35:47Z beach: Which one? 2014-11-26T19:35:58Z beach: The multiple-values array or the multiple-values structure? 2014-11-26T19:36:05Z beach: And what is the other one? 2014-11-26T19:36:27Z drmeister: I have a class MultipleValues {int num; T_sp _values[MAX_ARGS];} and the multiple-values array is the _values part. 2014-11-26T19:36:44Z drmeister: Does that answer the question? 2014-11-26T19:36:51Z beach: drmeister: You are not answering my question. Is there one thing or two things? 2014-11-26T19:37:16Z ggole: Looks like there's three things, two inside the other :) 2014-11-26T19:37:24Z tesuji quit (Ping timeout: 255 seconds) 2014-11-26T19:37:30Z ggole is helping 2014-11-26T19:37:34Z drmeister: They are two things and one is inside the other. 2014-11-26T19:38:30Z beach: Got it. 2014-11-26T19:38:39Z codeberg quit (Ping timeout: 250 seconds) 2014-11-26T19:38:40Z drmeister: A multiple-values array is inside a MultipleValues C++ class instance. 2014-11-26T19:39:10Z tesuji joined #lisp 2014-11-26T19:39:15Z drmeister: Actually, it's class MultipleValues {MultipleValues* previous, int numargs, T_sp _values[MAX_ARGS];} 2014-11-26T19:39:27Z beach: Explanations referring to C++ are Greek to me. 2014-11-26T19:39:50Z shka: beach: λ 2014-11-26T19:39:54Z dfox quit (Ping timeout: 256 seconds) 2014-11-26T19:40:03Z drmeister: It's a domain specific language for laying out data in memory. 2014-11-26T19:40:12Z codeberg joined #lisp 2014-11-26T19:40:18Z shka: drmeister: what is it? 2014-11-26T19:40:22Z beach: Still I don't understand it. 2014-11-26T19:40:26Z shka: some kind of variant pattern? 2014-11-26T19:40:29Z drmeister: shka: C++. 2014-11-26T19:40:34Z shka: i know 2014-11-26T19:40:38Z shka: i'm C++ programmer 2014-11-26T19:40:59Z drmeister: Oh. This conversation needs some smiley emoticons :-) 2014-11-26T19:41:33Z towodo quit (Quit: towodo) 2014-11-26T19:41:38Z pecg quit (Quit: WeeChat 1.0.1) 2014-11-26T19:42:38Z drmeister: shka: Excellent, I do a lot of C++. I'm trying to do less. 2014-11-26T19:42:42Z Xach: Krystof: damage looks like from non-ascii pathnames 2014-11-26T19:43:00Z shka: drmeister: so what you exactly trying to do, actually? 2014-11-26T19:43:14Z drmeister: shka: You're not from around here are you? :-) 2014-11-26T19:43:26Z shka: from my understanding you are trying to implement multiple values for cl implementation 2014-11-26T19:43:44Z shka: drmeister: moment, you are working on that llvm lisp! 2014-11-26T19:43:46Z drmeister: I've written a new Common Lisp implementation in C++ that interoperates with C++ and uses LLVM as a backend. 2014-11-26T19:43:59Z shka: yes, very awesome project! 2014-11-26T19:44:25Z drmeister: Thanks. I've been a bit quiet lately. 2014-11-26T19:44:33Z agumonkey quit (Ping timeout: 244 seconds) 2014-11-26T19:44:33Z drmeister: Working on stuff. 2014-11-26T19:44:57Z shka: but you are not using continuation? 2014-11-26T19:45:08Z drmeister: Continuation passing style? 2014-11-26T19:45:14Z drmeister: First class continuations? 2014-11-26T19:45:18Z shka: no 2014-11-26T19:45:26Z shka: basicly, passing frames 2014-11-26T19:45:56Z drmeister: I'm not sure what you mean. I used to pass frames that I allocated on the stack - it's too slow. 2014-11-26T19:46:08Z beach: shka: You need to be more precise. Are you talking compile time or runtime? 2014-11-26T19:46:16Z drmeister: I'm trying to write a high performance language. 2014-11-26T19:46:18Z drmeister: Runtime. 2014-11-26T19:46:27Z shka: since from what i understand, that's how typical lisp implements conditions and multiple values 2014-11-26T19:46:39Z shka: oh ok 2014-11-26T19:46:43Z shka: i see 2014-11-26T19:46:49Z dfox joined #lisp 2014-11-26T19:46:51Z drmeister: The implementation details get pretty messy. 2014-11-26T19:47:26Z shka: i'm not sure if array aproach will be good 2014-11-26T19:47:33Z agumonkey joined #lisp 2014-11-26T19:47:48Z shka: you are holding pointers in that array, is that correct? 2014-11-26T19:47:49Z drmeister: shka: I can tell you - not good. 2014-11-26T19:47:52Z drmeister: Yes. 2014-11-26T19:47:57Z rpg joined #lisp 2014-11-26T19:48:42Z drmeister: When you have to allocate them on the heap and pass them and then deallocate them - it get's pretty expensive. Also, this precludes you from using registers efficiently. 2014-11-26T19:48:52Z beach: IRC discussions can be ... fascinating. 2014-11-26T19:49:42Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T19:50:20Z ehu joined #lisp 2014-11-26T19:50:32Z shka: drmeister: do you want to support arbitrary number of values? 2014-11-26T19:50:42Z pnpuff: drmeister: sorry, but use a multiple value array is like dinamically allocate the array in the heap and later dynamically resize the array with realloc()? 2014-11-26T19:50:49Z drmeister: I thought it wouldn't be too bad - but it turns out my Common Lisp implementation is at least 100x slower than SBCL. I was doing way too much allocating, and writing and reading and deallocating of heap frames. 2014-11-26T19:51:09Z rpg: Anyone a CCL user? 2014-11-26T19:51:47Z drmeister: No, you wouldn't realloc the array. Just make the array as big as the largest number of values to store and store a number that represents the number of valid entries. 2014-11-26T19:51:56Z Xach: rpg: I use ccl 2014-11-26T19:52:41Z rpg: Xach: I'm trying to show a colleague how to drive it. He has the App Store version and has a Mac app. I downloaded onto my Mac, and I don't have anything that's recognizable as a Mac application with menu bar, etc. Do you? 2014-11-26T19:53:22Z rpg: Seems like if you download the tarball as I did you don't get the IDE.... 2014-11-26T19:53:24Z Xach: rpg: I usually use the command-line version via slime. I don't often build & use the IDE from source. 2014-11-26T19:53:35Z drmeister: shka: I support an arbitrary number of values up to a limit set at compile time. The CLHS only requires that you support up to 50 - I do 64. That means I'm 1.28 times better than the CLHS. 2014-11-26T19:53:38Z Xach: rpg: if you get the tarball or svn you have to issue some commands to get a clickable .app 2014-11-26T19:53:40Z mearnsh joined #lisp 2014-11-26T19:53:46Z rpg: Xach: Nor I, that's why I'm so lost. But I'm trying to walk a novice through it. 2014-11-26T19:53:56Z shka: drmeister: well, static size array sounds like nothing particulary bad 2014-11-26T19:54:06Z Xach: rpg: the app store version is the clickable app. 2014-11-26T19:54:07Z shka: i'm surprised that it is slow 2014-11-26T19:54:16Z drmeister: That's not the slow part. 2014-11-26T19:54:30Z shka: can you tell me what is slow? 2014-11-26T19:54:35Z rpg: Wonder why they don't give you the clickable app with the tarball... 2014-11-26T19:55:00Z Xach: rpg: To get it, start ccl and do: (require :cocoa-application) 2014-11-26T19:55:10Z Xach: it will write out the app and exit. 2014-11-26T19:55:29Z drmeister: I don't have incontrovertible proof but I believe it is because I store all bindings on the heap when the majority of bindings could be stored on the stack. 2014-11-26T19:55:50Z Xach: rpg: I don't know. It might be because the app is self-contained and includes a second copy of everything. 2014-11-26T19:55:59Z Xach: rpg: but i don't know the actual, real reason 2014-11-26T19:56:06Z shka: drmeister: heap allocation is slow 2014-11-26T19:56:09Z rpg: Thanks, Xach! 2014-11-26T19:56:11Z shka: that's for sure 2014-11-26T19:56:18Z rpg: The wiki doesn't make it easy to find. 2014-11-26T19:56:48Z Xach: rpg: it's in the manual under "Building the IDE" 2014-11-26T19:56:55Z shka: drmeister: btw, how did you set up the compile time limit for the maximum number of arguments? 2014-11-26T19:57:28Z rpg: Xach: thanks. It's not on the front page of the wiki... 2014-11-26T19:57:33Z Xach: rpg: I know some people use the IDE all the time, but for me, it's in an uncanny emacs valley. similar in many respects but different in ways that cause me too much friction. 2014-11-26T19:57:53Z drmeister: It's a macro definition in clasp/src/core/config.h 2014-11-26T19:57:59Z Xach: When I'm working on the IDE, I sometimes fire it up and then connect to it via swank. 2014-11-26T19:58:00Z posterdati300 joined #lisp 2014-11-26T19:58:19Z wedgeV quit (Quit: wedgeV) 2014-11-26T19:58:27Z shka: right 2014-11-26T19:58:30Z shka: so no templates 2014-11-26T19:58:40Z pecg joined #lisp 2014-11-26T19:58:40Z pecg quit (Changing host) 2014-11-26T19:58:40Z pecg joined #lisp 2014-11-26T19:59:22Z tesuji quit (Ping timeout: 255 seconds) 2014-11-26T19:59:23Z drmeister: Oh, lots and lots of template programming. I do terrible things with templates. 2014-11-26T19:59:45Z shka: :-) 2014-11-26T20:00:35Z drmeister: The interface between C++ and Common Lisp is all done with template programming. It automatically builds code to bind C++ functions to Common Lisp symbols. 2014-11-26T20:01:45Z posterdati300 quit (Client Quit) 2014-11-26T20:02:40Z shka: neat 2014-11-26T20:04:12Z beach left #lisp 2014-11-26T20:04:32Z pnpuff: I see now: templates looks at least so useful as type-casting 2014-11-26T20:05:04Z pnpuff: ...but I'm not an expert :-( 2014-11-26T20:07:46Z ggole quit 2014-11-26T20:08:06Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T20:08:19Z houshuang quit (Read error: Connection reset by peer) 2014-11-26T20:09:42Z mearnsh joined #lisp 2014-11-26T20:10:41Z JuanDaugherty quit (Remote host closed the connection) 2014-11-26T20:13:42Z rhollor joined #lisp 2014-11-26T20:14:05Z rhollor: what's the most common Common Lisp socket library 2014-11-26T20:14:25Z rhollor: or rather, what's the most recommended one 2014-11-26T20:14:35Z shka: rhollor: usocket? 2014-11-26T20:15:00Z s00pcan quit (Ping timeout: 258 seconds) 2014-11-26T20:15:10Z Harag1 joined #lisp 2014-11-26T20:15:27Z Xach: rhollor: usocket is pretty simple and easy. 2014-11-26T20:15:35Z rhollor: kay 2014-11-26T20:16:54Z Harag quit (Ping timeout: 264 seconds) 2014-11-26T20:17:40Z nand1 quit (Remote host closed the connection) 2014-11-26T20:17:52Z LiamH joined #lisp 2014-11-26T20:19:48Z shka: drmeister: btw, did you implemented conditions? 2014-11-26T20:20:22Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T20:20:43Z mearnsh joined #lisp 2014-11-26T20:25:27Z shka quit (Quit: WeeChat 1.0.1) 2014-11-26T20:26:45Z khisanth__ is now known as Khisanth 2014-11-26T20:28:42Z innertracks joined #lisp 2014-11-26T20:28:54Z thawes joined #lisp 2014-11-26T20:29:17Z jtza8 quit (Ping timeout: 264 seconds) 2014-11-26T20:30:30Z henesy quit (Remote host closed the connection) 2014-11-26T20:30:49Z gravicappa quit (Remote host closed the connection) 2014-11-26T20:32:46Z thawes quit (Client Quit) 2014-11-26T20:34:28Z henesy joined #lisp 2014-11-26T20:34:39Z drmeister: shka: Yes, it turns out that conditions are implemented using CLOS. Common Lisp handlers and restarts require non-local exits. Those I implemented using C++ exception handling - so it interoperates with C++ perfectly and works with RAII. 2014-11-26T20:34:58Z thawes joined #lisp 2014-11-26T20:35:51Z nand1 joined #lisp 2014-11-26T20:36:57Z lavokad joined #lisp 2014-11-26T20:37:10Z Xach: eudoxia: i am having crane problems 2014-11-26T20:38:27Z Xach will open a github issue 2014-11-26T20:39:09Z hiroaki joined #lisp 2014-11-26T20:40:11Z blahzik quit (Quit: blahzik) 2014-11-26T20:41:51Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T20:44:35Z blahzik joined #lisp 2014-11-26T20:44:47Z innertracks quit (Quit: innertracks) 2014-11-26T20:45:14Z innertracks joined #lisp 2014-11-26T20:45:38Z madmalik quit (Quit: Connection closed for inactivity) 2014-11-26T20:45:38Z innertracks quit (Client Quit) 2014-11-26T20:46:41Z pjb` is now known as pjb 2014-11-26T20:46:48Z thawes joined #lisp 2014-11-26T20:49:09Z pjb: fe[nl]ix: apply multiple-value-call list is dumb. 1- multiple-value-list = multiple-value-call list ; 2- multiple-value-call format values is more efficient. 2014-11-26T20:50:01Z thawes quit (Client Quit) 2014-11-26T20:50:45Z rhollor: I can't seem to find any usocket tutorials. Any has any good resources? 2014-11-26T20:51:00Z theotherstupidgu joined #lisp 2014-11-26T20:51:49Z thawes joined #lisp 2014-11-26T20:52:31Z kushal quit (Quit: Leaving) 2014-11-26T20:53:44Z k-stz quit (Remote host closed the connection) 2014-11-26T20:55:26Z thawes quit (Client Quit) 2014-11-26T20:56:52Z sheilong quit (Quit: Konversation terminated!) 2014-11-26T20:57:07Z thawes joined #lisp 2014-11-26T20:57:17Z _death: rhollor: maybe you'll like http://orthecreedence.github.io/cl-async/documentation or http://pages.cs.wisc.edu/~psilord/blog/data/iolib-tutorial/tutorial.html 2014-11-26T20:57:28Z _death: (those are for cl-async/iolib.. not usocket) 2014-11-26T21:00:48Z thawes quit (Client Quit) 2014-11-26T21:02:22Z thawes joined #lisp 2014-11-26T21:05:38Z pjb: minion: memo for beach: <18:12:47> theseb: (defun list (&rest args) args) ; this is wrong, because &rest doesn't necessarily allocate a new list: (defun l (&rest a) a) (eq (apply (function l) '#1=(1 2 3)) '#1#) --> T is possible ; cf. 3.4.1.3: The value of a rest parameter is permitted, but not required, to share structure with the last argument to apply. 2014-11-26T21:05:39Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2014-11-26T21:06:53Z rhollor: so, I've never used quicklisp/asdf before 2014-11-26T21:06:54Z pjb: minion: memo for beach: of course, if as an implementor you are writing an implementation where &rest always copy the full argument list, then you can (defun cl:list (&rest a) a), but a user writing conforming code cannot. 2014-11-26T21:06:54Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2014-11-26T21:07:23Z hiroaki quit (Ping timeout: 240 seconds) 2014-11-26T21:07:23Z rhollor: how do I get/use asdf 2014-11-26T21:07:34Z pjb: rhollor: you install quicklisp. 2014-11-26T21:07:54Z pjb: rhollor: you use asdf as: (ql:quickload :system). 2014-11-26T21:08:06Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T21:08:08Z rhollor: I think I already installed quicklisp earlier 2014-11-26T21:08:16Z pjb: therefore you have nothing more to do. 2014-11-26T21:08:37Z rhollor: so, for example, how do I install usocket with quicklisp? 2014-11-26T21:08:55Z pjb: (ql:quickload :usocket) 2014-11-26T21:09:05Z pjb: I know, it's TOO easy. Complain with Xach. 2014-11-26T21:09:09Z angavrilov quit (Remote host closed the connection) 2014-11-26T21:09:20Z rhollor: okay then 2014-11-26T21:09:34Z rhollor: and the same would work for :ltk? 2014-11-26T21:09:38Z pjb: Yes. 2014-11-26T21:10:03Z rhollor: where does it install to? 2014-11-26T21:10:05Z oudeis joined #lisp 2014-11-26T21:10:12Z pjb: Somewhere in ~/quicklisp/ 2014-11-26T21:13:52Z edgar-rft joined #lisp 2014-11-26T21:14:24Z Xach: rhollor: you can always check with (ql:where-is-system "ltk") 2014-11-26T21:14:34Z rhollor: Thanks 2014-11-26T21:14:36Z thawes joined #lisp 2014-11-26T21:14:36Z Xach: And M-. 2014-11-26T21:15:49Z phf` joined #lisp 2014-11-26T21:17:02Z phf`: is there a standard way to convert simple-bit-vector to number and back? failing that is there an sb-* function? 2014-11-26T21:17:09Z CrazyWoods quit (Quit: leaving) 2014-11-26T21:18:30Z Xach: phf`: I don't know, sorry. I'm just curious: what would you do with the number? 2014-11-26T21:18:41Z rhollor: now that I've installed it, how do I load it? 2014-11-26T21:18:51Z Xach: rhollor: ql:quickload loads the software 2014-11-26T21:19:07Z Xach: rhollor: so does (asdf:load-system ...) - but the asdf command works only after it's installed once with quickload already. 2014-11-26T21:19:44Z rhollor: so if the system isn't installed it installs it, otherwise ql:quickload just loads it? 2014-11-26T21:19:53Z Xach: yes. 2014-11-26T21:20:51Z Baggers quit (Ping timeout: 272 seconds) 2014-11-26T21:21:01Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T21:21:11Z alexey1 joined #lisp 2014-11-26T21:21:30Z phf`: Xach: i'm running 1d cellular automata on bit vectors, but then i want to treat results as number so that i can figure out what sort of distributions i'm getting 2014-11-26T21:22:00Z Xach: rhollor: quickload is kind of like "load this software, fetching it from the internet first if needed" 2014-11-26T21:22:18Z rhollor: Xach: k 2014-11-26T21:22:19Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T21:22:34Z Xach: phf`: would it make any sense to do the operations on the numbers directly? the bit operators are pretty extensive... 2014-11-26T21:23:49Z thawes joined #lisp 2014-11-26T21:24:20Z pjb: - 2014-11-26T21:24:25Z oGMo: you can do it more-or-less with static-vectors, but.. don't do that ;) 2014-11-26T21:24:45Z phf`: Xach: it would for practical purposes, but it's so much easier to write automata code using arrays (i started with lists, then moved to arrays, then moved to bit vectors) 2014-11-26T21:25:09Z oGMo: phf`: you could also do it "inefficiently" 2014-11-26T21:25:22Z alexey1 quit (Ping timeout: 240 seconds) 2014-11-26T21:25:26Z oGMo: but if you're only converting them to numbers once, it's probably not an issue 2014-11-26T21:26:07Z Xach: phf`: well, you can treat an integer like an array of bits pretty easily, too. 2014-11-26T21:26:36Z oGMo: that's the best solution 2014-11-26T21:26:55Z phf`: seems like a reasonable next step anyway 2014-11-26T21:26:58Z Xach: what with ldb, logtest, logbitp, etc 2014-11-26T21:27:20Z Xach: i really like bit vectors and use them myself, but i also don't have to ever convert them to integers & back. 2014-11-26T21:27:46Z Xach: i do wish there was a fast cheat to read a bit vector from disk, though. 2014-11-26T21:29:26Z BitPuffin quit (Ping timeout: 244 seconds) 2014-11-26T21:29:51Z Joreji quit (Read error: Connection reset by peer) 2014-11-26T21:30:01Z Karl_Dscc joined #lisp 2014-11-26T21:31:27Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T21:33:13Z guicho joined #lisp 2014-11-26T21:33:34Z jewel_ quit (Ping timeout: 250 seconds) 2014-11-26T21:35:59Z ahungry_ quit (Quit: leaving) 2014-11-26T21:37:18Z mguzmann quit (Ping timeout: 264 seconds) 2014-11-26T21:37:37Z Harag1 quit (Ping timeout: 240 seconds) 2014-11-26T21:37:48Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T21:38:05Z thawes joined #lisp 2014-11-26T21:38:51Z mearnsh joined #lisp 2014-11-26T21:39:59Z Xach: eudoxia: thanks! 2014-11-26T21:40:35Z eudoxia: Xach: thanks for the report 2014-11-26T21:40:42Z guicho_ joined #lisp 2014-11-26T21:40:43Z eudoxia: this reminds me i've got to setup travis.ci for Crane 2014-11-26T21:41:42Z Xach: I'm going to start a feed for my own build tests 2014-11-26T21:41:42Z eudoxia: Xach: sorry i didn't see your mention up there, i opened irssi and forgot about it 2014-11-26T21:41:52Z karbak_ quit (Quit: leaving) 2014-11-26T21:42:02Z Xach: No problem 2014-11-26T21:42:43Z Karl_Dscc quit (Remote host closed the connection) 2014-11-26T21:43:22Z jtza8 joined #lisp 2014-11-26T21:44:42Z guicho quit (Ping timeout: 258 seconds) 2014-11-26T21:45:18Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T21:47:16Z thawes joined #lisp 2014-11-26T21:49:06Z guicho_ quit (Ping timeout: 256 seconds) 2014-11-26T21:53:54Z phf` left #lisp 2014-11-26T21:56:19Z jlongster quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-26T21:58:02Z towodo joined #lisp 2014-11-26T21:58:25Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-26T22:01:48Z rhollor: can I use quicklisp to install files from source that I downloaded myself? 2014-11-26T22:02:11Z PuercoPop: rhollor: yes, drop them in ~/quicklisp/local-projects 2014-11-26T22:03:00Z pgomes left #lisp 2014-11-26T22:03:14Z PuercoPop: although I'm interpreting your install as load (as downloading ~is installing for me) 2014-11-26T22:03:26Z rhollor: let's say I modified the source for usocket, or I want to use an earlier version for some reason, how do I distinguish between them? 2014-11-26T22:03:33Z Petit_Dejeuner quit (Read error: Connection reset by peer) 2014-11-26T22:03:37Z rhollor: do I rename them? 2014-11-26T22:03:56Z towodo quit (Quit: towodo) 2014-11-26T22:04:08Z rhollor wants to point out he doesn't actually need to, just an example. 2014-11-26T22:04:29Z PuercoPop: well quicklisp will always look first in local-projects 2014-11-26T22:05:07Z easye`` joined #lisp 2014-11-26T22:05:28Z rhollor: okay then 2014-11-26T22:05:38Z PuercoPop: but if you want to be able to access both versions at the same time, it is probably better to rename them. 2014-11-26T22:05:40Z easye` quit (Read error: Connection reset by peer) 2014-11-26T22:06:15Z jtza8 quit (Remote host closed the connection) 2014-11-26T22:06:21Z Xach: rhollor: there isn't an automatic way in quicklisp to say "get me a copy of a library so I can make changes to it". you shouldn't in general modify the one quicklisp fetches. 2014-11-26T22:06:30Z thawes joined #lisp 2014-11-26T22:06:33Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T22:06:45Z Xach: rhollor: but if you get your own copy (from the upstream source) and put it in local-projects or some other asdf location, it will be loaded in preference to the one in quicklisp. 2014-11-26T22:07:02Z Xach: I'd like to make it easier to get a hackable copy. 2014-11-26T22:07:14Z rhollor: okey then 2014-11-26T22:07:54Z mearnsh joined #lisp 2014-11-26T22:11:55Z Petit_Dejeuner joined #lisp 2014-11-26T22:12:01Z pnpuff quit (Quit: Lost terminal) 2014-11-26T22:14:02Z LoicLisp quit (Quit: Quitte) 2014-11-26T22:16:03Z dim: Xach: keep source url and "method" in the metadata and implement ways to do "git clone " and such right into local-project? 2014-11-26T22:16:16Z dim: Xach: FWIW that's what I've been doing with el-get, basically 2014-11-26T22:17:13Z rhollor quit (Quit: rhollor) 2014-11-26T22:17:17Z mearnsh quit (Ping timeout: 258 seconds) 2014-11-26T22:18:33Z rhollor joined #lisp 2014-11-26T22:20:26Z mearnsh joined #lisp 2014-11-26T22:21:37Z Xach: dim: That works for a subset of projects 2014-11-26T22:21:46Z Xach: Maybe that'll have to do 2014-11-26T22:22:08Z hiroaki joined #lisp 2014-11-26T22:22:19Z rhollor quit (Client Quit) 2014-11-26T22:22:53Z Xach: I'm also tempted to make a shallow clone of the repo available as a tarball, to avoid shelling out to git. 2014-11-26T22:23:02Z Xach: something with the appropriate origin stuff set 2014-11-26T22:23:06Z Xach isn't sure 2014-11-26T22:25:41Z s00pcan joined #lisp 2014-11-26T22:26:16Z dim: that's worth thinking yeah 2014-11-26T22:26:34Z dim: in the el-get case it's different, one of the design decision had been not to host anything 2014-11-26T22:27:26Z dim: if you want to have a taste of what it is like to have to support plenty kinds of upstream sources, you can browse https://github.com/dimitri/el-get/tree/master/methods 2014-11-26T22:28:29Z BlueRavenGT quit (Remote host closed the connection) 2014-11-26T22:28:40Z Xach: i know what it's like, to some degree. i fetch them all for quicklisp. 2014-11-26T22:28:50Z Xach: i fetch them all so you don't have to! 2014-11-26T22:29:33Z eudoxia: and pay for hosting. a true hero. 2014-11-26T22:30:10Z Xach: yes. my bill was $4.25 this month. kids went without their private tutor for 18 days to cover the cost. 2014-11-26T22:31:01Z towodo joined #lisp 2014-11-26T22:32:00Z mvilleneuve joined #lisp 2014-11-26T22:32:44Z pt1 quit (Remote host closed the connection) 2014-11-26T22:35:44Z dim: ah right, basically we're talking about using the existing code on the client rather than the server, optionally 2014-11-26T22:36:03Z dim: (ql:let-me-hack-on :project) 2014-11-26T22:37:32Z linux_dream joined #lisp 2014-11-26T22:37:35Z fe[nl]ix: pjb: multiple-value-list is not the same as multiple-value-call #'list. the former accepts a single argument 2014-11-26T22:38:45Z hiroaki quit (Ping timeout: 255 seconds) 2014-11-26T22:39:52Z FrostyX quit (Ping timeout: 240 seconds) 2014-11-26T22:39:57Z hiroaki joined #lisp 2014-11-26T22:40:48Z FrostyX joined #lisp 2014-11-26T22:41:09Z Xach: dim: sort of. the stuff quicklisp provides is an export of a version controlled source, stripped of all VCS metadata. 2014-11-26T22:41:15Z pjb: fe[nl]ix: both: (multiple-value-list (values 1 2 3)) (multiple-value-call #'list (values 1 2 3)) 2014-11-26T22:41:29Z Xach: but yes, i'd love for something like (ql:let-me-hack-on :foo) to DWIM 2014-11-26T22:41:56Z Xach: i have many of the needed pieces but not all 2014-11-26T22:42:15Z pjb: fe[nl]ix: (macroexpand-1 '(multiple-value-list (values 1 2 3))) --> (multiple-value-call #'list (values 1 2 3)) ; eg. in ccl. 2014-11-26T22:42:26Z dim: I like that Quicklisp is more involved in the distribution bits than el-get is, because for Quicklisp to do what el-get does would be quite unreasonnable ;-) 2014-11-26T22:42:44Z dim: (sometimes I wonder how I can get away with it myself, but well, it's only Emacs you know) 2014-11-26T22:44:25Z Xach: https://github.com/quicklisp/quicklisp-controller/blob/master/upstream-vcs.lisp 2014-11-26T22:48:55Z dim: I wished I had dispatching in elisp 2014-11-26T22:49:05Z dim: well nowadays I just use CL instead ;-) 2014-11-26T22:50:49Z towodo quit (Quit: towodo) 2014-11-26T22:50:59Z eudoxia: you know what sucks? 2014-11-26T22:51:12Z eudoxia: highlight-lisp is perfect for highlighting CL code, but doesn't do any other language 2014-11-26T22:51:25Z eudoxia: highlight.js highlights code for every language, but as you'd expect, lisp support is meh 2014-11-26T22:51:33Z eudoxia: and you can't use both because naturally their themes clash 2014-11-26T22:51:37Z eudoxia: sigh 2014-11-26T22:51:52Z vlnx quit (Ping timeout: 240 seconds) 2014-11-26T22:55:19Z Guest65152 quit (Quit: cyphase.com) 2014-11-26T22:55:30Z linux_dream quit (Quit: Leaving) 2014-11-26T22:56:40Z quasisane quit (Ping timeout: 255 seconds) 2014-11-26T22:56:53Z mishoo quit (Ping timeout: 264 seconds) 2014-11-26T22:58:31Z fe[nl]ix: pjb: I think you have comprehension problems 2014-11-26T22:59:14Z fe[nl]ix: pjb: you can't transform (multiple-value-call #'list (values 1 2) (values 3 4)) in (multiple-value-list (values 1 2) (values 3 4)) 2014-11-26T22:59:28Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-11-26T22:59:38Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-26T23:00:53Z ehu quit (Ping timeout: 244 seconds) 2014-11-26T23:03:31Z pjb: fe[nl]ix: that's one more reason why you should use multiple-value-call and not apply multiple-value-list list. 2014-11-26T23:03:52Z fe[nl]ix: ?? 2014-11-26T23:04:19Z pjb: The best form is (multiple-value-call (function format) t "~A ~A" (values 1 2)). 2014-11-26T23:04:46Z vlnx joined #lisp 2014-11-26T23:04:47Z pjb: Once it has been given you countered with (apply (function format) t "~A ~A" (multiple-value-list (function list) (values 1 2))) which is bad bad bad. 2014-11-26T23:05:10Z fe[nl]ix: you're such an idiot 2014-11-26T23:05:17Z pjb: Sure. 2014-11-26T23:05:43Z pjb: multiple-value-call will pass the arguments without having to cons a new list. 2014-11-26T23:06:03Z pjb: So it will be more efficient than apply multiple-value-list. 2014-11-26T23:06:09Z pjb: But I'm just an idiot. 2014-11-26T23:06:33Z Xach: Krystof: I'm turning reference condition output into links in my shiny new quicklisp failure log htmlization 2014-11-26T23:06:45Z Xach: now I just need some new failures to test it! 2014-11-26T23:07:21Z _death: another good reason to implement ql:let-me-hack-on :) 2014-11-26T23:07:24Z pjb: fe[nl]ix: perhaps you should /join #barbie instead of #lisp. 2014-11-26T23:07:38Z tadni quit (Read error: Connection reset by peer) 2014-11-26T23:08:03Z Xach: indeed 2014-11-26T23:08:16Z Xach: that was a real strength of clbuild that was lost in quicklisp 2014-11-26T23:09:00Z eudoxia is part of the generation of youngings who never used anything other than QL 2014-11-26T23:10:25Z toors quit (Quit: Lost terminal) 2014-11-26T23:13:41Z Xach: it ain't all flowers and sunshine 2014-11-26T23:14:40Z Ethan- joined #lisp 2014-11-26T23:15:20Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-26T23:17:10Z _death: Xach: but I'm not sure that feature is too important.. many package managers for other langs are release-based, and pull requests still happen ;) 2014-11-26T23:17:57Z jlongster joined #lisp 2014-11-26T23:19:14Z test1600 quit (Ping timeout: 255 seconds) 2014-11-26T23:20:11Z Karl_Dscc joined #lisp 2014-11-26T23:22:00Z alexey1 joined #lisp 2014-11-26T23:22:43Z jewel joined #lisp 2014-11-26T23:24:08Z blahzik quit (Quit: blahzik) 2014-11-26T23:25:31Z defaultxr joined #lisp 2014-11-26T23:26:31Z dim: it's getting even easier to kick into Heap exhausted now 2014-11-26T23:26:45Z dim: Krystof: I might have a very easy test case for you 2014-11-26T23:26:53Z innertracks joined #lisp 2014-11-26T23:26:53Z alexey1 quit (Ping timeout: 272 seconds) 2014-11-26T23:27:07Z dim checking that the error happens without the new code 2014-11-26T23:29:21Z pillton joined #lisp 2014-11-26T23:32:04Z eudoxia quit (Quit: Lost terminal) 2014-11-26T23:32:46Z oudeis joined #lisp 2014-11-26T23:37:18Z guicho_ joined #lisp 2014-11-26T23:37:34Z TDog joined #lisp 2014-11-26T23:38:09Z ivan\ joined #lisp 2014-11-26T23:39:23Z corni joined #lisp 2014-11-26T23:39:23Z corni quit (Changing host) 2014-11-26T23:39:23Z corni joined #lisp 2014-11-26T23:39:52Z mrSpec quit (Remote host closed the connection) 2014-11-26T23:44:36Z lavokad quit (Remote host closed the connection) 2014-11-26T23:46:14Z guicho_ quit (Ping timeout: 255 seconds) 2014-11-26T23:46:39Z BitPuffin joined #lisp 2014-11-26T23:47:22Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-26T23:48:52Z tadni joined #lisp 2014-11-26T23:51:21Z k-dawg joined #lisp 2014-11-26T23:51:26Z guicho_ joined #lisp 2014-11-26T23:54:25Z k-dawg quit (Client Quit) 2014-11-26T23:55:18Z jumblerg joined #lisp