2014-10-11T00:05:59Z varjag_ quit (Quit: Connection closed for inactivity) 2014-10-11T00:07:38Z leb joined #lisp 2014-10-11T00:10:47Z Bike: well, it can, sure 2014-10-11T00:15:02Z ehaliewicz quit (Ping timeout: 255 seconds) 2014-10-11T00:15:58Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-11T00:17:37Z Xach: http://www.xach.com/naggum/articles/3250222105960910%40naggum.no.html has more than anyone ever wanted to know about boole 2014-10-11T00:19:16Z arpunk joined #lisp 2014-10-11T00:19:39Z moore33 quit 2014-10-11T00:24:10Z Adlai: Xach: it doesn't answer peter's question, though 2014-10-11T00:27:38Z c107 joined #lisp 2014-10-11T00:27:44Z zRecursive joined #lisp 2014-10-11T00:30:59Z jgoss quit (Quit: jgoss) 2014-10-11T00:31:12Z nydel quit (Remote host closed the connection) 2014-10-11T00:33:38Z jgoss joined #lisp 2014-10-11T00:34:04Z jgoss quit (Changing host) 2014-10-11T00:34:05Z jgoss joined #lisp 2014-10-11T00:40:53Z anunnaki_ joined #lisp 2014-10-11T00:46:57Z arpunk quit (Remote host closed the connection) 2014-10-11T00:48:29Z boogie quit (Quit: Leaving...) 2014-10-11T00:54:57Z defaultxr joined #lisp 2014-10-11T01:01:20Z robot-beethoven joined #lisp 2014-10-11T01:03:38Z vlnx quit (Read error: Connection reset by peer) 2014-10-11T01:04:09Z jusss joined #lisp 2014-10-11T01:05:38Z vlnx joined #lisp 2014-10-11T01:07:26Z paul0 joined #lisp 2014-10-11T01:09:18Z [1]cneira joined #lisp 2014-10-11T01:11:31Z cneira quit (Ping timeout: 258 seconds) 2014-10-11T01:11:32Z [1]cneira is now known as cneira 2014-10-11T01:16:01Z jleija joined #lisp 2014-10-11T01:16:09Z ThomasH left #lisp 2014-10-11T01:20:49Z nipra quit (Quit: Leaving.) 2014-10-11T01:25:33Z gabriel_laddel joined #lisp 2014-10-11T01:27:06Z leo2007 quit (Remote host closed the connection) 2014-10-11T01:27:19Z finnrobi quit (Ping timeout: 272 seconds) 2014-10-11T01:29:39Z leo2007 joined #lisp 2014-10-11T01:34:17Z Vutral quit (Ping timeout: 260 seconds) 2014-10-11T01:39:08Z anunnaki_ quit (Quit: Lost terminal) 2014-10-11T01:39:39Z Vutral joined #lisp 2014-10-11T01:41:32Z nalssee joined #lisp 2014-10-11T01:47:14Z wgl joined #lisp 2014-10-11T01:47:40Z wgl quit (Remote host closed the connection) 2014-10-11T01:48:53Z wglb joined #lisp 2014-10-11T01:50:25Z wglb quit (Client Quit) 2014-10-11T01:51:26Z ynniv quit (Quit: ynniv) 2014-10-11T01:51:47Z wglb joined #lisp 2014-10-11T01:52:04Z kakobrekla joined #lisp 2014-10-11T01:54:22Z nowhere_man quit (Read error: Connection reset by peer) 2014-10-11T01:55:50Z nowhere_man joined #lisp 2014-10-11T01:58:14Z finnrobi joined #lisp 2014-10-11T02:00:28Z skbierm1 joined #lisp 2014-10-11T02:01:27Z skbierm quit (Ping timeout: 245 seconds) 2014-10-11T02:02:37Z jainex joined #lisp 2014-10-11T02:02:39Z jainex left #lisp 2014-10-11T02:03:06Z cyc0 joined #lisp 2014-10-11T02:05:00Z pjb: I would (defconstant pi (* 4L0 (atan 1.0L0))) ; now in clisp, the precision of long floats can be changed at runtime, so the exact value of PI changes at run time too! :-) 2014-10-11T02:05:28Z slyrus quit (Ping timeout: 260 seconds) 2014-10-11T02:07:05Z Adlai: well, not if you defconstant it :P 2014-10-11T02:10:16Z pjb: Well, indeed, #+clisp (constantp 'pi) --> nil 2014-10-11T02:10:25Z ndrei joined #lisp 2014-10-11T02:10:50Z pjb: That's not conforming. They should provide instead a ext:pi and leave cl:pi constant… 2014-10-11T02:13:06Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T02:14:21Z slyrus joined #lisp 2014-10-11T02:14:55Z Adlai: well, pi isn't really constant, just a property of an arbitrary curvature of space 2014-10-11T02:16:07Z White_Flame: which is then projected onto one of any number of numeric representations 2014-10-11T02:18:18Z nipra joined #lisp 2014-10-11T02:18:32Z pjb quit (Ping timeout: 244 seconds) 2014-10-11T02:25:06Z jgoss quit (Quit: jgoss) 2014-10-11T02:27:15Z stepnem quit (Ping timeout: 272 seconds) 2014-10-11T02:29:44Z cneira quit (Ping timeout: 260 seconds) 2014-10-11T02:29:47Z [1]cneira joined #lisp 2014-10-11T02:29:50Z pjb joined #lisp 2014-10-11T02:30:39Z wilfredh quit (Quit: Connection closed for inactivity) 2014-10-11T02:31:58Z gabriel_laddel quit (Ping timeout: 250 seconds) 2014-10-11T02:35:05Z kpreid joined #lisp 2014-10-11T02:35:20Z pjb: drmeister: integers have an infinite number of digits. Positive integers have a lot of 0s prepended; negative integers have a lot of 1s prepended. Try it with logbitp or ldb. the log* bit operators and the boole operator work on those infinite series of bits. 2014-10-11T02:38:39Z cneira joined #lisp 2014-10-11T02:41:29Z [1]cneira quit (Ping timeout: 260 seconds) 2014-10-11T02:42:04Z leb quit (Quit: Computer has gone to sleep.) 2014-10-11T02:45:36Z zRecursive quit (Remote host closed the connection) 2014-10-11T02:46:31Z chu joined #lisp 2014-10-11T02:56:12Z jlongster quit (Read error: Connection reset by peer) 2014-10-11T02:57:02Z drmeister: pjb: Thank you. 2014-10-11T02:58:29Z vlnx quit (Read error: Connection reset by peer) 2014-10-11T02:59:38Z jusss quit (Remote host closed the connection) 2014-10-11T02:59:57Z vlnx joined #lisp 2014-10-11T03:02:19Z stacksmith quit (Ping timeout: 272 seconds) 2014-10-11T03:03:54Z bgs100 quit (Quit: bgs100) 2014-10-11T03:06:47Z Bicyclidine joined #lisp 2014-10-11T03:13:00Z stacksmith joined #lisp 2014-10-11T03:13:07Z Oddity quit (Ping timeout: 245 seconds) 2014-10-11T03:14:44Z nipra quit (Quit: Leaving.) 2014-10-11T03:15:10Z nipra joined #lisp 2014-10-11T03:27:15Z zarkone joined #lisp 2014-10-11T03:32:05Z stacksmith quit (Ping timeout: 272 seconds) 2014-10-11T03:33:11Z TDog joined #lisp 2014-10-11T03:34:50Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T03:37:19Z svetlyak40wt joined #lisp 2014-10-11T03:37:25Z pavelpenev joined #lisp 2014-10-11T03:37:45Z castillo joined #lisp 2014-10-11T03:38:09Z castillo is now known as gmcastil 2014-10-11T03:43:35Z Oddity joined #lisp 2014-10-11T03:43:39Z rme quit (Quit: rme) 2014-10-11T03:43:39Z rme quit (Quit: rme) 2014-10-11T03:47:06Z Hydan` is now known as Hydan 2014-10-11T03:48:22Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T03:49:30Z gabriel_laddel joined #lisp 2014-10-11T03:51:29Z stacksmith joined #lisp 2014-10-11T03:54:40Z zyaku quit (Ping timeout: 260 seconds) 2014-10-11T03:56:27Z ndrei quit (Ping timeout: 246 seconds) 2014-10-11T04:01:07Z svetlyak40wt joined #lisp 2014-10-11T04:01:49Z beach joined #lisp 2014-10-11T04:01:56Z beach: Good morning everyone! 2014-10-11T04:02:33Z beach: pjb: Tu es la? 2014-10-11T04:08:01Z anunnaki quit (Quit: leaving) 2014-10-11T04:09:00Z anunnaki joined #lisp 2014-10-11T04:09:04Z anunnaki quit (Changing host) 2014-10-11T04:09:04Z anunnaki joined #lisp 2014-10-11T04:09:52Z pavelpenev quit (Ping timeout: 256 seconds) 2014-10-11T04:11:56Z pjb quit (Ping timeout: 260 seconds) 2014-10-11T04:16:11Z beach: Now I am thinking that implementing MACROLET by minimally compiling (in the sense of "minimal compilation") the macro definition and then using CL:EVAL to create the expander is not right. 2014-10-11T04:16:33Z Bicyclidine: by the way, if you didn't see it earlier, i didn't get why your eval took three arguments but figured you had a good reason 2014-10-11T04:16:49Z beach: Oh, no didn't see it. 2014-10-11T04:17:34Z beach: I need to dispatch according to the global environment, because that's the one customized by the implementation. I also need the local environment of course. 2014-10-11T04:19:04Z beach: The reason I think MACROLET can not be implemented that way is that the macro definition may be compiled in an environment where there are local declarations from surrounding forms, and those declarations are lost when CL:EVAL is called. 2014-10-11T04:20:03Z beach: So now, my implementation of MACROLET calls CLEAVIR-ENV:EVAL instead, and that one takes the environment as a parameter. 2014-10-11T04:20:43Z beach: I also use CLEAVIR-ENV:EVAL for compile-time evaluation in EVAL-WHEN, for the same reason. 2014-10-11T04:23:23Z araujo quit (Quit: Leaving) 2014-10-11T04:25:13Z Sgeo_ quit (Read error: Connection reset by peer) 2014-10-11T04:25:23Z pavelpenev joined #lisp 2014-10-11T04:26:38Z Sgeo joined #lisp 2014-10-11T04:29:59Z ndrei joined #lisp 2014-10-11T04:38:04Z ndrei quit (Ping timeout: 260 seconds) 2014-10-11T04:39:56Z innertracks joined #lisp 2014-10-11T04:43:17Z oconnore quit (Quit: leaving) 2014-10-11T04:44:08Z oconnore joined #lisp 2014-10-11T04:44:49Z oconnore quit (Client Quit) 2014-10-11T04:48:48Z zarkone quit (Ping timeout: 260 seconds) 2014-10-11T04:50:30Z ndrei joined #lisp 2014-10-11T04:57:14Z jusss joined #lisp 2014-10-11T04:58:18Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-11T04:59:33Z madrik joined #lisp 2014-10-11T05:01:59Z zRecursive joined #lisp 2014-10-11T05:06:32Z innertracks quit (Ping timeout: 260 seconds) 2014-10-11T05:07:42Z martinjungblut joined #lisp 2014-10-11T05:10:47Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T05:21:30Z ndrei quit (Ping timeout: 255 seconds) 2014-10-11T05:22:59Z beach: After the discussion with nyef about the LispOS pages, I started moving and updating it. Here is the result so far: http://metamodular.com/Common-Lisp/suggested-projects.html 2014-10-11T05:28:33Z oudeis joined #lisp 2014-10-11T05:33:41Z farhaven quit (Ping timeout: 260 seconds) 2014-10-11T05:35:03Z gabriel_laddel quit (Remote host closed the connection) 2014-10-11T05:35:56Z ndrei joined #lisp 2014-10-11T05:37:16Z Svetlana joined #lisp 2014-10-11T05:39:04Z jleija quit (Quit: leaving) 2014-10-11T05:39:22Z svetlyak40wt joined #lisp 2014-10-11T05:41:01Z gingerale joined #lisp 2014-10-11T05:41:52Z phao quit (Ping timeout: 240 seconds) 2014-10-11T05:42:08Z Svetlana quit (Remote host closed the connection) 2014-10-11T05:42:23Z Svetlana joined #lisp 2014-10-11T05:43:21Z fantazo joined #lisp 2014-10-11T05:47:12Z pjb joined #lisp 2014-10-11T05:52:57Z gmcastil quit (Remote host closed the connection) 2014-10-11T05:54:17Z setmeaway joined #lisp 2014-10-11T05:58:41Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T05:59:49Z vhost- quit (Ping timeout: 260 seconds) 2014-10-11T06:01:10Z vhost- joined #lisp 2014-10-11T06:01:10Z vhost- quit (Changing host) 2014-10-11T06:01:10Z vhost- joined #lisp 2014-10-11T06:01:21Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T06:04:27Z gabriel_laddel joined #lisp 2014-10-11T06:05:01Z pavelpenev joined #lisp 2014-10-11T06:06:24Z setmeaway quit (Ping timeout: 272 seconds) 2014-10-11T06:07:03Z kyun joined #lisp 2014-10-11T06:09:02Z edgar-rft joined #lisp 2014-10-11T06:16:42Z hitecnologys joined #lisp 2014-10-11T06:22:36Z mrSpec joined #lisp 2014-10-11T06:22:47Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T06:24:42Z pavelpenev joined #lisp 2014-10-11T06:28:58Z joneshf-laptop joined #lisp 2014-10-11T06:29:54Z zarkone joined #lisp 2014-10-11T06:31:10Z pjb` joined #lisp 2014-10-11T06:31:56Z pjb is now known as ogamita 2014-10-11T06:32:06Z pjb` is now known as pjb 2014-10-11T06:33:23Z freaksken joined #lisp 2014-10-11T06:35:58Z pjb: Hello! 2014-10-11T06:37:49Z pjb: beach: in any case, I think that EVAL should perform minimal compilation. It's better than interpretting and expanding the macros each time they're encountered. 2014-10-11T06:38:44Z pjb: beach: but then, to macroexpand macrolet, we may want to use an EVAL taking the environment of the macrolet to perform this minimal compilation correctly. 2014-10-11T06:39:14Z prince_jammys joined #lisp 2014-10-11T06:40:55Z pjb: This is funny, there are several places like this were we cannot just use the API provided by CL to implement CL, but we have to use internal functions. An eval with environment; a read-delimited-list which processes the dot, etc. 2014-10-11T06:42:47Z Adlai: why shouldn't eval compile with appropriate optimization settings? 2014-10-11T06:45:52Z banjara quit (Ping timeout: 240 seconds) 2014-10-11T06:48:30Z paul0` joined #lisp 2014-10-11T06:49:40Z Kabaka quit (Quit: s/Kabaka//) 2014-10-11T06:49:58Z beach: pjb: Well, it will do that, because the translation to AST expands the macros. 2014-10-11T06:50:23Z paul0 quit (Ping timeout: 258 seconds) 2014-10-11T06:50:39Z jkaye joined #lisp 2014-10-11T06:51:45Z beach: pjb: Well, what is even more funny is that there are so few places like that. They managed to squeeze in most of what is needed into the language itself. 2014-10-11T06:52:11Z beach: I mean, compare to the situation of other languages where everything must be done with "internal" functions. 2014-10-11T06:52:45Z beach: Adlai: The question here is what to do in order to compile MACROLET. 2014-10-11T06:53:07Z c107 quit (Remote host closed the connection) 2014-10-11T06:53:28Z beach: Adlai: The initial idea was to minimally compile the macro expander code and then to call CL:EVAL to create a function from the resulting lambda expression. 2014-10-11T06:53:30Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T06:54:23Z beach: Adlai: But that doesn't quite work because the environment in which the expander is compiled contains not only local macros (which will disappear after minimal compilation) but also declarations. 2014-10-11T06:55:00Z beach: Adlai: So if one uses CL:EVAL, then those declarations are not taken into account, because CL:EVAL only works in the null lexical environment. 2014-10-11T06:55:02Z pavelpenev joined #lisp 2014-10-11T06:55:23Z jkaye quit (Ping timeout: 272 seconds) 2014-10-11T06:56:00Z beach: Same thing for forms inside EVAL-WHEN with a situation of :COMPILE-TOPLEVEL. 2014-10-11T06:58:00Z Ven joined #lisp 2014-10-11T06:58:15Z resttime quit (Quit: resttime) 2014-10-11T06:59:22Z pavelpenev quit (Client Quit) 2014-10-11T07:00:32Z Adlai has never understood why cl:eval doesn't take &env or &optional env, but "historic considerations" trumps incredulity 2014-10-11T07:00:57Z pavelpenev joined #lisp 2014-10-11T07:02:18Z zRecursive quit (Remote host closed the connection) 2014-10-11T07:03:34Z beach: OK, help me interpret this Common Lisp HyperSpec passage from MACROLET: the consequences are undefined if the local macro definitions reference any local variable or function bindings that are visible in that lexical environment. 2014-10-11T07:03:42Z martinjungblut quit (Ping timeout: 246 seconds) 2014-10-11T07:04:34Z ggole joined #lisp 2014-10-11T07:05:27Z beach: Does that mean that the following is legal: (locally (declare (special x)) (macrolet ((m (...) ... x ...)) ...))? 2014-10-11T07:05:50Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T07:06:07Z oleo is now known as Guest91337 2014-10-11T07:06:19Z jusss quit (Read error: Connection reset by peer) 2014-10-11T07:06:22Z Adlai interprets the spec as implying that x would be resolved to its macroexpansion-time symbol-value 2014-10-11T07:06:26Z svetlyak40wt joined #lisp 2014-10-11T07:06:26Z Svetlana quit (Remote host closed the connection) 2014-10-11T07:06:34Z pjb: beach: Argh :-) macrolet cannot use (at macroexpansion time) the local environment, so I would say if there's not a defvar/defparameter, it won't do. 2014-10-11T07:06:57Z svetlyak40wt quit (Read error: Connection reset by peer) 2014-10-11T07:07:15Z Adlai: and the undefined consequences are regarding a situation where there's *also* a lexical binding, suggesting that a compiler is allowed to be confused by that lexical binding but would probably still pick the special one 2014-10-11T07:07:25Z beach: pjb: Makes sense, yes. 2014-10-11T07:07:46Z svetlyak40wt joined #lisp 2014-10-11T07:07:48Z prince_jammys quit (Quit: Leaving) 2014-10-11T07:07:51Z oleo__ joined #lisp 2014-10-11T07:07:55Z pjb: And given the side effects note on defvar/defparameter, you would even to eval-when :compile-toplevel them to be available to the macrolet. 2014-10-11T07:08:08Z pjb: s/even to/even need to/ 2014-10-11T07:08:13Z beach: Sure. 2014-10-11T07:08:47Z prince_jammys joined #lisp 2014-10-11T07:09:03Z Guest91337 quit (Ping timeout: 255 seconds) 2014-10-11T07:09:04Z oudeis quit (Quit: This computer has gone to sleep) 2014-10-11T07:09:07Z beach: So then, the only effect the local environment can have on the expander code is OPTIMIZE, INLINE, TYPE, DYNAMIC-EXTENT? Anything else? 2014-10-11T07:10:42Z beach: Well, NOTINLINE. 2014-10-11T07:11:31Z pjb: DECLARATION should also be taken into account. But I'm not sure if the macrolet macro function should take into account all those declarations when they come from the local environment. 2014-10-11T07:11:46Z beach: Right, DECLARATION. I keep forgetting. 2014-10-11T07:12:10Z beach: Hmm, I kind of think it has to. 2014-10-11T07:12:37Z beach: ... and that's why I don't think it's right to implement MACROLET the way I initially thought. 2014-10-11T07:13:35Z pjb: If you process TYPE, FTYPE should be processed to. IGNORE and IGNORABLE (but we fail to see how they could be applied from the toplevel). 2014-10-11T07:14:01Z beach: OK. 2014-10-11T07:14:28Z beach: I am dreaming up an example here... 2014-10-11T07:15:03Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T07:16:29Z pavelpenev joined #lisp 2014-10-11T07:16:47Z Kabaka joined #lisp 2014-10-11T07:16:57Z mishoo_ joined #lisp 2014-10-11T07:17:32Z aldo joined #lisp 2014-10-11T07:17:38Z beach: AHA! I think I got something. 2014-10-11T07:17:45Z beach: I'll paste it. 2014-10-11T07:18:34Z pjb: There's only a discussion of scope: 3.3.4 Declaration Scope ; nothing about environments. It would seem that SPECIAL would apply to the macro function: (locally (declare (special x)) (macrolet ((m (z) (if x `(list ,m) `(cons ,m nil)))) (m 42))) should work if there's a previous (eval-when (:compile-toplevel) (locally (declare (special x)) (setf x t))) or (eval-when (:compile-toplevel) (defparameter x nil)). 2014-10-11T07:18:34Z martinjungblut joined #lisp 2014-10-11T07:19:14Z pjb: It would be better style to put the declare special inside the macrolet macro. 2014-10-11T07:19:30Z pjb: (macrolet ((m (z) (declare (special x)) (if x `(list ,m) `(cons ,m nil)))) (m 42)) 2014-10-11T07:19:52Z pjb: But for the macro m, both case should be equivalent AFAICS. 2014-10-11T07:20:04Z jusss joined #lisp 2014-10-11T07:20:20Z beach: http://paste.lisp.org/+3340 2014-10-11T07:22:25Z beach: pjb: Doesn't that contradict what you just said? 2014-10-11T07:22:52Z beach: x refers to a special variable binding in the lexical environment. 2014-10-11T07:22:58Z gmcastil joined #lisp 2014-10-11T07:23:05Z beach: So according to MACROLET, the consequences are undefined. 2014-10-11T07:23:57Z beach: ... except for DEFPARAMETER, which makes it special in the global environment. 2014-10-11T07:24:26Z beach: I think in that paste, the NOTINLINE should be respected. 2014-10-11T07:25:01Z beach: But it is not respected in SBCL. 2014-10-11T07:25:18Z vaporatorius joined #lisp 2014-10-11T07:25:25Z beach: Which makes me think that SBCL is implementing MACROLET by minimally compiling it and the calling CL:EVAL. 2014-10-11T07:25:58Z beach: As I recall, an implementation is not allowed to ignore NOTINLINE. 2014-10-11T07:25:58Z IceChat9 joined #lisp 2014-10-11T07:26:07Z beach: Right? 2014-10-11T07:27:32Z nipra quit (Quit: Leaving.) 2014-10-11T07:28:58Z protist joined #lisp 2014-10-11T07:29:06Z pjb: beach: yes, I changed my mind. Special variables are special. They're not taken from the lexical scope. The section 3.3.4 implies that the declarations should be taken into account, therefore the macro function can refer the special variable (from the compilation environment), since it knows (from the local declare) that it is special. 2014-10-11T07:29:37Z beach checks 3.3.4 2014-10-11T07:30:42Z pjb: Notice that (eval-when (:compile-toplevel) (locally (declare (special x)) (setf x 33))) (let ((x 42)) (declare (special x)) (macrolet ((m () `',x)) (m))) --> 33, not 42. because the 33 is taken from the compilation environment by m. 2014-10-11T07:31:07Z jegaxd26 quit (Remote host closed the connection) 2014-10-11T07:32:19Z beach: right. 2014-10-11T07:32:59Z beach: No wait... I am confused. 2014-10-11T07:33:09Z pjb: yes, it's confusign. 2014-10-11T07:33:57Z Bicyclidine: wow, that sucks. 2014-10-11T07:34:00Z beach: In the compilation environment, x is 42 when the definition of m is processed. 2014-10-11T07:34:20Z jegaxd26 joined #lisp 2014-10-11T07:34:45Z pjb: what 3.3.4 says is that the local declare special (either by locally or by let), applies to the macrolet code. For the macrolet m, x is a free variable (since it doesn't access the local environment). But since x is declared special, it can use symbol-value on it. Which it obtains from the compilation environment, and which happily has been set by the previous eval-when. 2014-10-11T07:35:10Z pjb: No, a let outside of eval-when doesn't modify the compilation environment. 2014-10-11T07:35:51Z IceChat9 left #lisp 2014-10-11T07:35:52Z IceChat9 joined #lisp 2014-10-11T07:36:00Z pjb: When the definition of m is processed (when the macro function of m is compiled, or when it is called (macroexpansion), there is not binding of x to 42. This is something that occurs only at run-time later. 2014-10-11T07:36:06Z IceChat9 left #lisp 2014-10-11T07:36:11Z IceChat9 joined #lisp 2014-10-11T07:37:38Z beach: But that runtime happens immediately after when you call (m). 2014-10-11T07:37:49Z pjb: Yes. 2014-10-11T07:37:57Z pjb: By then the macroexpansion of (m) is '33 2014-10-11T07:38:18Z beach: Oh, right. Let me think again. I am a slow thinker. 2014-10-11T07:38:44Z pjb: With: (let ((x 42)) (declare (special x)) (macrolet ((m () `x)) (m))) --> 42 2014-10-11T07:39:28Z beach: OK. 2014-10-11T07:39:46Z jusss quit (Read error: No route to host) 2014-10-11T07:40:02Z pjb: I've spent a lot of time thinking and playing with special variables and local declarations :-) 2014-10-11T07:40:12Z beach: Apparently. 2014-10-11T07:40:57Z nipra joined #lisp 2014-10-11T07:41:36Z beach: OK, yes, I see it now. 2014-10-11T07:41:46Z jusss joined #lisp 2014-10-11T07:42:00Z beach: x is not 42 in the compilation environment of course. 2014-10-11T07:42:11Z pjb: right. 2014-10-11T07:42:46Z beach: But the question is still whether this is defined behavior or not, given what is said under MACROLET. 2014-10-11T07:43:23Z pjb: I think it is, because we don't take x from the local (lexical) scope. 2014-10-11T07:43:31Z moore33 joined #lisp 2014-10-11T07:43:44Z Bicyclidine: i think this is what compiler-let was for, and also why we gave up on it 2014-10-11T07:43:48Z beach: That's what I thought initially, but that that's not quite what it says under MACROLET. 2014-10-11T07:43:57Z pjb: For one thing, in a way, special variables are always in a global scope. 2014-10-11T07:44:33Z Grue`: is there a django-style html template library that is somewhat recently updated? 2014-10-11T07:44:49Z Grue`: I found https://github.com/nallen05/djula but its site is dead and its 6 years old 2014-10-11T07:44:53Z beach: MACROLET doesn't say "lexical scope", it says "visible in the lexical environment". 2014-10-11T07:46:28Z pjb: The macro-expansion functions defined by macrolet are defined in the lexical environment in which the macrolet form appears. Declarations and macrolet and symbol-macrolet definitions affect the local macro definitions in a macrolet, but the consequences are undefined if the local macro definitions reference any local variable or function bindings that are visible in that lexical environment. 2014-10-11T07:46:38Z pjb: This is clear for me. 2014-10-11T07:47:03Z beach: OK. Not so much for me. 2014-10-11T07:47:04Z pjb: In my first example returning 33 above, the x referenced is not the x defined by the let. 2014-10-11T07:47:15Z moore33: hello all 2014-10-11T07:47:22Z beach: Hello moore33. 2014-10-11T07:47:26Z pjb: Because of the special declaration, it is the x in the global (compilation-time) environment that is referenced. 2014-10-11T07:47:27Z beach: pjb: Yes, I see what you mean. 2014-10-11T07:47:49Z beach: pjb: Did you try this on some implementation that gave you the result you showed? 2014-10-11T07:47:54Z pjb: ccl works. 2014-10-11T07:48:05Z beach: Not SBCL it seems. At least not the version I have. 2014-10-11T07:48:17Z IceChat9 quit (Quit: When the chips are down, the buffalo is empty) 2014-10-11T07:48:51Z beach: What does CCL say about the example in my paste? 2014-10-11T07:49:18Z pjb: works on ccl-1.10, clisp-2.49+, cmucl-20d, ecl-13.5.1 and sbcl-1.0.57.0.debian. 2014-10-11T07:49:26Z beach: Works? 2014-10-11T07:49:28Z Lefeni quit (Ping timeout: 255 seconds) 2014-10-11T07:50:16Z beach: What does the last call to FF say? 2014-10-11T07:50:59Z pjb: It's lacking EVAL-WHENs. 2014-10-11T07:51:40Z pjb: When loading (with added print), it prints 11 twice in all implementations. 2014-10-11T07:52:01Z beach: I believe that is wrong. 2014-10-11T07:52:56Z moore33: breakfast; bbl 2014-10-11T07:52:56Z pjb: I think you're right. The notinline should take over, and the redefinition should apply. 2014-10-11T07:53:00Z moore33 quit 2014-10-11T07:54:40Z f3rmat joined #lisp 2014-10-11T07:54:47Z ogamita quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-11T07:55:12Z Ven joined #lisp 2014-10-11T07:55:35Z beach: OK, this discussion makes me think of a different subject: I am (slowly) writing a book called "Common Lisp for language implementers". Clearly, it will never be a bestseller. Would it be beneficial to develop this project openly and solicit community participation? I.e., is it likely that others would contribute? 2014-10-11T07:56:09Z pjb: beach: it would probably be good to involve experimented implementers indeed. 2014-10-11T07:56:31Z easye: beach: "Language Implementers" as in those who implement CL? 2014-10-11T07:56:39Z pjb: in this case, yes. 2014-10-11T07:56:42Z beach: pjb: "experienced" :) fausses amies 2014-10-11T07:56:58Z beach: easye: Yes. 2014-10-11T07:57:09Z pjb: right :-) 2014-10-11T07:57:11Z beach: "faux amis"? 2014-10-11T07:57:15Z easye laughs. "A small audience indeed..." 2014-10-11T07:57:16Z pjb: Yes, it's male. 2014-10-11T07:57:19Z pt1 joined #lisp 2014-10-11T07:57:47Z beach: easye: Sure, but such a book would be very useful. 2014-10-11T07:57:53Z pjb: Well, perhaps a teacher would fancy having a class with 50 or 100 students each writing his own CL implementation? 2014-10-11T07:57:58Z easye: Of course, I'm part of that audience, so I'm interested. 2014-10-11T07:58:11Z pjb: For example, LiSP is rather successful. 2014-10-11T07:58:17Z easye learned a lot from _Lisp In Small Pieces_. 2014-10-11T07:58:18Z beach: Indeed. 2014-10-11T07:58:28Z easye: But I never really finished the later chapters. 2014-10-11T07:59:24Z beach: If I think I might get some contributions, I might consider opening it up. 2014-10-11T07:59:46Z f3rmat is now known as fermat 2014-10-11T07:59:47Z beach: Right now, whenever I see a discussion like this, or the one about (VECTOR NIL), I try to write a section or a chapter in the book. 2014-10-11T08:00:10Z easye: beach: I think getting strong contributions from an open process is not likely. 2014-10-11T08:00:22Z beach: That's what I fear as well. 2014-10-11T08:00:44Z pjb: I'm sure a few sbcl or ecl(clasp) contributors would participate. I mean, alot of the interesting discussions we've had over the last 15 years on cll have been about CLHS and CL implementation. 2014-10-11T08:00:48Z easye: So, you should have a reason for the open process other than looking for such things, and the two *might* coincide. 2014-10-11T08:01:19Z beach: I'll think about it some more. 2014-10-11T08:01:36Z fantazo quit (Ping timeout: 244 seconds) 2014-10-11T08:02:06Z easye: Strong contributions come from a community that shares an objective. 2014-10-11T08:02:25Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T08:02:37Z easye: That being said, I would totally love for you to make it an open process, so I could "follow along". 2014-10-11T08:02:51Z beach: Yes, I understand. 2014-10-11T08:02:57Z easye: So, good luck, with whatever you decide. 2014-10-11T08:03:06Z beach: Thanks! :) 2014-10-11T08:03:31Z easye: I would offer to help contribute, but in spite of being an "CL implementer", I feel more much more the student than master. 2014-10-11T08:08:58Z simulacrum quit (Remote host closed the connection) 2014-10-11T08:10:12Z rx14 joined #lisp 2014-10-11T08:15:21Z simulacrum joined #lisp 2014-10-11T08:15:21Z stepnem joined #lisp 2014-10-11T08:15:45Z rx14 quit (Quit: Leaving) 2014-10-11T08:16:56Z fermat left #lisp 2014-10-11T08:18:23Z beach: easye: In such a book, there would be a lot of examples from different implementations, such as what we just discussed. Those examples do not require a master to try out and then include in the book. 2014-10-11T08:19:07Z beach: easye: But I think you are right. People are too busy for something like that. 2014-10-11T08:21:21Z beach: pjb: Speaking of minimal compilation, etc., I think I am slowly understanding what is meant by a "universal code walker", i.e., one that can handle all imaginable situations (minimal compilation, partial evaluation, conversion to AST, direct interpretation) but that provides reasonable defaults in combination with the possibility to customize what it does. 2014-10-11T08:23:12Z pjb: Yes. 2014-10-11T08:23:47Z beach: One of the thinks I am contemplating is a generic function for each special form that is called to "combine" the recursive processing of different parts of the special form. These "combiners" would have reasonable defaults but could be specialized to a particular "processor". 2014-10-11T08:24:39Z pjb: There's some tree walking involved. We may want to do prefix, infix and suffix processing. 2014-10-11T08:24:41Z beach: So for instance, when AST-generator is the processor, then the combiner would create an AST from the different sub-AST and other information. 2014-10-11T08:24:55Z beach: That sounds plausible, yes. 2014-10-11T08:25:31Z pjb: But having a generic function for each special form was also my idea. 2014-10-11T08:26:00Z beach: OK, that means I am not completely out to lunch. 2014-10-11T08:26:12Z pjb: On the other hand, in my minimal compiler, one big part is that it needs a set of standard CL macros. 2014-10-11T08:26:26Z beach: Yes, I see. 2014-10-11T08:26:38Z beach: I handle that through the Cleavir environment mechanism. 2014-10-11T08:26:44Z pjb: Implementations provides the standard CL macros, but they may expand to implementation specific fuctions (or even in one implementation, an implementation specific special operator!). 2014-10-11T08:26:59Z beach: Yes, I know that particular problem. 2014-10-11T08:27:56Z pjb: I'm mentionning it, because it seems to me that for a lot of applications, one will have to use a set of those standard CL macros, along with some specific macros for the application. 2014-10-11T08:28:15Z pjb: For example, for my cl-stepper, I have to define the macros for defun/defmethod/lambda and a few others. 2014-10-11T08:28:23Z beach: I understand. 2014-10-11T08:28:37Z mishoo_ quit (Ping timeout: 255 seconds) 2014-10-11T08:29:07Z beach: By using first-class environments, you could create an environment class that contains the exceptions and calls the implementation for the rest. 2014-10-11T08:29:18Z pjb: Yes. 2014-10-11T08:29:55Z Shinmera joined #lisp 2014-10-11T08:30:24Z beach: Frankly, I think I am really on to something good with the Cleavir environment stuff. I have a feeling it is going to come in handy in many situations. 2014-10-11T08:31:27Z beach: Anyway, I brought this up because a minimal compiler would "just" be a special case of a universal code walker. 2014-10-11T08:32:36Z pjb: Yes. That should be. 2014-10-11T08:33:17Z pjb: (I was thinking it wrong, the universal code walker is the most general notion, not the minimal compiler). 2014-10-11T08:33:31Z beach: For prefix/postfix/infix, it seems we need functions that are called before/after/between processing subforms and other parts. These functions would need to communicate with each other by some kind of storage mechanism for each form. 2014-10-11T08:33:58Z pt1 quit (Remote host closed the connection) 2014-10-11T08:34:26Z beach: It's complicated stuff, but I think it is possible to do. 2014-10-11T08:35:02Z varjag_ joined #lisp 2014-10-11T08:36:22Z pjb: They can be simple hooks. The SAX XML parser works like that. 2014-10-11T08:38:34Z MoALTz joined #lisp 2014-10-11T08:39:00Z Bicyclidine quit (Ping timeout: 250 seconds) 2014-10-11T08:39:58Z beach: OK. 2014-10-11T08:47:37Z schaueho joined #lisp 2014-10-11T08:48:23Z gravicappa joined #lisp 2014-10-11T08:50:19Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T08:52:07Z pavelpenev joined #lisp 2014-10-11T08:53:02Z nug700 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-11T08:56:08Z gniourf quit (Remote host closed the connection) 2014-10-11T08:58:31Z defaultxr quit (Quit: gnight) 2014-10-11T08:59:15Z madmalik joined #lisp 2014-10-11T09:01:14Z gniourf joined #lisp 2014-10-11T09:02:12Z knobo joined #lisp 2014-10-11T09:05:51Z simulacrum quit (Remote host closed the connection) 2014-10-11T09:06:03Z Bicyclidine joined #lisp 2014-10-11T09:07:33Z Bicyclidine quit (Client Quit) 2014-10-11T09:14:11Z rx14 joined #lisp 2014-10-11T09:14:29Z rx14 quit (Client Quit) 2014-10-11T09:19:12Z pyx joined #lisp 2014-10-11T09:19:38Z pyx quit (Client Quit) 2014-10-11T09:23:38Z Adlai: I'm out of touch with style conventions... is defmaker or define-maker to be preferred? 2014-10-11T09:24:16Z Shinmera: define-maker gives you slime markup 2014-10-11T09:24:41Z Adlai: exactly, the absence of markup on defmaker cringed me into submission 2014-10-11T09:24:51Z Shinmera: Hence why I always use define-, but I can't speak for anyone else. 2014-10-11T09:25:21Z MutSbeta quit (Quit: Leaving.) 2014-10-11T09:25:43Z Adlai is feeling a pressure from slime devs to use one style 2014-10-11T09:26:51Z ehu joined #lisp 2014-10-11T09:27:21Z pjb: Adlai: both are good. Perhaps use define-maker if it will be used more rarely than defun? 2014-10-11T09:28:04Z pjb: I don't know what you call "markup" here. Both defmaker and define-maker are fontified correctly by emacs, and slime uses the actual definition in the inferior lisp anyways. 2014-10-11T09:29:22Z Shinmera: http://shinmera.tymoon.eu/public/screenshot-2014.10.11-11:29:19.png 2014-10-11T09:31:49Z Adlai: pjb: emacs/slime only treats define-maker properly 2014-10-11T09:31:55Z Adlai: exactly like Shinmera's screenshot 2014-10-11T09:32:43Z pjb: Adlai: for example, I have defgrammar, deftranslation, defpattern, defenum, defentity, defelement, defattribute, defcharset, defcommand, but define-association, define-pair-methods, define-mapping, define-forward, define-option, define-class-structure, define-list-structure, define-test, define-ffi-copiers, define-implementation, define-menu, define-date-compare-methods, define-timezone, define-state-machine, 2014-10-11T09:32:44Z pjb: define-string-designator-satisfies-function, define-argument-selector, define-if-undefined, defnie-structure-class, define-with-object, etc. 2014-10-11T09:33:10Z Adlai: slightly offtopic, but this came up in another channel... am I the only [common] lisper actively interested in bitcoin? 2014-10-11T09:34:13Z Adlai is more actively trolling for interest (hah!) in his trading software 2014-10-11T09:34:21Z pjb: Ah, indeed. But I wouldn't take into account those little bugs in slime: they're transient. 2014-10-11T09:34:38Z pjb: Adlai: I'm thinking about it. However, it seems it's too late to mine. 2014-10-11T09:35:08Z Adlai: you can still make a profit, although the fun side of mining, for hobbyists, is over 2014-10-11T09:35:41Z pjb: If we could pirate some super computer cluster, perhaps :-) 2014-10-11T09:35:51Z Adlai: these days making a profit just means buying the cheapest & most energy-efficient miner on the market and sourcing the cheapest electricity accessible to you 2014-10-11T09:36:04Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-11T09:36:37Z Adlai: even supercomputers aren't that useful for mining anymore, although I wouldn't know exact numbers of how not-useful they are 2014-10-11T09:36:58Z Adlai: you really just need to grind a bunch of bitfield operations (sha256) 2014-10-11T09:37:01Z pjb: The keyword was "pirate", since that means you don't pay for cpu time :-) 2014-10-11T09:37:23Z Adlai: yes, but it would be as effective as "pirating" a botnet, which is not that effective for bitcoin anymore 2014-10-11T09:37:35Z hiroakip joined #lisp 2014-10-11T09:37:39Z Adlai: if you have one at your disposal, you could use it on other coins, but i'm not as interested in those :P 2014-10-11T09:38:44Z pjb: Now, what would be interesting perhaps, would be to develop systems around bitcoins, up to making it interesting for a country to adopt bitcoins as legal currency ;-) 2014-10-11T09:40:13Z pjb: More than half of the bitcoins have already been mined. 2014-10-11T09:41:57Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-10-11T09:44:02Z jusss quit (Ping timeout: 245 seconds) 2014-10-11T09:44:05Z Adlai: well, you could say that's what i'm doing 2014-10-11T09:44:22Z Adlai: scalpl only runs on bitcoin exchanges, and anybody who wants it otherwise would have to pay me for time spent porting :) 2014-10-11T09:44:35Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T09:45:57Z PuercoPop: there is some cool stuff around 'bitcoin-tech', like distributed authentication (in http://twister.net.co/) 2014-10-11T09:46:18Z pavelpenev joined #lisp 2014-10-11T09:54:28Z mutley89 quit (Ping timeout: 260 seconds) 2014-10-11T09:55:13Z kyun quit (Read error: Connection reset by peer) 2014-10-11T09:58:22Z prince_jammys quit (Read error: Connection reset by peer) 2014-10-11T09:58:35Z prince_jammys joined #lisp 2014-10-11T09:58:55Z jgoss joined #lisp 2014-10-11T09:59:04Z quazimodo joined #lisp 2014-10-11T09:59:38Z jgoss quit (Changing host) 2014-10-11T09:59:38Z jgoss joined #lisp 2014-10-11T10:02:39Z denisrum joined #lisp 2014-10-11T10:08:37Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T10:08:46Z Ven joined #lisp 2014-10-11T10:11:38Z Ven quit (Client Quit) 2014-10-11T10:12:02Z kcj quit (Read error: Connection reset by peer) 2014-10-11T10:12:39Z zarkone quit (Ping timeout: 255 seconds) 2014-10-11T10:13:29Z Ven joined #lisp 2014-10-11T10:15:01Z kuzy000_ joined #lisp 2014-10-11T10:19:21Z munksgaard joined #lisp 2014-10-11T10:21:46Z svetlyak40wt joined #lisp 2014-10-11T10:22:07Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T10:22:56Z theos quit (Ping timeout: 260 seconds) 2014-10-11T10:27:07Z rx14 joined #lisp 2014-10-11T10:27:14Z rx14 quit (Client Quit) 2014-10-11T10:32:18Z zacharias joined #lisp 2014-10-11T10:32:37Z zacharias quit (Client Quit) 2014-10-11T10:36:18Z theos joined #lisp 2014-10-11T10:38:49Z beach: ASDF question: Suppose I want to use ASDF not only to compile and load compiled code, but also to create some data structure by executing some initialization code. So far, what I have been doing is to put the initialization code as a top-level form in the last file to be compiled and loaded. Is this a reasonable way of doing it? Or should I use a different ASDF operation? 2014-10-11T10:41:29Z cyc0_ joined #lisp 2014-10-11T10:43:46Z zickzackv joined #lisp 2014-10-11T10:43:59Z Shinmera: Sounds reasonable enough to me 2014-10-11T10:45:20Z cyc0 quit (Ping timeout: 260 seconds) 2014-10-11T10:46:09Z Shinmera: If you really wanted to hook into ASDF for some reason you could do something like (defmethod asdf:operate :after ((op asdf:load-op) (my-system (eql (asdf:find-system :my-system)))) ) 2014-10-11T10:46:38Z beach: I see. Thanks. 2014-10-11T10:47:19Z Shinmera: Ech, forgot an &key on the lambda-list there 2014-10-11T10:47:26Z attila_lendvai joined #lisp 2014-10-11T10:47:27Z beach: Yeah, I get the idea. 2014-10-11T10:48:07Z Shinmera: I'd still stick to a file though since the after method will be executed every time someone loads your system, whereas your file should only be loaded if the system has been changed in some fashion. 2014-10-11T10:48:38Z beach: Right. 2014-10-11T10:48:39Z Shinmera: (of course you could protect against that in the method too, but.. extra work) 2014-10-11T10:49:27Z beach: OK, next question: special case of the above. The code to compile is a cross compiler and the init code is to call the cross compiler on a bunch of files. It seems I ought to create a different ASDF operation called cross-compile-op, but that seems complicated. The init code would just be a sequence of calls to the cross compiler. 2014-10-11T10:50:14Z beach: Also, if I create a cross-compile-op, how does a system using cross-compile-op depend on a system using compile-op? Is that even possible? 2014-10-11T10:51:21Z Shinmera: I'm not quite sure I understand your second question. Do you mean your system wants to ensure that some other system was operated with compile-op? 2014-10-11T10:52:49Z beach: The system called (say) :CROSS-COMPILE-A-BUNCH-OF-FILES using the CROSS-COMPILE-OP would depend on a system called (say) :CROSS-COMPILER using the normal COMPILE-OP 2014-10-11T10:53:10Z beach: ... simply because in order to cross compile things, the cross compiler has to be compiled. 2014-10-11T10:54:36Z beach: Does that make sense? 2014-10-11T10:54:49Z Shinmera: I think I get what you mean 2014-10-11T10:55:18Z Shinmera: I'm not entirely sure how ASDF plans the operations to be performed when a system is depended on. I haven't studied that part of it (yet). 2014-10-11T10:56:22Z Shinmera: What I'm guessing you could do is simply define a method on cross-compile-op for your system and then call compile-system on your system explicitly. 2014-10-11T10:56:32Z Shinmera: *on your compiler system 2014-10-11T10:56:56Z beach: Well, when I say in one system :DEPENDS-ON :SOME-OTHER-SYSTEM, I am unaware of a way to say that :SOME-OTHER-SYSTEM should be created using a different operation. 2014-10-11T10:57:29Z Grue`: beach: seems like a case for :defsystem-depends-on 2014-10-11T10:57:43Z Shinmera: Well yes, that's what I'm saying. ASDF has some mechanism to determine what operations need to be performed, but I don't exactly understand that part yet, sorry. 2014-10-11T10:57:58Z beach: Grue`: How does that wor? 2014-10-11T10:58:00Z beach: work? 2014-10-11T10:58:11Z Shinmera: You can circumvent it by dropping the system out of your :depends-on and putting it explicitly into your cross-compile-op method 2014-10-11T10:58:20Z Shinmera: Grue`: I don't see what that has to do with anything. 2014-10-11T10:58:29Z beach: Shinmera: That's OK. I am asking because I can't make sense of the ASDF documentation. 2014-10-11T10:58:59Z beach: Shinmera: OK, but that would not be much better than the initial solution, just put calls to the cross compiler in a file to be compiled and loaded. 2014-10-11T10:58:59Z Shinmera: beach: Heh, I feel you. I've spent many hours trying to wade through its source. 2014-10-11T10:59:09Z Grue`: well, it's a parameter for asdf:defsystem 2014-10-11T10:59:33Z Grue`: I've been using it today actually, trying to emulate workflow from http://lispwebtales.ppenev.com/chap04.html 2014-10-11T10:59:36Z Shinmera: Grue`: Sure, but it's only used if your system definition depends on asdf extensions that do not exist at the time the system is created. 2014-10-11T10:59:47Z Shinmera: Grue`: Which is not really related to beach's problem 2014-10-11T10:59:57Z beach: Ah yeah, that's different. 2014-10-11T11:00:21Z Shinmera: beach: It would be slightly better in the sense that it's extensible. 2014-10-11T11:01:35Z beach: So you mean making an explicit call to ASDF in the second system, the purpose of which is to compile the cross compiler? 2014-10-11T11:02:34Z Shinmera: Well I mean that if you provide a cross-compile-op then other people will have an easier time hooking into your things, so it's a bit more extensible in that sense. 2014-10-11T11:02:49Z beach: I see. 2014-10-11T11:02:58Z Shinmera: You could of course do a :before on cross-compile-op on all systems that ensures your cross-compiler is compiled. 2014-10-11T11:03:13Z beach: Yes, that's a possibility. 2014-10-11T11:03:19Z Shinmera: Actually wait 2014-10-11T11:03:33Z Shinmera: I just remembered about :in-order-to on systems 2014-10-11T11:03:39Z wasamasa: Grue`: do you get the encoding issues as well with that blog? 2014-10-11T11:03:54Z wasamasa: Grue`: more specifically, "didn’t" 2014-10-11T11:04:58Z Shinmera: beach: In your system to be cross-compiled you can do :in-order-to ((cross-compile-op (compile-op "compiler-system"))) 2014-10-11T11:05:11Z beach: AHA! 2014-10-11T11:05:20Z beach: That sounds like a good solution. 2014-10-11T11:05:40Z Grue`: wasamasa: yeah 2014-10-11T11:05:53Z wasamasa: Grue`: I've sent the author a mail, but got no reply yet 2014-10-11T11:06:11Z beach: Shinmera: That seems to be exactly the mechanism required. 2014-10-11T11:06:45Z beach: Shinmera: Now I just have to figure out how to create a CROSS-COMPILE-OP. I can't figure that out from the documentation either. :( 2014-10-11T11:06:50Z Shinmera wipes a sweat pearl from his forehead 2014-10-11T11:06:55Z Shinmera: Phew I was useful! 2014-10-11T11:07:05Z beach: Heh! Indeed! 2014-10-11T11:09:04Z Shinmera: beach: Have a look at the definitions of load-op and then the downward/upward/selfward-operation classes 2014-10-11T11:09:24Z Shinmera: beach: There's some documentation there explaining what each of them do, so you might figure out from that on how to put yours together. 2014-10-11T11:09:55Z beach: Shinmera: I'll try that. Thanks. 2014-10-11T11:09:57Z Shinmera: I have to run, hopefully you'll be able to figure it out! 2014-10-11T11:10:05Z beach: Sure, thanks a lot. 2014-10-11T11:13:04Z beach: Didn't I read somewhere that someone here is writing a real manual for ASDF? 2014-10-11T11:13:56Z attila_lendvai quit (Quit: Leaving.) 2014-10-11T11:18:24Z oleo__ quit (Quit: Verlassend) 2014-10-11T11:19:27Z cyc0_ quit (Ping timeout: 245 seconds) 2014-10-11T11:21:24Z beach: Was it H4ns maybe? 2014-10-11T11:21:30Z munksgaard quit (Ping timeout: 250 seconds) 2014-10-11T11:21:36Z H4ns: hu? no. 2014-10-11T11:21:41Z beach: OK. 2014-10-11T11:23:38Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T11:25:10Z husker joined #lisp 2014-10-11T11:25:29Z pavelpenev joined #lisp 2014-10-11T11:26:50Z oleo joined #lisp 2014-10-11T11:27:49Z husker quit (Client Quit) 2014-10-11T11:30:03Z zarkone joined #lisp 2014-10-11T11:32:44Z Svetlana joined #lisp 2014-10-11T11:34:10Z zyaku joined #lisp 2014-10-11T11:35:27Z EvW joined #lisp 2014-10-11T11:36:01Z Adlai is now known as Adlai|EtOH 2014-10-11T11:37:59Z EvW quit (Remote host closed the connection) 2014-10-11T11:38:09Z EvW joined #lisp 2014-10-11T11:42:18Z zickzackv quit (Ping timeout: 250 seconds) 2014-10-11T11:44:13Z cyc0 joined #lisp 2014-10-11T11:50:51Z KarlDscc joined #lisp 2014-10-11T11:55:25Z zarkone quit (Ping timeout: 260 seconds) 2014-10-11T12:00:38Z hiroakip quit (Ping timeout: 255 seconds) 2014-10-11T12:01:51Z Adlai|EtOH is now known as Adlai 2014-10-11T12:02:53Z ndrei quit (Ping timeout: 244 seconds) 2014-10-11T12:03:37Z Beetny quit (Ping timeout: 245 seconds) 2014-10-11T12:04:48Z tw9 joined #lisp 2014-10-11T12:09:53Z cyc0 quit (Ping timeout: 240 seconds) 2014-10-11T12:11:49Z stassats` joined #lisp 2014-10-11T12:11:52Z jgoss quit (Quit: jgoss) 2014-10-11T12:12:30Z kcj joined #lisp 2014-10-11T12:14:17Z atgreen quit (Read error: Connection reset by peer) 2014-10-11T12:14:48Z tw9 quit (Read error: Connection reset by peer) 2014-10-11T12:16:48Z hiroakip joined #lisp 2014-10-11T12:18:29Z zarkone joined #lisp 2014-10-11T12:18:42Z MoALTz quit (Ping timeout: 250 seconds) 2014-10-11T12:21:21Z atgreen joined #lisp 2014-10-11T12:21:49Z mutley89 joined #lisp 2014-10-11T12:24:58Z Xach: beach: rpg has been working on refining the manual 2014-10-11T12:28:51Z nalssee joined #lisp 2014-10-11T12:33:02Z hiroakip quit (Ping timeout: 255 seconds) 2014-10-11T12:35:23Z huza joined #lisp 2014-10-11T12:36:01Z LiamH joined #lisp 2014-10-11T12:37:01Z munksgaard joined #lisp 2014-10-11T12:39:03Z mutley89 quit (Ping timeout: 244 seconds) 2014-10-11T12:39:24Z beach: Xach: Oh, right! Thanks! 2014-10-11T12:43:21Z ndrei joined #lisp 2014-10-11T12:47:14Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T12:48:08Z pjb: beach: I wouldn't use the ASDF system to cross-compile a compiler. IMO, this is an operation that requires more parameters than what can be passed to ASDF. 2014-10-11T12:48:40Z pavelpenev joined #lisp 2014-10-11T12:48:48Z zarkone quit (Ping timeout: 258 seconds) 2014-10-11T12:49:14Z pjb: beach: with respect to the toplevel initialization, in some circumstances they are a problem. For example, when the initialization depends on the (OS) environment at execution time, and not at load time (execution time being eg. _after_ saving an executable image). 2014-10-11T12:50:35Z pjb: beach: therefore I would advise to put all but the most benign initializations in an initialization function for the library that would be called explicitely when it's the right time to call it. You can hook that with asdf, by providing two asdf systems: one compiling and loading all the files, and another that depends on the first, that loads an initialization file that calls that function on its toplevel. 2014-10-11T12:52:26Z wormwood quit (Read error: Connection reset by peer) 2014-10-11T12:52:48Z hardenedapple joined #lisp 2014-10-11T12:52:59Z kuzy000_ quit (Read error: Connection reset by peer) 2014-10-11T12:54:10Z marvimias left #lisp 2014-10-11T12:55:55Z Adlai: fun story: each person who actually takes a look at scalpl has inevitably asked me why it's in lisp, and accepts in mute awe my answer that it enables me to compile code into the bot as it runs 2014-10-11T12:58:53Z Adlai: http://paste.lisp.org/display/144004 <- CL+SSL failure, any ideas? 2014-10-11T12:59:48Z oudeis joined #lisp 2014-10-11T13:02:52Z H4ns: i'd look up the openssl error codes 2014-10-11T13:03:27Z Adlai is looking through cl+ssl source, traced this to an error caught by ssl-get-error 2014-10-11T13:03:37Z Adlai: which wraps SSL_get_error() 2014-10-11T13:03:53Z Adlai man 3 2014-10-11T13:04:25Z H4ns: 326 and 138 seem to be the error codes, no? 2014-10-11T13:05:20Z gjvc: don't end a question in "no?" 2014-10-11T13:05:34Z Adlai isn't entirely sure 2014-10-11T13:05:49Z beach: pjb: OK, thanks. 2014-10-11T13:06:06Z oudeis quit (Quit: This computer has gone to sleep) 2014-10-11T13:10:48Z Nizumzen joined #lisp 2014-10-11T13:11:23Z husker joined #lisp 2014-10-11T13:12:02Z Adlai: same error happens with a separate, valid, key 2014-10-11T13:15:13Z freaksken quit (Read error: Connection reset by peer) 2014-10-11T13:15:36Z freaksken joined #lisp 2014-10-11T13:22:32Z svetlyak40wt joined #lisp 2014-10-11T13:24:22Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T13:25:24Z husker quit (Quit: husker) 2014-10-11T13:25:55Z Adlai: http://paste.lisp.org/+3344/1 2014-10-11T13:26:08Z pt1 joined #lisp 2014-10-11T13:26:11Z huza quit (Quit: WeeChat 0.3.8) 2014-10-11T13:27:17Z svetlyak40wt quit (Ping timeout: 260 seconds) 2014-10-11T13:27:18Z nalssee joined #lisp 2014-10-11T13:27:22Z Adlai: the hex value in error:HEX:lib(20)... is the error code 2014-10-11T13:27:44Z H4ns: can you connect to the same server using "openssl s_client"? 2014-10-11T13:28:47Z phao joined #lisp 2014-10-11T13:30:00Z mishoo_ joined #lisp 2014-10-11T13:31:27Z Adlai: terrible manpage, no examples >_< 2014-10-11T13:31:56Z H4ns: i could figure it out last time i tried, so should you. 2014-10-11T13:32:06Z Adlai: ugh it's under man 1 s_client 2014-10-11T13:32:25Z Adlai: my manly skills are being put to the test :) 2014-10-11T13:33:07Z drmeister: Is the idea with the BOOLE functions that you can extract an arbitrary sized binary number from an INTEGER (FIXNUM or BIGNUM) and perform operations on it? 2014-10-11T13:33:37Z drmeister: It looks like I could create a set of BIGNUMs that are megabytes long and perform boolean operations on them. 2014-10-11T13:34:05Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2014-10-11T13:34:23Z stassats`: nobody uses BOOLE 2014-10-11T13:34:55Z drmeister: Really? It seems pretty neat - what do you use? 2014-10-11T13:35:40Z pavelpenev joined #lisp 2014-10-11T13:36:23Z drmeister: I learn each Common Lisp function when I implement it (or in this case, hack the implementation from ECL). 2014-10-11T13:37:19Z zarkone joined #lisp 2014-10-11T13:38:16Z Adlai: H4ns: 503, "Request unsuccessful. Incapsula incident ID: 0-181119466674323594" 2014-10-11T13:38:43Z Adlai manually requested a simple API call once `openssl s_client' put him at an HTTP prompt 2014-10-11T13:38:50Z rme joined #lisp 2014-10-11T13:38:54Z Adlai: so... contact the server operators? 2014-10-11T13:39:39Z H4ns: Adlai: the cl+ssl error is not explained by the 503 2014-10-11T13:39:48Z ggole: Using boole if you could use logXXX instead would be a bit of an eyebrow raiser. 2014-10-11T13:40:11Z H4ns: Adlai: try to see if cl+ssl gets through the initial handshake at all 2014-10-11T13:41:45Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-11T13:42:11Z drmeister: ggole: I see. In ECL (and now Clasp) logXXX operations are implemented using BOOLE. 2014-10-11T13:42:33Z drmeister: Well, some of them are. 2014-10-11T13:42:44Z [1]cneira joined #lisp 2014-10-11T13:45:05Z cneira quit (Ping timeout: 260 seconds) 2014-10-11T13:45:05Z [1]cneira is now known as cneira 2014-10-11T13:46:24Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T13:46:43Z atgreen quit (Remote host closed the connection) 2014-10-11T13:46:57Z ogamita joined #lisp 2014-10-11T13:47:35Z nalssee joined #lisp 2014-10-11T13:48:41Z ggole: drmeister: oh, implementors get a pass to do whatever. 2014-10-11T13:48:56Z ggole: (Although that is an... interesting choice.) 2014-10-11T13:50:50Z gabriel_laddel quit (Remote host closed the connection) 2014-10-11T13:53:19Z Adlai: http://paste.lisp.org/+3344/2 if it interests anybody... 2014-10-11T13:54:02Z tim23 joined #lisp 2014-10-11T13:56:08Z normanrichards joined #lisp 2014-10-11T13:57:40Z GuilOooo quit (Remote host closed the connection) 2014-10-11T13:57:51Z GuilOooo joined #lisp 2014-10-11T13:59:04Z pt1 quit (Remote host closed the connection) 2014-10-11T13:59:11Z H4ns: Adlai: the 503 error is most likely unrelated to the ssl error 2014-10-11T13:59:35Z H4ns: Adlai: my guess is that the 503 is due to missing inbound headers on your end. 2014-10-11T14:00:06Z H4ns: Adlai: but i would now try to find out whether the ssl error occurs while connecting or afterwards. 2014-10-11T14:00:14Z Adlai: hrm 2014-10-11T14:03:50Z pavelpenev quit (Remote host closed the connection) 2014-10-11T14:04:49Z pavelpenev joined #lisp 2014-10-11T14:05:04Z manfoo7`` joined #lisp 2014-10-11T14:06:58Z moore33 joined #lisp 2014-10-11T14:07:45Z moore33 quit (Client Quit) 2014-10-11T14:09:16Z manfoo7` quit (Ping timeout: 260 seconds) 2014-10-11T14:10:36Z atgreen joined #lisp 2014-10-11T14:12:06Z jusss joined #lisp 2014-10-11T14:12:38Z Rundfunk_ quit (Quit: Textual IRC Client: www.textualapp.com) 2014-10-11T14:15:42Z Shinmera joined #lisp 2014-10-11T14:22:44Z pjb: BOOLE can be used in graphic applications, or in other operations where the actual op is parameterised. 2014-10-11T14:25:06Z alchemis7 left #lisp 2014-10-11T14:25:06Z alchemis7 joined #lisp 2014-10-11T14:25:07Z pjb: drmeister: the thing is that bit vectors (or bit arrays) may be more practical, when you use mutating algorithms. Working with bignums has the problem that they're both big (in general) and immutable. But a good implementation should perform the same operations on integers and on bit arrays with the same speed. 2014-10-11T14:29:58Z arpunk joined #lisp 2014-10-11T14:31:01Z thawes joined #lisp 2014-10-11T14:31:08Z pt1 joined #lisp 2014-10-11T14:32:37Z ggole: If you were doing graphics you'd dispatch to a function that applied a concrete op to the entire image. 2014-10-11T14:32:42Z Sgeo quit (Read error: Connection reset by peer) 2014-10-11T14:34:54Z denisrum quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-11T14:35:16Z pjb: The point is that the bignum could represent the entire image :-) 2014-10-11T14:35:49Z pjb: But as I said, using bit arrays is more convenient. 2014-10-11T14:36:39Z thawes quit (Quit: Konversation terminated!) 2014-10-11T14:51:20Z pavelpenev quit (Ping timeout: 256 seconds) 2014-10-11T14:55:27Z madmalik quit (Quit: Connection closed for inactivity) 2014-10-11T14:56:32Z pt1 quit (Remote host closed the connection) 2014-10-11T14:58:03Z loke_ joined #lisp 2014-10-11T14:58:12Z mishoo_ quit (Quit: (save-lisp-and-die)) 2014-10-11T14:58:49Z TDog quit (Ping timeout: 260 seconds) 2014-10-11T15:01:05Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T15:01:34Z mishoo joined #lisp 2014-10-11T15:01:55Z mrSpec quit (Remote host closed the connection) 2014-10-11T15:01:58Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-11T15:05:12Z hiroakip joined #lisp 2014-10-11T15:06:13Z nalssee joined #lisp 2014-10-11T15:14:08Z quazimodo quit (Ping timeout: 260 seconds) 2014-10-11T15:20:45Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T15:21:25Z paul0` quit (Remote host closed the connection) 2014-10-11T15:21:45Z Krystof quit (Ping timeout: 258 seconds) 2014-10-11T15:21:52Z karswell` quit (Ping timeout: 245 seconds) 2014-10-11T15:22:32Z ndrei quit (Ping timeout: 260 seconds) 2014-10-11T15:22:48Z MoALTz joined #lisp 2014-10-11T15:24:25Z ndrei joined #lisp 2014-10-11T15:25:04Z paul0 joined #lisp 2014-10-11T15:32:28Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.5) 2014-10-11T15:33:53Z bgs100 joined #lisp 2014-10-11T15:35:58Z leo2007 joined #lisp 2014-10-11T15:38:19Z pnpuff joined #lisp 2014-10-11T15:44:22Z gigetoo quit (Ping timeout: 240 seconds) 2014-10-11T15:44:58Z cheater__ joined #lisp 2014-10-11T15:45:01Z cheater__ is now known as cheater 2014-10-11T15:45:16Z gigetoo joined #lisp 2014-10-11T15:47:40Z arpunk quit (Read error: Connection reset by peer) 2014-10-11T15:48:31Z arpunk joined #lisp 2014-10-11T15:49:10Z Ven joined #lisp 2014-10-11T15:51:11Z TDog joined #lisp 2014-10-11T15:52:53Z nipra quit (Ping timeout: 272 seconds) 2014-10-11T15:59:16Z ehu quit (Ping timeout: 250 seconds) 2014-10-11T15:59:59Z cheater left #lisp 2014-10-11T16:05:56Z ogamita quit (Ping timeout: 260 seconds) 2014-10-11T16:06:14Z pnpuff left #lisp 2014-10-11T16:07:22Z hiroakip quit (Ping timeout: 240 seconds) 2014-10-11T16:11:03Z hiroakip joined #lisp 2014-10-11T16:11:32Z stassats` quit (Ping timeout: 260 seconds) 2014-10-11T16:14:47Z hitecnologys quit (Quit: hitecnologys) 2014-10-11T16:17:07Z drdanmaku joined #lisp 2014-10-11T16:17:58Z jusss quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2014-10-11T16:23:23Z jgoss joined #lisp 2014-10-11T16:23:40Z jgoss quit (Changing host) 2014-10-11T16:23:40Z jgoss joined #lisp 2014-10-11T16:37:11Z matko quit (Remote host closed the connection) 2014-10-11T16:39:34Z munksgaard quit (Ping timeout: 255 seconds) 2014-10-11T16:43:38Z svetlyak40wt joined #lisp 2014-10-11T16:43:41Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T16:43:54Z Sgeo joined #lisp 2014-10-11T16:45:52Z schaueho quit (Ping timeout: 240 seconds) 2014-10-11T16:46:27Z resttime joined #lisp 2014-10-11T16:47:22Z ndrei quit (Ping timeout: 240 seconds) 2014-10-11T16:50:13Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-11T16:50:16Z knobo quit (Ping timeout: 260 seconds) 2014-10-11T16:50:31Z leo2007 quit (Ping timeout: 272 seconds) 2014-10-11T16:52:16Z svetlyak40wt joined #lisp 2014-10-11T16:52:20Z svetlyak40wt quit (Remote host closed the connection) 2014-10-11T16:56:25Z stacksmith quit (Remote host closed the connection) 2014-10-11T16:56:56Z madmalik joined #lisp 2014-10-11T16:59:12Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T17:08:43Z Ven joined #lisp 2014-10-11T17:12:49Z innertracks joined #lisp 2014-10-11T17:14:04Z EvW quit (Ping timeout: 260 seconds) 2014-10-11T17:21:58Z impulse joined #lisp 2014-10-11T17:23:09Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T17:23:43Z EvW joined #lisp 2014-10-11T17:23:52Z zarkone quit (Ping timeout: 240 seconds) 2014-10-11T17:24:44Z nalssee joined #lisp 2014-10-11T17:24:53Z innertracks quit (Quit: innertracks) 2014-10-11T17:32:52Z hiroakip quit (Ping timeout: 240 seconds) 2014-10-11T17:33:22Z hyukiuyt joined #lisp 2014-10-11T17:38:02Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-11T17:38:38Z tadni` joined #lisp 2014-10-11T17:39:06Z hiroakip joined #lisp 2014-10-11T17:39:19Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T17:39:38Z lmj` joined #lisp 2014-10-11T17:40:22Z tali713 joined #lisp 2014-10-11T17:42:13Z lmj`: Is there a cross-platform library that wraps sb-ext:defglobal and ccl:defglobal? I'm about to submit one to quicklisp, unless one already exists. 2014-10-11T17:42:20Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T17:43:47Z nalssee joined #lisp 2014-10-11T17:44:27Z Ven joined #lisp 2014-10-11T17:45:01Z Ven quit (Client Quit) 2014-10-11T17:46:21Z TDog quit (Ping timeout: 260 seconds) 2014-10-11T17:48:08Z mishoo quit (Ping timeout: 260 seconds) 2014-10-11T17:51:15Z cneira quit (Ping timeout: 258 seconds) 2014-10-11T17:52:28Z lmj`: OK I've submitted https://github.com/lmj/defglobal to quicklisp. I'm surprised this doesn't already exist, which is why I'm asking here. 2014-10-11T17:52:50Z defaultxr joined #lisp 2014-10-11T17:54:11Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T17:58:16Z c107 joined #lisp 2014-10-11T18:00:20Z loke_ quit (Remote host closed the connection) 2014-10-11T18:02:14Z nalssee joined #lisp 2014-10-11T18:03:58Z Grue`: what's the use case for this? 2014-10-11T18:04:22Z mishoo joined #lisp 2014-10-11T18:06:41Z lmj`: Grue`: for defglobal? Better performance; prevent dynamic binding; avoid confusion across threads. 2014-10-11T18:07:07Z phrk joined #lisp 2014-10-11T18:07:40Z phrk: . 2014-10-11T18:11:55Z Grue`: hmm, maybe I'll use them when I start optimizing my webapp 2014-10-11T18:12:15Z Adlai quit (Ping timeout: 264 seconds) 2014-10-11T18:12:24Z EvW quit (Ping timeout: 260 seconds) 2014-10-11T18:12:41Z Grue`: though it feels like reduced performance on defparameter is the case of insufficiently smart compiler 2014-10-11T18:15:19Z lmj`: Apart from performance, sometimes you just don't want people dynamically binding a variable. 2014-10-11T18:16:35Z ggole: And not needing a unicorn compiler to do well is a good thing. 2014-10-11T18:16:35Z protist quit (Quit: Konversation terminated!) 2014-10-11T18:20:54Z mishoo quit (Ping timeout: 255 seconds) 2014-10-11T18:20:57Z atgreen quit (Remote host closed the connection) 2014-10-11T18:21:44Z rtra quit (Ping timeout: 260 seconds) 2014-10-11T18:23:36Z rtra joined #lisp 2014-10-11T18:23:50Z mishoo joined #lisp 2014-10-11T18:25:11Z Adlai joined #lisp 2014-10-11T18:35:50Z hyukiuyt quit 2014-10-11T18:42:45Z pnpuff joined #lisp 2014-10-11T18:44:00Z pnpuff left #lisp 2014-10-11T18:46:56Z hiroakip quit (Ping timeout: 260 seconds) 2014-10-11T18:47:44Z keen_____ joined #lisp 2014-10-11T18:48:28Z keen____ quit (Ping timeout: 244 seconds) 2014-10-11T18:48:56Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T18:50:15Z robot-beethoven joined #lisp 2014-10-11T18:50:23Z ndrei joined #lisp 2014-10-11T18:54:37Z madrik quit (Quit: sleep) 2014-10-11T18:56:33Z cyc0 joined #lisp 2014-10-11T18:58:51Z hiroakip joined #lisp 2014-10-11T19:02:51Z lmj`: What should the prefix/suffix of a global be? -foo- seems good enough, but -multi-word-names- are maybe not as nice. I've seen **foo** used in SBCL, which seems cumbersome (plus it suggests "more dynamic", whereas a global is the opposite of dynamic). 2014-10-11T19:03:07Z nalssee joined #lisp 2014-10-11T19:04:08Z Adlai: hm. still on that same ssl bug (it's not a showstopper, so it's getting left by the wayside...) 2014-10-11T19:04:44Z xmav joined #lisp 2014-10-11T19:04:53Z Adlai: all signs point to it being between the cloudflarelike server, and the exchange server. https://incapsula.zendesk.com/hc/en-us/articles/200627480-Your-site-is-unreachable-via-Incapsula 2014-10-11T19:04:59Z xmav left #lisp 2014-10-11T19:07:35Z cyc0 quit (Ping timeout: 244 seconds) 2014-10-11T19:09:40Z munksgaard joined #lisp 2014-10-11T19:11:29Z nipra joined #lisp 2014-10-11T19:13:53Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T19:14:05Z lmj` quit (Quit: Lost terminal) 2014-10-11T19:18:02Z munksgaard quit (Ping timeout: 255 seconds) 2014-10-11T19:22:52Z nalssee joined #lisp 2014-10-11T19:23:43Z Nizumzen joined #lisp 2014-10-11T19:29:08Z attila_lendvai joined #lisp 2014-10-11T19:29:10Z attila_lendvai quit (Changing host) 2014-10-11T19:29:10Z attila_lendvai joined #lisp 2014-10-11T19:29:57Z starless joined #lisp 2014-10-11T19:34:02Z hardenedapple joined #lisp 2014-10-11T19:37:05Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T19:38:28Z nalssee joined #lisp 2014-10-11T19:39:40Z starless quit (Quit: Leaving) 2014-10-11T19:40:18Z nug700 joined #lisp 2014-10-11T19:46:28Z mutley89 joined #lisp 2014-10-11T19:46:34Z jplankton joined #lisp 2014-10-11T19:52:08Z jgoss quit (Quit: jgoss) 2014-10-11T19:53:33Z urandom__ joined #lisp 2014-10-11T19:54:36Z rtra quit (Ping timeout: 260 seconds) 2014-10-11T19:55:09Z Beetny joined #lisp 2014-10-11T19:57:14Z rtra joined #lisp 2014-10-11T19:59:41Z oleo__ joined #lisp 2014-10-11T19:59:56Z oleo is now known as Guest72639 2014-10-11T20:00:30Z mrSpec joined #lisp 2014-10-11T20:01:56Z Guest72639 quit (Ping timeout: 250 seconds) 2014-10-11T20:02:07Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-11T20:03:07Z Shinmera joined #lisp 2014-10-11T20:05:19Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-11T20:05:36Z oleo__ quit (Quit: Verlassend) 2014-10-11T20:06:03Z oleo__ joined #lisp 2014-10-11T20:06:15Z oleo__ quit (Read error: Connection reset by peer) 2014-10-11T20:06:34Z oudeis joined #lisp 2014-10-11T20:07:20Z Posterdati: hi 2014-10-11T20:08:14Z oleo joined #lisp 2014-10-11T20:08:27Z ndrei quit (Ping timeout: 255 seconds) 2014-10-11T20:09:24Z Krystof joined #lisp 2014-10-11T20:10:04Z ndrei joined #lisp 2014-10-11T20:12:17Z Posterdati: I've got problem to install quicklisp on older cmucl 18e: Unknown keyword: :BINARY-STREAM-P 2014-10-11T20:18:40Z martinjungblut quit (Quit: Leaving.) 2014-10-11T20:45:59Z mishoo quit (Read error: Connection reset by peer) 2014-10-11T20:46:15Z backupthrick quit (Remote host closed the connection) 2014-10-11T20:46:51Z mishoo joined #lisp 2014-10-11T20:47:26Z ggole quit 2014-10-11T20:47:47Z Ven joined #lisp 2014-10-11T20:51:33Z beach quit (Quit: #lisp) 2014-10-11T20:55:02Z corni joined #lisp 2014-10-11T20:55:20Z Hache_ joined #lisp 2014-10-11T21:00:07Z nell joined #lisp 2014-10-11T21:02:29Z AntiSpamMeta quit (Quit: Automatic restart triggered due to persistent lag. Freenode staff: If this is happening too frequently, please set a nickserv freeze on my account, and once my connection is stable, unfreeze the account and /kill me to trigger a reconnect.) 2014-10-11T21:04:08Z hiroakip quit (Ping timeout: 260 seconds) 2014-10-11T21:05:32Z AntiSpamMeta joined #lisp 2014-10-11T21:07:40Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-10-11T21:07:52Z AntiSpamMeta joined #lisp 2014-10-11T21:08:40Z ndrei quit (Ping timeout: 258 seconds) 2014-10-11T21:09:40Z MutSbeta joined #lisp 2014-10-11T21:09:55Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-10-11T21:10:09Z AntiSpamMeta joined #lisp 2014-10-11T21:13:07Z backupthrick joined #lisp 2014-10-11T21:17:16Z bcoburn: I have a little 32bit rotate function (http://paste.lisp.org/display/144008) that appears to be dropping the left 16 bits of the int argument. any ideas why/how to figure out why/how to fix? 2014-10-11T21:17:27Z phao: Hi. If I have a variable l being a list 1,2,3,4. After calling nreverse on l, it it guaranteed that (car l) will be 4? 2014-10-11T21:17:46Z phao: Or I should set the result of nreverse back to l with setf for that to be the case? 2014-10-11T21:17:54Z phao: should I* 2014-10-11T21:18:14Z Grue`: you should setf 2014-10-11T21:18:21Z Grue`: its not guaranteed 2014-10-11T21:18:26Z phao: I see. 2014-10-11T21:18:42Z Grue`: but it worked on CLISP last time I made that mistake 2014-10-11T21:20:10Z phao: Grue`, Sure. I just saw that it works in CLISP. 2014-10-11T21:20:22Z phao: I'm asking because I was implementing nreverse as an exercise and I was curious. 2014-10-11T21:20:53Z Grue`: well it doesnt work in SBCL so... 2014-10-11T21:20:54Z Bike: " For nreverse, sequence might be destroyed and re-used to produce the result." 2014-10-11T21:21:04Z Bike: keyword "might", and no definition of the destruction 2014-10-11T21:21:10Z Bike: (contrasting with, say, nconc) 2014-10-11T21:21:29Z phao: Ok. 2014-10-11T21:21:55Z phao: It's an interesting exercise implementing it mimicking CLISP's behavior anyway =) 2014-10-11T21:22:06Z phao: I'll leave it as a comment for the future me that it's not needed. 2014-10-11T21:22:20Z normanrichards quit (Ping timeout: 260 seconds) 2014-10-11T21:23:52Z heurist quit (Ping timeout: 240 seconds) 2014-10-11T21:24:28Z heurist joined #lisp 2014-10-11T21:24:41Z tim23 quit (Ping timeout: 260 seconds) 2014-10-11T21:24:52Z Krystof quit (Ping timeout: 240 seconds) 2014-10-11T21:29:36Z gravicappa quit (Ping timeout: 246 seconds) 2014-10-11T21:32:01Z tadni` quit (Remote host closed the connection) 2014-10-11T21:32:51Z mrSpec quit (Quit: mrSpec) 2014-10-11T21:35:36Z phao: Are there books on compiler programming that use common lisp (or scheme)? 2014-10-11T21:35:52Z phao: There is one by Daniel Friedman it seems... 2014-10-11T21:36:55Z Krystof joined #lisp 2014-10-11T21:37:52Z PuercoPop: phao: Lisp in Small Pieces 2014-10-11T21:38:03Z phao: ok.. 2014-10-11T21:39:27Z segmond quit (Ping timeout: 245 seconds) 2014-10-11T21:42:02Z oudeis quit (Quit: This computer has gone to sleep) 2014-10-11T21:43:10Z bcoburn: (it turns out I had the int and count arguments switched, oops) 2014-10-11T21:43:29Z _tca: phao: the best sources are papers and the friedman one, essentials of programming languages is .... essential 2014-10-11T21:45:08Z _tca: phao: and anytime someone makes a recommendation make sure to ask them if they've gone through it before taking it seriously otherwise you will end up in a hole filled with snake oil 2014-10-11T21:45:20Z phao: hehehehe 2014-10-11T21:45:20Z phao: =D 2014-10-11T21:46:45Z drewc quit (Ping timeout: 246 seconds) 2014-10-11T21:50:11Z xkfngs joined #lisp 2014-10-11T21:53:14Z segmond joined #lisp 2014-10-11T21:54:52Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-11T21:55:16Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-11T21:57:56Z pjb: minion: memo for lmj`: the point of defglobal is to make a lexical variable, and the point of lexical variables, is not to need a namespace convention to be usable safely. 2014-10-11T21:57:57Z minion: Remembered. I'll tell lmj` when he/she/it next speaks. 2014-10-11T21:59:01Z pjb: Posterdati: That's why new versions of cmucl have been created: to provide the features required by asdf and quicklisp :-) 2014-10-11T21:59:26Z ivan4th joined #lisp 2014-10-11T22:00:33Z Posterdati: ok 2014-10-11T22:02:13Z pjb: phao: clisp feature is even discutable. It's newbie "friendly", but it lets them write non-conforming code for a longer time. The instructor is not bothered by a ton of newbie questions early. But maintainers might be overloaded. Only teachers could tell us if it's a good feature or not. For professional programmers, it doesn't sound good. 2014-10-11T22:03:01Z pjb: phao: Ask beach, he's planing to write a book on CL compiler programming ;-) 2014-10-11T22:06:37Z phao: ok =) thanks 2014-10-11T22:06:52Z phao: Btw, why are you talking about instructors and teachers? 2014-10-11T22:07:36Z aldo quit (Ping timeout: 260 seconds) 2014-10-11T22:11:25Z mishoo quit (Ping timeout: 260 seconds) 2014-10-11T22:13:43Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T22:13:56Z Ven joined #lisp 2014-10-11T22:15:43Z pjb: phao: because the behavior of #+clisp nreverse is newbie friendly. 2014-10-11T22:18:52Z matko joined #lisp 2014-10-11T22:19:41Z phao: I see 2014-10-11T22:24:00Z matko quit (Read error: Connection reset by peer) 2014-10-11T22:24:38Z matko joined #lisp 2014-10-11T22:25:24Z erikc joined #lisp 2014-10-11T22:26:17Z xkfngs quit (Quit: Bye) 2014-10-11T22:26:32Z drewc joined #lisp 2014-10-11T22:31:04Z Redz joined #lisp 2014-10-11T22:31:31Z nell quit (Quit: WeeChat 1.1-dev) 2014-10-11T22:33:20Z jgoss joined #lisp 2014-10-11T22:33:26Z ack006 joined #lisp 2014-10-11T22:36:12Z jgoss quit (Changing host) 2014-10-11T22:36:13Z jgoss joined #lisp 2014-10-11T22:37:15Z ee_cc_ joined #lisp 2014-10-11T22:42:32Z tadni` joined #lisp 2014-10-11T22:44:32Z jgoss quit (Quit: jgoss) 2014-10-11T22:47:41Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-11T22:47:45Z corni quit (Ping timeout: 260 seconds) 2014-10-11T22:54:57Z svetlyak40wt joined #lisp 2014-10-11T22:57:52Z freaksken quit (Ping timeout: 250 seconds) 2014-10-11T22:58:19Z matko quit (Remote host closed the connection) 2014-10-11T22:58:30Z matko joined #lisp 2014-10-11T23:00:58Z vaporatorius quit (Remote host closed the connection) 2014-10-11T23:01:43Z jgoss joined #lisp 2014-10-11T23:03:25Z svetlyak40wt quit (Ping timeout: 255 seconds) 2014-10-11T23:06:27Z effy quit (Read error: Connection reset by peer) 2014-10-11T23:07:44Z effy joined #lisp 2014-10-11T23:09:14Z urandom__ quit (Quit: Konversation terminated!) 2014-10-11T23:13:12Z sivoais quit (Ping timeout: 245 seconds) 2014-10-11T23:14:55Z sivoais joined #lisp 2014-10-11T23:21:23Z jgoss quit (Quit: jgoss) 2014-10-11T23:23:58Z jgoss joined #lisp 2014-10-11T23:25:54Z nell joined #lisp 2014-10-11T23:26:20Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-11T23:31:41Z jgoss quit (Quit: jgoss) 2014-10-11T23:32:30Z vlnx quit (Read error: Connection reset by peer) 2014-10-11T23:33:56Z vlnx joined #lisp 2014-10-11T23:44:05Z chu joined #lisp 2014-10-11T23:44:09Z chu quit (Changing host) 2014-10-11T23:44:09Z chu joined #lisp 2014-10-11T23:51:03Z ee_cc_ quit (Quit: ee_cc_) 2014-10-11T23:53:07Z ndrei joined #lisp 2014-10-11T23:53:07Z attila_lendvai quit (Quit: Leaving.) 2014-10-11T23:54:02Z orthecreedence joined #lisp 2014-10-11T23:55:08Z orthecreedence: hi, i'm trying to convert an app from libevent to libuv, but getting hung up on something. libevent lets you create a stream (bufferevent) around an existing file descriptor. is there a way to do this in libuv? 2014-10-11T23:55:23Z orthecreedence: damnit, wrong channel 2014-10-11T23:55:25Z orthecreedence: sorry 2014-10-11T23:56:34Z c107 quit (Ping timeout: 258 seconds) 2014-10-11T23:56:39Z vinleod joined #lisp 2014-10-11T23:58:03Z arpunk quit (Remote host closed the connection)