2014-11-30T00:00:09Z Guest14316 quit (Ping timeout: 244 seconds) 2014-11-30T00:00:21Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:00:28Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T00:04:28Z xrash joined #lisp 2014-11-30T00:05:17Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:08:29Z xrash joined #lisp 2014-11-30T00:09:05Z ekinmur joined #lisp 2014-11-30T00:10:25Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:11:20Z jumblerg joined #lisp 2014-11-30T00:11:42Z Vutral joined #lisp 2014-11-30T00:14:28Z xrash joined #lisp 2014-11-30T00:15:27Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:17:10Z ekinmur quit (Quit: no longer available) 2014-11-30T00:17:25Z alexey1 joined #lisp 2014-11-30T00:18:28Z xrash joined #lisp 2014-11-30T00:19:01Z Natch quit (Ping timeout: 255 seconds) 2014-11-30T00:19:40Z Natch joined #lisp 2014-11-30T00:20:03Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:22:02Z alexey1 quit (Ping timeout: 258 seconds) 2014-11-30T00:22:38Z xrash joined #lisp 2014-11-30T00:24:54Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:27:57Z vsync_ is now known as vsync 2014-11-30T00:28:56Z xrash joined #lisp 2014-11-30T00:29:21Z milesrout joined #lisp 2014-11-30T00:31:15Z juiko quit (Read error: Connection reset by peer) 2014-11-30T00:31:49Z corni joined #lisp 2014-11-30T00:36:53Z dagnachew joined #lisp 2014-11-30T00:37:02Z ehu joined #lisp 2014-11-30T00:41:22Z ehu quit (Ping timeout: 240 seconds) 2014-11-30T00:41:31Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:41:38Z lavokad quit (Ping timeout: 256 seconds) 2014-11-30T00:44:56Z xrash joined #lisp 2014-11-30T00:45:33Z vaporatorius quit (Remote host closed the connection) 2014-11-30T00:46:03Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2014-11-30T00:46:40Z ananda left #lisp 2014-11-30T00:48:47Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:50:28Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-11-30T00:52:57Z xrash joined #lisp 2014-11-30T00:56:54Z __prefect joined #lisp 2014-11-30T00:58:17Z xrash quit (Read error: Connection reset by peer) 2014-11-30T00:59:54Z nha_ quit (Ping timeout: 265 seconds) 2014-11-30T01:01:04Z xrash joined #lisp 2014-11-30T01:03:10Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:07:04Z xrash joined #lisp 2014-11-30T01:07:52Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:12:03Z xrash joined #lisp 2014-11-30T01:12:29Z hitecnologys quit (Ping timeout: 244 seconds) 2014-11-30T01:12:40Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:14:21Z hitecnologys joined #lisp 2014-11-30T01:17:17Z heddwch quit (Ping timeout: 240 seconds) 2014-11-30T01:18:19Z xrash joined #lisp 2014-11-30T01:21:12Z k-dawg joined #lisp 2014-11-30T01:29:32Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:32:19Z xrash joined #lisp 2014-11-30T01:33:57Z goldenlight quit (Quit: Lost terminal) 2014-11-30T01:41:34Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:43:08Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-30T01:44:24Z xrash joined #lisp 2014-11-30T01:45:06Z gingerale quit (Ping timeout: 256 seconds) 2014-11-30T01:45:33Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:48:24Z xrash joined #lisp 2014-11-30T01:49:03Z xrash quit (Read error: Connection reset by peer) 2014-11-30T01:49:09Z tcr quit (Quit: Leaving.) 2014-11-30T01:52:23Z xrash joined #lisp 2014-11-30T01:54:34Z tkhoa2711 joined #lisp 2014-11-30T02:00:16Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:01:35Z zyaku joined #lisp 2014-11-30T02:01:56Z zyaku quit (Client Quit) 2014-11-30T02:04:23Z xrash joined #lisp 2014-11-30T02:06:18Z Petit_Dejeuner_ quit (Ping timeout: 258 seconds) 2014-11-30T02:07:22Z BitPuffin quit (Ping timeout: 240 seconds) 2014-11-30T02:07:32Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:08:03Z corni quit (Ping timeout: 265 seconds) 2014-11-30T02:08:21Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T02:10:05Z wasamasa quit (Ping timeout: 264 seconds) 2014-11-30T02:10:06Z l3thal quit (Ping timeout: 264 seconds) 2014-11-30T02:10:32Z xrash joined #lisp 2014-11-30T02:12:24Z l3thal joined #lisp 2014-11-30T02:12:35Z wasamasa joined #lisp 2014-11-30T02:12:53Z Petit_Dejeuner_ joined #lisp 2014-11-30T02:15:17Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:17:25Z Petit_Dejeuner_ quit (Ping timeout: 258 seconds) 2014-11-30T02:18:19Z alexey1 joined #lisp 2014-11-30T02:18:22Z Karl_Dscc joined #lisp 2014-11-30T02:18:39Z xrash joined #lisp 2014-11-30T02:20:03Z Petit_Dejeuner_ joined #lisp 2014-11-30T02:22:45Z alexey1 quit (Ping timeout: 244 seconds) 2014-11-30T02:28:29Z blahzik quit (Quit: blahzik) 2014-11-30T02:29:57Z Vutral quit (Ping timeout: 240 seconds) 2014-11-30T02:30:42Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:34:47Z xrash joined #lisp 2014-11-30T02:35:14Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:35:36Z madmalik quit (Quit: Connection closed for inactivity) 2014-11-30T02:38:42Z jumblerg joined #lisp 2014-11-30T02:38:48Z xrash joined #lisp 2014-11-30T02:39:53Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:41:18Z davazp quit (Remote host closed the connection) 2014-11-30T02:42:45Z xrash joined #lisp 2014-11-30T02:44:46Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:45:46Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T02:48:46Z xrash joined #lisp 2014-11-30T02:49:27Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:50:39Z innertracks quit (Quit: innertracks) 2014-11-30T02:53:24Z xrash joined #lisp 2014-11-30T02:54:13Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:56:24Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T02:57:28Z xrash joined #lisp 2014-11-30T02:59:08Z xrash quit (Read error: Connection reset by peer) 2014-11-30T02:59:10Z zRecursive joined #lisp 2014-11-30T02:59:28Z jumblerg joined #lisp 2014-11-30T03:00:31Z karswell quit (Read error: Connection reset by peer) 2014-11-30T03:01:41Z xrash joined #lisp 2014-11-30T03:02:03Z xrash quit (Read error: Connection reset by peer) 2014-11-30T03:02:08Z karswell joined #lisp 2014-11-30T03:02:13Z Vutral joined #lisp 2014-11-30T03:03:17Z tkhoa2711 joined #lisp 2014-11-30T03:05:38Z xrash joined #lisp 2014-11-30T03:08:26Z innertracks joined #lisp 2014-11-30T03:14:02Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T03:18:12Z xrash quit (Read error: Connection reset by peer) 2014-11-30T03:18:44Z chu joined #lisp 2014-11-30T03:20:17Z Vutral quit (Ping timeout: 245 seconds) 2014-11-30T03:21:14Z ekinmur joined #lisp 2014-11-30T03:21:58Z xrash joined #lisp 2014-11-30T03:22:59Z xrash quit (Read error: Connection reset by peer) 2014-11-30T03:25:53Z ekinmur quit (Client Quit) 2014-11-30T03:26:33Z xrash joined #lisp 2014-11-30T03:27:48Z xrash quit (Read error: Connection reset by peer) 2014-11-30T03:34:00Z Vutral joined #lisp 2014-11-30T03:34:20Z munksgaard joined #lisp 2014-11-30T03:37:44Z beach joined #lisp 2014-11-30T03:37:53Z beach: Good morning everyone! 2014-11-30T03:39:11Z beach: rtoym: How would you implement per-thread special-variable bindings using shallow binding? I know what I suggested to Dan Barlow for SBCL some 14 years ago, but I am curious as to what you would do. 2014-11-30T03:39:19Z beach: |3b|: Same question for you. 2014-11-30T03:39:40Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T03:41:36Z karswell quit (Read error: Connection reset by peer) 2014-11-30T03:42:20Z innertracks quit (Quit: innertracks) 2014-11-30T03:45:24Z karswell joined #lisp 2014-11-30T03:48:04Z ekinmur joined #lisp 2014-11-30T03:49:05Z Karl_Dscc quit (Remote host closed the connection) 2014-11-30T03:52:47Z tkhoa2711 joined #lisp 2014-11-30T03:52:51Z jewel quit (Ping timeout: 272 seconds) 2014-11-30T04:02:54Z ekinmur quit (Quit: no longer available) 2014-11-30T04:07:56Z heddwch joined #lisp 2014-11-30T04:10:34Z jumblerg joined #lisp 2014-11-30T04:11:18Z ekinmur joined #lisp 2014-11-30T04:13:21Z ananda joined #lisp 2014-11-30T04:14:45Z median joined #lisp 2014-11-30T04:19:06Z alexey1 joined #lisp 2014-11-30T04:19:37Z oleo__ joined #lisp 2014-11-30T04:20:09Z oleo is now known as Guest25969 2014-11-30T04:20:51Z Guest25969 quit (Ping timeout: 258 seconds) 2014-11-30T04:22:10Z heddwch quit (Quit: ZNC - http://znc.in) 2014-11-30T04:23:53Z alexey1 quit (Ping timeout: 272 seconds) 2014-11-30T04:24:30Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-30T04:26:31Z heddwch joined #lisp 2014-11-30T04:27:23Z median left #lisp 2014-11-30T04:28:05Z heddwch quit (Client Quit) 2014-11-30T04:28:20Z Bike joined #lisp 2014-11-30T04:32:08Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T04:33:36Z heddwch joined #lisp 2014-11-30T04:35:23Z pjb: beach: To deal with: "The value 234 is not of type LIST.", the debugger would have to need the data flow, for example, as a path of variables and expressions (up to a certain number of parameters or to global variables). What this means is that there is not a simple to improve drastically this error message. 2014-11-30T04:35:25Z henesy quit (Ping timeout: 258 seconds) 2014-11-30T04:36:01Z pjb: beach: granted, it could at least say what parameter or variable is bound to 234 (but it would probably be a parameter in a deep internal functions, probably not even written in lisp). 2014-11-30T04:36:08Z heddwch quit (Client Quit) 2014-11-30T04:37:06Z pjb: beach: when I say, "not simple", I mean in an implementation like sbcl that optimizes run-time. Of course, if a lot of debugging information is kept (eg. with (safety 0) (debug 3)), the it becomes much easier. 2014-11-30T04:37:27Z Bike: yeah, when i get errors like that it's usually like, a call to cl:find in sb-int::%%DESTROY-SECONDARY-CHEVRON, even knowing the function wouldn't help much 2014-11-30T04:38:05Z cpc26_ joined #lisp 2014-11-30T04:38:30Z cpc26 quit (Ping timeout: 256 seconds) 2014-11-30T04:39:11Z pjb: For this, you'd need to keep track only of functions that belong to a public API. 2014-11-30T04:40:05Z Grue` quit (Ping timeout: 264 seconds) 2014-11-30T04:40:30Z heddwch joined #lisp 2014-11-30T04:41:47Z heddwch quit (Client Quit) 2014-11-30T04:45:50Z beach: I had an idea for SICL to signal more specific conditions that contain the function that detects the error. This could work also when the function is inlined. 2014-11-30T04:46:09Z pjb: having the backtrace in the error conditions is helpful. 2014-11-30T04:46:09Z beach: Contains the NAME of the function that detects the error. 2014-11-30T04:46:54Z beach: But it places restrictions on how system code calls other system code. 2014-11-30T04:47:12Z Bike: i wonder how sensible it would be to have the backtrace be part of the condition 2014-11-30T04:47:16Z beach: It is not helpful if the user called (say) FIND and get an error message about CAR. 2014-11-30T04:47:24Z pjb: Bike: it helps. 2014-11-30T04:47:38Z Grue` joined #lisp 2014-11-30T04:47:39Z Bike: I don't remember how trivial backtrace works, so 2014-11-30T04:47:41Z henesy joined #lisp 2014-11-30T04:47:52Z pjb: calls implementation specific functions. 2014-11-30T04:48:09Z Bike: no, i mean, i forget if you can just throw it a condition and it gives you the backtrace for it. 2014-11-30T04:48:25Z pjb: I guess backtraces can be built from environments (the chain of embedded lexical environments). 2014-11-30T04:49:03Z MoALTz_ joined #lisp 2014-11-30T04:49:03Z pjb: No, usually you call a function that returns the backtrace (as a list of opaque objects or an opaque object). 2014-11-30T04:49:52Z Bike: and those have to be called from the right dynamic place, an error handler or something? 2014-11-30T04:49:56Z Bike: cliki being messed up is so inconvenient 2014-11-30T04:50:26Z pjb: Yes. 2014-11-30T04:50:44Z pjb: It could be more meaningful to call it from a handler-bind handler than a handler-case. 2014-11-30T04:51:59Z ekinmur quit (Quit: no longer available) 2014-11-30T04:52:26Z ekinmur joined #lisp 2014-11-30T04:52:51Z ekinmur quit (Client Quit) 2014-11-30T04:52:52Z MoALTz quit (Ping timeout: 265 seconds) 2014-11-30T04:53:17Z beach: I have no good solution (yet), but finding a solution to this problem is essential to improving the debugging experience in my opinion. 2014-11-30T04:54:04Z pjb: My opinion is that the code generated with (debug 3) (safety 3) shall not be the same as when generated with (debug 0) (safety 0). 2014-11-30T04:54:32Z pjb: (debug 3) (safety 3) (speed 0) (space 0) can generate code that does a lot more than the user's algorithm. 2014-11-30T04:54:41Z beach: That would be fine. 2014-11-30T04:55:17Z pjb: up to eg. a time travelling debugginer. 2014-11-30T04:56:19Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T04:56:38Z beach: It would have to work even when some code is compiled with different OPTIMIZE settings. 2014-11-30T04:56:43Z munksgaard quit (Ping timeout: 244 seconds) 2014-11-30T04:56:51Z jumblerg joined #lisp 2014-11-30T04:56:59Z pjb: That's true. 2014-11-30T04:57:43Z pjb: That means it would have to use heap based meta-data or separate stacks. 2014-11-30T04:58:04Z beach: I take your word for it. I haven't thought about it too hard. 2014-11-30T04:58:24Z beach: If you have given it more thought, how about writing up some specification? 2014-11-30T04:58:47Z pjb: The point is that the mindset in generating the code for (debug 3) is totally different than for (speed 3) :-) 2014-11-30T04:59:56Z beach: Sure, but making that point is not going to be enough to improve the debugging experience. I already put (speed 0) (debug 3) (safety 3) in my .sbclrc, and the debugging experience is still far from ideal. 2014-11-30T05:00:23Z xrash joined #lisp 2014-11-30T05:00:28Z pjb: sbcl developpers have (speed 3) hardwired in their brains. 2014-11-30T05:01:00Z beach: There could be some truth to that. But I am writing SICL, so I can do it differently. 2014-11-30T05:01:11Z pjb: hopefully :-) 2014-11-30T05:01:13Z beach: ... which is why I am urging you to write a specification if you have given it some thought. 2014-11-30T05:01:46Z pjb: Yes, I could extract some specifications from my cl-stepper. 2014-11-30T05:02:13Z beach: Great. I would like to see something like that. Then we can discuss around it here. 2014-11-30T05:02:42Z rtoym: beach: I haven't the foggiest idea how to do special vars with threads. 2014-11-30T05:03:37Z beach: rtoym: Oh, I thought since you had opinions about my method, you must know a better one. 2014-11-30T05:03:57Z beach: rtoym: Or perhaps you were assuming single-threading? 2014-11-30T05:05:10Z rtoym: beach: I was just commenting that maxima has tons of special vars, so anything that makes access slow would slow down maxima. 2014-11-30T05:05:44Z beach: rtoym: Got it. Thanks. 2014-11-30T05:07:39Z beach: pjb: Under normal circumstances, I would think hard about it for a while and then write a specification myself. But like I said, I am currently busy with other stuff. 2014-11-30T05:09:06Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:12:25Z xrash joined #lisp 2014-11-30T05:12:51Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T05:13:46Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:18:13Z xrash joined #lisp 2014-11-30T05:24:23Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:25:18Z s00pcan quit (Remote host closed the connection) 2014-11-30T05:27:28Z jumblerg joined #lisp 2014-11-30T05:28:11Z xrash joined #lisp 2014-11-30T05:30:23Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:31:13Z cpc26 joined #lisp 2014-11-30T05:32:21Z kanru joined #lisp 2014-11-30T05:32:32Z cpc26_ quit (Ping timeout: 258 seconds) 2014-11-30T05:33:11Z tesuji joined #lisp 2014-11-30T05:33:23Z pjb: rtoym: basically, you can understand the problem of dynamic variable wrt threads, as the notion of inherited classes with slots and slot shadowing. When you create a thread, it's like creating a subclass, with the opportunity of shadowing some slots from the superclass(es). 2014-11-30T05:34:18Z xrash joined #lisp 2014-11-30T05:34:27Z pjb: rtoym: AFAICS, you could just do that, implement all dynamic variables as slots in a dynamic environment class with subclasses when you bind new dynamic variables, and new instances when you fork threads. 2014-11-30T05:35:10Z pjb: (ok the above is a little unclear. You'd have to implement it to make it clear). 2014-11-30T05:35:28Z rtoym: pjb: An interesting approach. 2014-11-30T05:35:33Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:36:24Z pjb: Actually, bordeaux-thread:make-thread allows to create new special variables, so it'd be both a new subclass and a new instance. 2014-11-30T05:36:50Z innertracks joined #lisp 2014-11-30T05:37:13Z karswell quit (Remote host closed the connection) 2014-11-30T05:39:20Z xrash joined #lisp 2014-11-30T05:39:22Z kanru quit (Remote host closed the connection) 2014-11-30T05:39:43Z xrash quit (Read error: Connection reset by peer) 2014-11-30T05:40:11Z kanru joined #lisp 2014-11-30T05:41:16Z alchemis7 quit (Quit: @) 2014-11-30T05:41:17Z pjb: beach: also, ISTM there are a lot of dynamic variables hidden in various macros. They don't always appear as global variables as such. 2014-11-30T05:42:12Z alchemis7 joined #lisp 2014-11-30T05:45:40Z blahzik joined #lisp 2014-11-30T05:51:34Z impulse quit (Ping timeout: 255 seconds) 2014-11-30T05:52:53Z beach: pjb: Your description of the problem is interesting, but I need to know what the algorithm would be in the case of shallow binding. Otherwise I can't compare solutions. 2014-11-30T05:52:59Z karswell joined #lisp 2014-11-30T05:53:31Z beach: Again, I (still, roughly) know what I suggested to Dan Barlow for SBCL, but I am interested in hearing other people's ideas. 2014-11-30T05:53:52Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T05:55:43Z isoraqathedh quit (Quit: No Ping reply in 180 seconds.) 2014-11-30T05:59:15Z xrash joined #lisp 2014-11-30T06:01:15Z beach: ... and I might implement something like that for SICL if it turns out that deep binding is too slow. Only benchmarking the code can determine that. 2014-11-30T06:08:17Z impulse joined #lisp 2014-11-30T06:11:24Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:13:11Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-30T06:15:12Z xrash joined #lisp 2014-11-30T06:15:18Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:17:24Z milosn joined #lisp 2014-11-30T06:19:21Z xrash joined #lisp 2014-11-30T06:19:57Z alexey1 joined #lisp 2014-11-30T06:23:21Z jewel joined #lisp 2014-11-30T06:24:33Z alexey1 quit (Ping timeout: 244 seconds) 2014-11-30T06:27:17Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:31:20Z xrash joined #lisp 2014-11-30T06:32:21Z beach: Speaking of benchmarking, what would be a rough estimate on the cost of calling GET-INTERNAL-RUN-TIME? Does it involve a system call? 2014-11-30T06:34:45Z milesrout: TIME IT AND FIND OUT 2014-11-30T06:34:47Z milesrout: (joke) 2014-11-30T06:35:02Z beach: Thanks! :) 2014-11-30T06:35:11Z beach: I suppose that could be done. 2014-11-30T06:35:22Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:35:29Z blahzik quit (Quit: blahzik) 2014-11-30T06:35:37Z jleija joined #lisp 2014-11-30T06:35:42Z milesrout: i was joking. how do you time a timing function? 2014-11-30T06:35:57Z beach: By calling it several times inside timing it. 2014-11-30T06:36:08Z Bike: most timing functions try to account for overhead anyway. 2014-11-30T06:36:43Z beach: Bike: My intention is to leave permanent meters in the system. 2014-11-30T06:36:57Z beach: But I won't do that if they take too much time from the normal runtime of the system. 2014-11-30T06:37:26Z jumblerg joined #lisp 2014-11-30T06:38:14Z rtra quit (Ping timeout: 265 seconds) 2014-11-30T06:38:18Z Bike: well, looks like sbcl calls getrusage for g-i-r-t (on unix), so there's that. 2014-11-30T06:38:23Z blahzik joined #lisp 2014-11-30T06:38:47Z k-dawg quit (Quit: This computer has gone to sleep) 2014-11-30T06:39:25Z Bike: and on win32 it's GetProcessTimes. 2014-11-30T06:39:32Z xrash joined #lisp 2014-11-30T06:39:37Z beach: Is getrusage a system call, or does it make one? 2014-11-30T06:40:04Z Bike: make one what? 2014-11-30T06:40:04Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:40:21Z beach: system call. 2014-11-30T06:40:21Z Bike: the actual thing it calls is sb_getrusage, but i imagine that's a wrapper around posix 2014-11-30T06:41:07Z beach: I still don't know whether getting runtime generally involves a system call, or whether perhaps on modern processors the runtime is contained in a register. 2014-11-30T06:41:49Z Bike: like rdtsc? i think sbcl uses that for something else 2014-11-30T06:42:38Z Bike: wow. int sb_getrusage(int who, struct rusage *rusage) { return getrusage(who, rusage); } 2014-11-30T06:43:07Z rtra joined #lisp 2014-11-30T06:43:47Z xrash joined #lisp 2014-11-30T06:43:48Z k-dawg joined #lisp 2014-11-30T06:44:04Z jleija quit (Quit: leaving) 2014-11-30T06:44:41Z Bike: oh, it uses rdtsc to count cycles for cl:time. 2014-11-30T06:45:07Z beach: What is rdtsc? 2014-11-30T06:45:23Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:45:24Z Bike: an x86 instruction that puts a cycle count in a reg. 2014-11-30T06:45:52Z beach: Thanks. 2014-11-30T06:46:04Z Kanae joined #lisp 2014-11-30T06:46:14Z Bike: so, no syscall. actually the comments around sbcl's use mention that, but also that you can't use a cycle count for timing without knowing processor specifics, so yeah. 2014-11-30T06:47:08Z beach: Great. 2014-11-30T06:47:52Z xrash joined #lisp 2014-11-30T06:50:44Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:53:55Z xrash joined #lisp 2014-11-30T06:54:22Z boogie joined #lisp 2014-11-30T06:56:05Z xrash quit (Read error: Connection reset by peer) 2014-11-30T06:57:59Z zRecursive quit (Remote host closed the connection) 2014-11-30T06:59:52Z xrash joined #lisp 2014-11-30T07:00:35Z xrash quit (Read error: Connection reset by peer) 2014-11-30T07:01:29Z beach: (time (loop repeat 1000000 sum (get-internal-run-time))) gives 0.3 seconds on my machine. 2014-11-30T07:02:11Z beach: There might be a function call in there. 2014-11-30T07:02:42Z Bike: on sbcl? 2014-11-30T07:02:44Z beach: ... and some LOOP overhead and arithmetic. 2014-11-30T07:02:46Z beach: Yes. 2014-11-30T07:02:54Z Bike: there is, it calls getrusage. 2014-11-30T07:03:18Z tesuji quit (Ping timeout: 244 seconds) 2014-11-30T07:03:53Z xrash joined #lisp 2014-11-30T07:06:16Z Kanae is now known as d 2014-11-30T07:06:20Z d is now known as alonevpk 2014-11-30T07:06:53Z tkhoa2711 joined #lisp 2014-11-30T07:10:15Z xrash quit (Read error: Connection reset by peer) 2014-11-30T07:11:40Z blahzik quit (Quit: blahzik) 2014-11-30T07:18:16Z beach: So it could be made much faster if the function were inlined and all it did was to read off a register? 2014-11-30T07:18:28Z bgs100 quit (Quit: bgs100) 2014-11-30T07:19:49Z blahzik joined #lisp 2014-11-30T07:20:29Z Bike: getrusage is a syscall 2014-11-30T07:21:19Z beach: OK, but I mean get-internal-run-time could be made to read the register, and it could be inlined? Or am I missing something? 2014-11-30T07:21:44Z beach: Is there something about the contents of that register that does not satisfy the requirements for get-internal-run-time? 2014-11-30T07:22:01Z Bike: well, zero starts when the processor turns on, rather than when lisp turns on. i guess. 2014-11-30T07:22:17Z beach: That's fine. 2014-11-30T07:22:37Z beach: Just have to take a snapshot when Lisp starts and subtract. 2014-11-30T07:22:39Z Bike: i don't think there's a constant cycles-to-time on x86, might be it 2014-11-30T07:23:43Z beach: I think I know what I'll do for SICL. I won't use GET-INTERNAL-RUN-TIME. Instead I will just read that register. It will give some indication of how long things take and that will be good enough. 2014-11-30T07:26:34Z beach: ... for the SICL meters, I mean. 2014-11-30T07:26:43Z Bike: right. 2014-11-30T07:27:38Z Bike: presumably sbcl doesn't take a snap at startup since it only uses it for TIME anyway. you could do that too. 2014-11-30T07:32:34Z beach: True. 2014-11-30T07:35:13Z joneshf-laptop quit (Read error: Connection reset by peer) 2014-11-30T07:35:23Z joneshf-laptop joined #lisp 2014-11-30T07:38:32Z boogie quit (Remote host closed the connection) 2014-11-30T07:39:22Z kanru quit (Ping timeout: 240 seconds) 2014-11-30T07:41:32Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T07:42:06Z Krystof quit (Ping timeout: 258 seconds) 2014-11-30T07:42:14Z maksalra joined #lisp 2014-11-30T07:42:22Z maksalra: hi guys anyone heard of typing.io? 2014-11-30T07:42:23Z brucem: beach: see the "Use" section of http://en.wikipedia.org/wiki/Time_Stamp_Counter ... there can be a lot of issues with using rdtsc directly depending on what you're doing and need. 2014-11-30T07:42:36Z maksalra: it's a touch type web app for programmers 2014-11-30T07:42:47Z maksalra: i was wondering if there was a free alternative 2014-11-30T07:43:27Z brucem: beach: although I think that's improved over the years and it isn't as bad as it used to be ... 2014-11-30T07:44:42Z beach: brucem: I see. Thanks. For the purpose of meters, it will be good enough. And it is important that it be fast, because otherwise, it would prevent me from putting in meters in a lot of places. 2014-11-30T07:45:35Z beach: maksalra: That would be off topic in this channel. 2014-11-30T07:45:51Z maksalra: ok i am parting now 2014-11-30T07:46:03Z maksalra: i was hoping you guys use something similar to that program 2014-11-30T07:46:06Z maksalra: for practice 2014-11-30T07:46:10Z maksalra left #lisp 2014-11-30T07:46:33Z meiji11 quit (Remote host closed the connection) 2014-11-30T07:52:10Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T08:05:24Z Shinmera joined #lisp 2014-11-30T08:07:37Z Shinmera: Bike: Have a look at dissect, which implements stack frame inspection (currently only on CCL and SBCL) https://github.com/Shinmera/dissect 2014-11-30T08:09:44Z Bike: nice. 2014-11-30T08:11:22Z blahzik quit (Quit: blahzik) 2014-11-30T08:15:08Z oudeis joined #lisp 2014-11-30T08:20:55Z alexey1 joined #lisp 2014-11-30T08:25:11Z gingerale joined #lisp 2014-11-30T08:25:41Z alexey1 quit (Ping timeout: 264 seconds) 2014-11-30T08:27:59Z Krystof joined #lisp 2014-11-30T08:31:21Z resttime quit (Quit: resttime) 2014-11-30T08:36:45Z madmalik joined #lisp 2014-11-30T08:43:23Z innertracks quit (Quit: innertracks) 2014-11-30T08:44:55Z beach: What be good directories to put the LAMBDA macro and the SETF macro? 2014-11-30T08:45:11Z Patzy quit (Quit: leaving) 2014-11-30T08:45:21Z Patzy joined #lisp 2014-11-30T08:45:23Z beach: I guess I could create directories called Evaluation-and-compilation, and Data-and-control-flow, to match chapters in the Common Lisp HyperSpec. 2014-11-30T08:48:32Z Bike: i'm guessing they're both short? unless you mean putting all the setf machinery in there too. 2014-11-30T08:48:43Z nydel quit (Remote host closed the connection) 2014-11-30T08:48:45Z beach: They are short. 2014-11-30T08:49:30Z beach: The Evaluation-and-compilation directory would mostly be empty, because most of the functions and macros in there I put in the Environment directory. 2014-11-30T08:50:23Z beach: Not that it matters to have a mostly empty directory. 2014-11-30T08:53:06Z beach: clhs 5.3 2014-11-30T08:53:06Z specbot: The Data and Control Flow Dictionary: http://www.lispworks.com/reference/HyperSpec/Body/c_data_a.htm 2014-11-30T08:53:31Z beach: ^ Notice that SETQ is a "Special FORM". 2014-11-30T08:53:39Z beach: ?? 2014-11-30T08:54:02Z Shinmera: I'm guessing for optimisation reasons 2014-11-30T08:54:24Z Bike: i think beach means that it's a "special form" rather than a "special operator". 2014-11-30T08:54:28Z Bike: which i'm gonna say is a typo. 2014-11-30T08:54:29Z beach: Shinmera: It should be a special OPERATOR. 2014-11-30T08:54:33Z Shinmera: Ah, right. 2014-11-30T08:56:01Z Bike: return, defvar, defparameter, funcall, nil, t, not, identity, complement, constantly, all probably have pretty close to oneliner definitions 2014-11-30T08:56:02Z kapil__ joined #lisp 2014-11-30T08:56:15Z Poenikatu joined #lisp 2014-11-30T08:56:31Z beach: Yeah. 2014-11-30T08:57:00Z beach: I think I will create those directories. It makes sense to put the corresponding definitions there. 2014-11-30T08:58:34Z Poenikatu quit (Client Quit) 2014-11-30T09:00:07Z pt1 joined #lisp 2014-11-30T09:00:25Z _d3f joined #lisp 2014-11-30T09:00:41Z stacksmith quit (Ping timeout: 258 seconds) 2014-11-30T09:00:58Z stacksmith joined #lisp 2014-11-30T09:05:39Z protist joined #lisp 2014-11-30T09:07:32Z milosn quit (Remote host closed the connection) 2014-11-30T09:08:20Z alexey1 joined #lisp 2014-11-30T09:14:29Z cpc26 quit (Read error: Connection reset by peer) 2014-11-30T09:21:26Z cpc26 joined #lisp 2014-11-30T09:24:30Z k-stz joined #lisp 2014-11-30T09:29:50Z tcr joined #lisp 2014-11-30T09:37:32Z MrWoohoo joined #lisp 2014-11-30T09:41:11Z milosn joined #lisp 2014-11-30T09:47:00Z vaporatorius joined #lisp 2014-11-30T09:52:12Z beach: Now that I think about it, I should turn my protocol for first-class global environments into a CDR. 2014-11-30T09:52:52Z rick-monster joined #lisp 2014-11-30T09:54:00Z defaultxr quit (Quit: gnight) 2014-11-30T10:00:15Z cibs quit (Ping timeout: 272 seconds) 2014-11-30T10:01:00Z cibs joined #lisp 2014-11-30T10:02:24Z alexey1 quit (Remote host closed the connection) 2014-11-30T10:06:44Z Lowl3v3l joined #lisp 2014-11-30T10:08:34Z momo-reina joined #lisp 2014-11-30T10:11:28Z hardenedapple joined #lisp 2014-11-30T10:11:39Z cibs quit (Ping timeout: 272 seconds) 2014-11-30T10:11:58Z Longlius quit (Remote host closed the connection) 2014-11-30T10:13:58Z Longlius joined #lisp 2014-11-30T10:14:39Z Poenikatu joined #lisp 2014-11-30T10:14:39Z Poenikatu quit (Changing host) 2014-11-30T10:14:39Z Poenikatu joined #lisp 2014-11-30T10:15:23Z chu joined #lisp 2014-11-30T10:18:22Z cibs joined #lisp 2014-11-30T10:18:53Z momo-reina quit (Ping timeout: 258 seconds) 2014-11-30T10:20:47Z kcj quit (Read error: Connection reset by peer) 2014-11-30T10:24:16Z schaueho joined #lisp 2014-11-30T10:32:40Z pt1 quit (Remote host closed the connection) 2014-11-30T10:33:27Z schaueho quit (Ping timeout: 258 seconds) 2014-11-30T10:37:08Z munksgaard joined #lisp 2014-11-30T10:41:25Z mathrick quit (Ping timeout: 265 seconds) 2014-11-30T10:42:07Z chu quit (Remote host closed the connection) 2014-11-30T10:45:36Z ehu joined #lisp 2014-11-30T10:47:22Z munksgaard quit (Ping timeout: 245 seconds) 2014-11-30T10:47:43Z Karl_Dscc joined #lisp 2014-11-30T10:48:22Z munksgaard joined #lisp 2014-11-30T10:48:56Z MoALTz_ quit (Quit: Leaving) 2014-11-30T10:50:26Z Lowl3v3l quit (Quit: Leaving) 2014-11-30T10:56:49Z CrazyWoods joined #lisp 2014-11-30T11:03:59Z BitPuffin joined #lisp 2014-11-30T11:04:05Z corni joined #lisp 2014-11-30T11:04:05Z corni quit (Changing host) 2014-11-30T11:04:05Z corni joined #lisp 2014-11-30T11:08:47Z vmw joined #lisp 2014-11-30T11:13:50Z tcr quit (Quit: Leaving.) 2014-11-30T11:15:36Z madmalik quit (Quit: Connection closed for inactivity) 2014-11-30T11:21:11Z tesuji joined #lisp 2014-11-30T11:24:45Z matko joined #lisp 2014-11-30T11:25:10Z isoraqathedh joined #lisp 2014-11-30T11:27:12Z MoALTz joined #lisp 2014-11-30T11:29:57Z scymtym_ joined #lisp 2014-11-30T11:35:56Z sword quit (Read error: No route to host) 2014-11-30T11:37:09Z ggole joined #lisp 2014-11-30T11:40:19Z a20141130 joined #lisp 2014-11-30T11:40:42Z Grue` quit (Ping timeout: 245 seconds) 2014-11-30T11:41:06Z tcr joined #lisp 2014-11-30T11:41:09Z Grue` joined #lisp 2014-11-30T11:44:40Z a20141130 quit (Ping timeout: 246 seconds) 2014-11-30T11:46:20Z tkhoa2711 joined #lisp 2014-11-30T11:48:35Z Beetny quit (Ping timeout: 258 seconds) 2014-11-30T11:52:42Z isoraqathedh quit (Remote host closed the connection) 2014-11-30T11:55:49Z hiroaki joined #lisp 2014-11-30T11:56:04Z edgar-rft quit (Quit: existence corrupted because all hope lost) 2014-11-30T11:59:37Z isoraqathedh joined #lisp 2014-11-30T12:01:11Z chu joined #lisp 2014-11-30T12:03:11Z alexey1 joined #lisp 2014-11-30T12:07:45Z alexey1 quit (Ping timeout: 258 seconds) 2014-11-30T12:11:52Z hiroaki quit (Ping timeout: 240 seconds) 2014-11-30T12:16:22Z munksgaard quit (Ping timeout: 256 seconds) 2014-11-30T12:22:10Z attila_lendvai quit (Quit: Leaving.) 2014-11-30T12:26:37Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T12:26:59Z huza joined #lisp 2014-11-30T12:35:13Z stepnem joined #lisp 2014-11-30T12:35:17Z Jesin quit (Quit: Leaving) 2014-11-30T12:35:51Z fantazo joined #lisp 2014-11-30T12:36:14Z oleo__ is now known as oleo 2014-11-30T12:38:33Z ehu_ joined #lisp 2014-11-30T12:40:17Z ehu quit (Ping timeout: 245 seconds) 2014-11-30T12:46:41Z vlnx quit (Remote host closed the connection) 2014-11-30T12:52:31Z jusss joined #lisp 2014-11-30T12:55:41Z Xach: Hmm, it seems like released hunchentoot does not work with released usocket. 2014-11-30T12:56:19Z cpc26_ joined #lisp 2014-11-30T12:57:12Z cpc26 quit (Read error: Connection reset by peer) 2014-11-30T12:57:43Z hiroaki joined #lisp 2014-11-30T12:57:59Z Xach: H4ns: what usocket code introduces usocket:vector-to-ipv6-host? 2014-11-30T12:58:08Z Xach: Is it in usocket in git? 2014-11-30T12:58:28Z schaueho joined #lisp 2014-11-30T12:59:35Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-30T12:59:56Z Xach: Or a local fork or something? 2014-11-30T13:03:03Z beach: drmeister: Around? 2014-11-30T13:06:05Z jusss quit (Remote host closed the connection) 2014-11-30T13:07:06Z Xach: h4ns: anyway, hunchentoot doesn't build for me and it is a bloodbath: http://report.quicklisp.org/2014-11-30-hunchentoot/failure-report.html 2014-11-30T13:07:37Z jusss joined #lisp 2014-11-30T13:08:39Z tkhoa2711 joined #lisp 2014-11-30T13:13:31Z Grue`: on my old usocket, there's no such symbol 2014-11-30T13:13:47Z Grue`: and there's no reference to usocket:vector-to-ipv6-host in my old hunchentoot\ 2014-11-30T13:14:44Z harish quit (Ping timeout: 256 seconds) 2014-11-30T13:14:52Z Xach: hunchentoot 1.2.28 references it 2014-11-30T13:14:59Z Xach: i can't find the symbol in usocket git 2014-11-30T13:15:02Z Xach checks branches 2014-11-30T13:15:52Z Xach: ahhhh, it's in https://github.com/usocket/usocket/tree/ipv6 2014-11-30T13:15:52Z Grue`: maybe its some ipv6-supporting version 2014-11-30T13:16:05Z Grue`: right, mystery solved 2014-11-30T13:16:10Z jusss quit (Remote host closed the connection) 2014-11-30T13:16:31Z goldenlight joined #lisp 2014-11-30T13:17:04Z jusss joined #lisp 2014-11-30T13:17:08Z oleo quit (Quit: Verlassend) 2014-11-30T13:17:56Z goldenlight quit (Client Quit) 2014-11-30T13:18:29Z harish joined #lisp 2014-11-30T13:19:45Z xach quit (Input/output error) 2014-11-30T13:27:06Z jusss quit (Remote host closed the connection) 2014-11-30T13:27:20Z jusss` joined #lisp 2014-11-30T13:32:24Z jusss` quit (Remote host closed the connection) 2014-11-30T13:33:02Z jusss` joined #lisp 2014-11-30T13:34:38Z keen____ joined #lisp 2014-11-30T13:35:54Z BitPuffin quit (Ping timeout: 250 seconds) 2014-11-30T13:35:55Z keen___ quit (Ping timeout: 258 seconds) 2014-11-30T13:37:35Z schaueho quit (Ping timeout: 252 seconds) 2014-11-30T13:37:57Z goldenlight joined #lisp 2014-11-30T13:38:21Z ehu_ is now known as ehu 2014-11-30T13:39:50Z goldenlight quit (Client Quit) 2014-11-30T13:42:53Z jusss`` joined #lisp 2014-11-30T13:44:53Z huza quit (Ping timeout: 264 seconds) 2014-11-30T13:46:55Z jusss` quit (Ping timeout: 272 seconds) 2014-11-30T13:48:57Z hiroaki quit (Ping timeout: 240 seconds) 2014-11-30T13:49:46Z goldenlight joined #lisp 2014-11-30T13:50:29Z dfox quit (Ping timeout: 258 seconds) 2014-11-30T13:56:37Z CrazyWoods quit (Ping timeout: 265 seconds) 2014-11-30T13:57:27Z jusss`` quit (Remote host closed the connection) 2014-11-30T13:58:22Z Ethan- quit (Ping timeout: 240 seconds) 2014-11-30T13:58:37Z fikusz quit (Quit: Leaving) 2014-11-30T13:59:13Z fikusz joined #lisp 2014-11-30T13:59:28Z milosn quit (Quit: Lost terminal) 2014-11-30T13:59:42Z Ethan- joined #lisp 2014-11-30T13:59:44Z dfox joined #lisp 2014-11-30T14:01:08Z hugoduncan is now known as hugod 2014-11-30T14:01:18Z chu joined #lisp 2014-11-30T14:04:03Z alexey1 joined #lisp 2014-11-30T14:07:29Z CrazyWoods joined #lisp 2014-11-30T14:08:34Z alexey1 quit (Ping timeout: 256 seconds) 2014-11-30T14:11:24Z dfox quit (Ping timeout: 256 seconds) 2014-11-30T14:13:23Z Shinmera is doing exciting things with Quicklisp/Quickdist http://shinmera.tymoon.eu/public/screenshot-2014.11.30-15:13:07.png 2014-11-30T14:18:02Z dfox joined #lisp 2014-11-30T14:21:44Z Xach: sweet 2014-11-30T14:21:45Z yeticry quit (Ping timeout: 272 seconds) 2014-11-30T14:22:28Z yeticry joined #lisp 2014-11-30T14:22:40Z Shinmera: I think this way I can offer a tiny loader "lib" through regular quicklisp that will install my specific dist with more frequent/unstable updates. 2014-11-30T14:24:22Z Xach: Shinmera: Could you also just instruct on how to use (ql:install-dist ...)? 2014-11-30T14:24:30Z Xach: hmm, that's not it 2014-11-30T14:24:33Z Xach: I guess you can't! 2014-11-30T14:25:00Z Shinmera: Well there's (ql-dist:install-dist ..), yes 2014-11-30T14:27:03Z Shinmera: By the way, a quick question regarding versions: Regular quicklisp uses a YYYYMMDD format. Can it be something else as well and if so, how does quicklisp compute precedence? 2014-11-30T14:29:05Z goldenlight quit (Quit: leaving) 2014-11-30T14:29:51Z Xach: It can be an arbitrary string. Precedence is computed by a "preference" value, which defaults to zero unless explicitly set right now. 2014-11-30T14:29:58Z milesrout quit (Ping timeout: 258 seconds) 2014-11-30T14:30:05Z Shinmera: Alright. 2014-11-30T14:30:06Z Xach: My original intent was for the preference to be the universal-time of installation by default. 2014-11-30T14:30:32Z Xach: There has been so little activity around dists that I haven't put that into place. 2014-11-30T14:30:39Z atgreen quit (Remote host closed the connection) 2014-11-30T14:30:57Z Davidbrcz joined #lisp 2014-11-30T14:30:58Z Xach: I would like to do it, still, unless something else seems better. 2014-11-30T14:31:05Z Shinmera: I think I'm going to use a YYYY.MM.DD-hh:mm:ss-GMT version stamp then. 2014-11-30T14:34:16Z Shinmera: I have two ideas in mind that would make good use of the quicklisp dist system (this being one of them) 2014-11-30T14:35:00Z Shinmera: The other idea is to develop a system that employs ASDF to build external libraries, so that regular CL libraries that require such can depend on an asdf system that will automatically ensure the C/C++/whatnot lib is built and available. 2014-11-30T14:35:03Z nirved joined #lisp 2014-11-30T14:35:23Z Shinmera: I was intending on using a separate dist for such build-instruction systems. 2014-11-30T14:36:00Z Xach: What sort of external libraries? 2014-11-30T14:36:34Z Shinmera: libsqlite, libsmokeqt, to name two that I myself would like to have easily available on user's systems. 2014-11-30T14:37:00Z Shinmera: Basically anything non-lisp that is used through FFI or similar. 2014-11-30T14:37:31Z Shinmera: (or actually you could use the system to build lisp implementations, too) 2014-11-30T14:37:33Z leo2007 joined #lisp 2014-11-30T14:39:47Z protist quit (Quit: Konversation terminated!) 2014-11-30T14:40:49Z pavelpenev joined #lisp 2014-11-30T14:42:39Z CrazyEddy quit (Ping timeout: 272 seconds) 2014-11-30T14:44:45Z oleo joined #lisp 2014-11-30T14:44:52Z Shinmera: But either way, that idea's far in the back, so it'll be a while before I get to it. 2014-11-30T14:50:45Z rick-monster quit (Ping timeout: 265 seconds) 2014-11-30T14:54:30Z cpc26_ quit (Remote host closed the connection) 2014-11-30T14:55:06Z cpc26 joined #lisp 2014-11-30T14:55:37Z _5kg quit (Ping timeout: 255 seconds) 2014-11-30T14:55:47Z cpc26_ joined #lisp 2014-11-30T14:58:26Z jlarocco joined #lisp 2014-11-30T14:58:37Z CrazyWoods quit (Ping timeout: 245 seconds) 2014-11-30T14:59:29Z cpc26 quit (Ping timeout: 258 seconds) 2014-11-30T14:59:44Z CrazyWoods joined #lisp 2014-11-30T15:00:43Z Shinmera: Xach: Hm. It seems quicklisp doesn't process dists that use an https url at all. 2014-11-30T15:01:05Z Shinmera: Xach: Or rather, when trying to install a dist that does it fails to the point of not even being able to use ql-dist:uninstall 2014-11-30T15:01:33Z LiamH joined #lisp 2014-11-30T15:01:44Z dim: Shinmera: my current understanding is that a good way to provide for FFI dependencies is building a docker image 2014-11-30T15:02:05Z dim: I think I'm going to study this in details for pgloader 2014-11-30T15:02:49Z Shinmera: dim: Ah, I hadn't heard of that before. 2014-11-30T15:03:13Z dim: I mean docker as in https://www.docker.com/ 2014-11-30T15:03:18Z Shinmera: Yes, I found that. 2014-11-30T15:03:52Z Shinmera: Still, having it all managed through quicklisp would make it even easier for CL users :) 2014-11-30T15:04:16Z dim: docker seems to be save-lisp-and-die for the whole stack, including kernel and libc and libs 2014-11-30T15:04:24Z Shinmera: Xach: It seems you have a fixed "http://" string in one of your url parse functions 2014-11-30T15:04:36Z Shinmera: dim: yeah 2014-11-30T15:04:55Z aleamb quit (Quit: Exiting...) 2014-11-30T15:04:57Z Shinmera: Which is a bit of overkill 2014-11-30T15:04:57Z dim: well my target here is pgloader users who can't seem to be able to build the damn thing on their platform, or see installing SBCL as a breach of their production servers, or something 2014-11-30T15:05:12Z Shinmera: The system I had in mind would account for the OS package manager (if it can) as well 2014-11-30T15:05:30Z Shinmera: So if possible it would employ the OS's packages to install and manage things and only build from source if it doesn't know better. 2014-11-30T15:05:47Z dim: there are so many OS package managers around... I found it's best to make it easy for OS packager teams to deal with making per-OS proper packages 2014-11-30T15:05:55Z kurakot quit (Ping timeout: 246 seconds) 2014-11-30T15:06:33Z Shinmera: Right, but that's super slow and annoying. 2014-11-30T15:06:44Z Shinmera: Also sometimes not possible for "the small man" 2014-11-30T15:06:45Z dim: I had pgloader packages for FreeBSD, OpenBSD, NetBSD, debian, RedHat and more and had only worked on the debian one, back in python days ; I'm trying to have that again in my lisp days 2014-11-30T15:07:15Z dim: if you have a good way to solve that problem from the REPL I'm all for it and will try it ;-) 2014-11-30T15:07:55Z Shinmera: Well it's just a bunch of uncollected solutions and ideas here and there at the moment. It's a project I very much want to attempt, but I'm well aware of its scale, so it'll be in the back for probably quite some time. 2014-11-30T15:11:25Z kapil__ quit (Quit: Connection closed for inactivity) 2014-11-30T15:12:40Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-30T15:13:10Z Lowl3v3l joined #lisp 2014-11-30T15:19:09Z Ethan- quit (Ping timeout: 252 seconds) 2014-11-30T15:19:21Z wglb quit (Remote host closed the connection) 2014-11-30T15:19:27Z madmalik joined #lisp 2014-11-30T15:19:56Z tcr: Hi guys. Does Ryan Pavlik frequent this channel? 2014-11-30T15:20:23Z wglb joined #lisp 2014-11-30T15:24:36Z k-dawg quit (Quit: This computer has gone to sleep) 2014-11-30T15:27:37Z mishoo joined #lisp 2014-11-30T15:33:23Z selat joined #lisp 2014-11-30T15:38:34Z pgomes joined #lisp 2014-11-30T15:39:02Z mrSpec joined #lisp 2014-11-30T15:39:18Z _5kg joined #lisp 2014-11-30T15:40:52Z radioninja joined #lisp 2014-11-30T15:42:02Z Grue` quit (Ping timeout: 244 seconds) 2014-11-30T15:43:26Z BitPuffin joined #lisp 2014-11-30T15:44:20Z |3b|: tcr: i think that may be oGMo 2014-11-30T15:44:55Z chu joined #lisp 2014-11-30T15:46:07Z alonevpk is now known as Kanae 2014-11-30T15:46:12Z |3b|: beach: haven't thought about it, so would probably just copy sbcl to start (compile-time allocated indices into a fixed size per-thread buffer from what i understand), possibly trying to avoid the 'fixed size' bit 2014-11-30T15:49:45Z Grue` joined #lisp 2014-11-30T15:50:30Z thepreacher joined #lisp 2014-11-30T15:50:47Z thepreacher quit (Remote host closed the connection) 2014-11-30T15:51:16Z EvW joined #lisp 2014-11-30T15:52:59Z pt1 joined #lisp 2014-11-30T16:05:07Z alexey1 joined #lisp 2014-11-30T16:06:35Z Xach: Shinmera: quicklisp does not support https. 2014-11-30T16:06:58Z Xach: It's not just a matter of parsing. There's no easy way to make the connection on most Lisps. 2014-11-30T16:07:22Z mathrick joined #lisp 2014-11-30T16:08:04Z Shinmera: Ah, right. 2014-11-30T16:08:11Z Shinmera: I forgot about that part :( 2014-11-30T16:08:26Z Xach: I'd like to make it possible (if not completely easy) to support it with an add-on after installation. 2014-11-30T16:08:30Z dim watching Quicklisp hard at work in a docker session 2014-11-30T16:09:17Z alexey1 quit (Ping timeout: 240 seconds) 2014-11-30T16:09:30Z Xach: That would involve changing cl-http to something like cl-fetch and making it much more extensible. 2014-11-30T16:09:40Z Xach: ql-http, ql-fetch, rather 2014-11-30T16:10:23Z beach: |3b|: That's pretty much what I suggested to Dan Barlow. 2014-11-30T16:11:17Z kub4 quit (Ping timeout: 240 seconds) 2014-11-30T16:11:27Z Xach: tcr: I don't think so. 2014-11-30T16:11:31Z Xach: tcr: neither does tcr! 2014-11-30T16:15:35Z theseb joined #lisp 2014-11-30T16:15:52Z theseb: what is "sequential execution"..i read that earliest lisps didn't have that 2014-11-30T16:15:55Z theseb: ? 2014-11-30T16:16:22Z H4ns: Xach: sorry for the bad release 2014-11-30T16:16:23Z djangojames joined #lisp 2014-11-30T16:16:31Z H4ns: Xach: 1.2.29 is out now. 2014-11-30T16:16:59Z Xach: H4ns: no problem. looking forward to the glorius ipv6 future! 2014-11-30T16:17:03Z beach: theseb: I am guessing they are referring to constructs such as PROGN. 2014-11-30T16:17:48Z theseb: beach: progn looks like another word for begin 2014-11-30T16:18:06Z H4ns: Xach: 1.2.29 has the ipv6 feature just disabled for now to allow you making progress with quicklisp. i'll probably come up with something better, but not now. 2014-11-30T16:18:08Z theseb: beach: basically allows you to pack N sexprs into 1 2014-11-30T16:18:09Z beach: theseb: No. BEGIN is not a Common Lisp construct. PROGN is. 2014-11-30T16:18:18Z arademaker joined #lisp 2014-11-30T16:18:57Z arademaker: how to write a macro that expand to data like '(or A B)? 2014-11-30T16:18:58Z theseb: beach: i can do a poor man's progn this way.... ( (lambda (a b c d) nil) sexp1 sexp2 sexp3 sexp4) 2014-11-30T16:19:24Z theseb: beach: so it would *seem* progn is not vital..however..i got stuck trying to write a macro that allows arbitrary number of args 2014-11-30T16:19:24Z Xach: theseb: a very poor man's 2014-11-30T16:19:33Z dim: why is the default SBCL binary compiled without core compression support? 2014-11-30T16:19:57Z Xach: dim: i don't know the 100% real answer, but i suspect because it relies on an external library that might not be present 2014-11-30T16:19:59Z theseb: Xach: it is equivalent no? 2014-11-30T16:20:09Z beach: theseb: What is it you are trying to accomplish here? Getting a list of non-vital constructs? 2014-11-30T16:20:11Z Xach: theseb: No. 2014-11-30T16:20:25Z Shinmera: dim: It requires zlib, iirc 2014-11-30T16:20:26Z theseb: beach: yes 2014-11-30T16:20:29Z dim: Xach: I think it uses libz yes, but well, everybody has that I would think 2014-11-30T16:20:35Z CrazyEddy joined #lisp 2014-11-30T16:20:42Z beach: theseb: And what's the purpose of that? 2014-11-30T16:20:42Z Shinmera: Windows world is a different question 2014-11-30T16:20:44Z theseb: beach: just out of curiosity..seeing what forms are vital and which are not 2014-11-30T16:20:56Z theseb: beach: so that i can see how simple a lisp implementation can be 2014-11-30T16:21:28Z Xach: dim: Someone recently suggested a small compression system to be built in to the SBCL runtime. It's a little worse than zlib in some respect but always available. 2014-11-30T16:21:44Z |3b|: theseb: look into the lambda calculus, and things like church numerals 2014-11-30T16:21:53Z theseb: |3b|: i know about that 2014-11-30T16:22:04Z theseb: Xach: how it is not equivalent?...except for fixed number of args? 2014-11-30T16:22:07Z |3b|: theseb: you don't /need/ much of anything, and there isn't a single 'primitive' subset of CL 2014-11-30T16:22:17Z theseb: |3b|: yes i know 2014-11-30T16:22:21Z |3b|: you can build almost any of it from other parts 2014-11-30T16:22:35Z djangojames: Does anyone know if the optimization warning I get under SBCL can be fixed or suppressed? http://pastebin.com/Zhm5rtQL 2014-11-30T16:22:40Z Xach: theseb: It does not follow the semantics of progn. 2014-11-30T16:23:13Z |3b|: then if you want actual CL, you need to look at the semantics more closely. PROGN returns multiple values, function application discards them 2014-11-30T16:23:36Z theseb: Xach: so the answer they aren't the same is that they aren't the same? k..thanks :) 2014-11-30T16:23:44Z theseb: as to* 2014-11-30T16:23:47Z theseb: as to why* 2014-11-30T16:23:49Z Lowl3v3l quit (Ping timeout: 258 seconds) 2014-11-30T16:24:01Z theseb: Xach: you just answered my question with the original statement 2014-11-30T16:24:22Z Xach: theseb: That is because I'm tired of your style of questioning: writing something grossly false and irrelevant and asking for corrections. 2014-11-30T16:24:38Z theseb: i'm a newb i admit it 2014-11-30T16:24:38Z beach: theseb: It is beginning to look to me like you are just in it in order to be argumentative. |3b| just have you are more precise indication. 2014-11-30T16:24:42Z Xach: theseb: You can learn the semantics of progn in common lisp by visiting http://l1sp.org/cl/progn 2014-11-30T16:25:46Z theseb: beach: not trying to be argumentative...sorry if seemed that way 2014-11-30T16:26:03Z Shinmera: I don't see how trying to remove everything "superfluous" from CL still counts as being CL relevant. 2014-11-30T16:26:16Z Lowl3v3l joined #lisp 2014-11-30T16:27:07Z Shinmera: Because at that point you're talking general lisp, aka: not the topic of this channel 2014-11-30T16:27:24Z theseb: Shinmera: yes 2014-11-30T16:27:35Z Shinmera: theseb: then ask somewhere where it is the topic, like ##lisp 2014-11-30T16:29:30Z ivan4th: is there any cross-implementation stack trace introspection library 2014-11-30T16:29:30Z ivan4th: besides trivial-backtrace and swank internals? trivial-backtrace 2014-11-30T16:29:30Z ivan4th: seems to be somewhat incomplete (it exports map-backtrace but 2014-11-30T16:29:30Z ivan4th: doesn't export frame stuff) 2014-11-30T16:29:41Z Shinmera: ivan4th: dissect 2014-11-30T16:29:50Z tcr left #lisp 2014-11-30T16:29:52Z ivan4th: thanks 2014-11-30T16:29:54Z Shinmera: ivan4th: Though it's currently only "cross implementation" for CCL and SBCL 2014-11-30T16:30:07Z Shinmera: ivan4th: I have to get back on writing the impl specific parts for more. 2014-11-30T16:30:57Z Shinmera: ivan4th: Is there any specific implementation besides those two that you need? (So that I could focus on getting to that earlier) 2014-11-30T16:31:08Z Shinmera: *sooner 2014-11-30T16:32:07Z Xach: djangojames: what output? 2014-11-30T16:32:07Z ivan4th: it's related to some possible improvements of 'blackbird' promise library (formely cl-async-future), see here https://github.com/orthecreedence/blackbird/issues/2 2014-11-30T16:32:46Z ivan4th: debugging promise chains sucks... I think it would be nice to be able to save backtraces when attaching promise callbacks 2014-11-30T16:33:05Z Shinmera: ivan4th: Right. dissect should allow you to do that easily enough 2014-11-30T16:33:47Z Shinmera: ivan4th: http://shinmera.github.io/dissect/ for the docs 2014-11-30T16:34:03Z ivan4th: that's great, thank you! 2014-11-30T16:34:25Z djangojames: it doesn't like the mod, "unable to recode as leas, shifts etc" because type is unsigned-byte 64 rather than fixnum 2014-11-30T16:34:28Z Shinmera: would be great to have an implementation user statistic so I could know which ones are more urgent than others. 2014-11-30T16:34:42Z tcr joined #lisp 2014-11-30T16:39:22Z Xach: djangojames: can you paste the actual note? 2014-11-30T16:39:54Z hitecnologys: ASDF complains that (:file "foo") is bad dependency. How can I find out the reason? 2014-11-30T16:40:41Z Xach: hitecnologys: paste your system definition, paste the error you get, ask for help 2014-11-30T16:41:56Z bgs100 joined #lisp 2014-11-30T16:42:01Z hitecnologys: Ah, sorry for bothering, never mind. I've confused :depends-on with :components. 2014-11-30T16:42:40Z Xach: glad to help 2014-11-30T16:44:55Z djangojames: http://pastebin.com/gpxjYsUY 2014-11-30T16:47:24Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-30T16:53:14Z theos quit (Disconnected by services) 2014-11-30T16:53:41Z theos joined #lisp 2014-11-30T17:01:59Z Davidbrcz quit (Ping timeout: 245 seconds) 2014-11-30T17:03:25Z xristos quit (Ping timeout: 255 seconds) 2014-11-30T17:04:29Z EvW quit (Remote host closed the connection) 2014-11-30T17:04:39Z EvW joined #lisp 2014-11-30T17:05:50Z xristos joined #lisp 2014-11-30T17:06:09Z xristos is now known as Guest99536 2014-11-30T17:07:01Z jumblerg joined #lisp 2014-11-30T17:07:54Z shka joined #lisp 2014-11-30T17:07:56Z shka: hi 2014-11-30T17:08:07Z shka: there is something silly that i wanted to ask 2014-11-30T17:08:26Z shka: can i somehow use unicode characters for the lisp code? ;] 2014-11-30T17:08:34Z shka: (don't ask why) 2014-11-30T17:08:35Z Bike: sure. 2014-11-30T17:08:46Z Bike: all of the good implementations should support it. 2014-11-30T17:09:04Z _5kg quit (Ping timeout: 245 seconds) 2014-11-30T17:09:08Z oleo__ joined #lisp 2014-11-30T17:09:29Z Xach: shka: yes. you may need to make sure your locale-related environment variables are properly set before starting the implementation. 2014-11-30T17:09:39Z oleo is now known as Guest49800 2014-11-30T17:09:54Z shka: Bike: actually i just typed those into repl and it works 2014-11-30T17:09:59Z shka: heh 2014-11-30T17:10:17Z shka: now i can write the least maintainable code ever! 2014-11-30T17:10:28Z Bike: it'd be pretty weird for a lisp to support unicode in strings but not in symbols, the maintainer'd have to go out of their way to do it. 2014-11-30T17:10:50Z Guest49800 quit (Ping timeout: 250 seconds) 2014-11-30T17:10:50Z shka: thanks for quick answer 2014-11-30T17:10:56Z shka: Xach: than you two 2014-11-30T17:11:00Z shka: *thank 2014-11-30T17:11:57Z pjb: shka: now "support unicode" may be the ambiguous part. 2014-11-30T17:13:13Z Bike: wow, sbcl has a lot more character names than the last time i checked. #\MUSICAL_KEYBOARD is within my grasp 2014-11-30T17:13:18Z pjb: shka: you can expect implementations to be able to transport strings containing unicode code points considered as characters. Some implementations have more advanced unicode support. I'm not sure any CL implementation has full unicode support (eg. does any one provide the UCA?) 2014-11-30T17:13:48Z pjb: Do they provide normalization functions for the various normalized forms? 2014-11-30T17:14:00Z Bike: i wonder if it would even be legal to have string< use uca 2014-11-30T17:14:01Z pjb: What if you string= two strings containing different normalized forms? 2014-11-30T17:14:13Z pjb: Is there a ext:unicode-string= doing it? 2014-11-30T17:14:30Z pjb: Bike: indeed not, but they could support unicode by providing ext:unicode-string< 2014-11-30T17:14:40Z Bike: figured. 2014-11-30T17:15:04Z Bike: really, i guess you could do that as an external library. 2014-11-30T17:15:22Z shka: i made function called λ 2014-11-30T17:15:24Z shka: now 2014-11-30T17:15:30Z shka: this is silly 2014-11-30T17:15:33Z shka: but nerdy 2014-11-30T17:15:59Z pjb: AFAICS, supporting unicode would mean that characters are now made of a variable number of code points! (think combining code points) And therefore char-code-limit would be in the (expt (expt 2 21) 10) or something. 2014-11-30T17:16:25Z Bike: good thing we have bignums 2014-11-30T17:16:30Z pjb: Indeed. 2014-11-30T17:17:16Z tharugrim quit (Ping timeout: 256 seconds) 2014-11-30T17:18:30Z tharugrim joined #lisp 2014-11-30T17:19:08Z Pixel_Outlaw joined #lisp 2014-11-30T17:22:07Z beach: Perhaps Unicode support could be a topic for Common Lisp version 2. 2014-11-30T17:23:55Z Bike: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4210.pdf characters are always a hot topic in other languages 2014-11-30T17:25:00Z Pixel_Outlaw: What's this about Common Lisp version 2? 2014-11-30T17:25:04Z isoraqathedh_l joined #lisp 2014-11-30T17:25:07Z beach: It appears that way, in effect. 2014-11-30T17:25:08Z isoraqathedh quit (Ping timeout: 250 seconds) 2014-11-30T17:25:30Z jumblerg_ joined #lisp 2014-11-30T17:25:33Z |3b|: pjb: i think sbcl has a bunch of that stuff now 2014-11-30T17:25:38Z Pixel_Outlaw: I was under the impression CL's development is pretty much set in stone. 2014-11-30T17:26:23Z beach: Pixel_Outlaw: It is my idea to draft a new standard without including ephemeral stuff like sockets, but instead just basically cleaning up the existing one, fixing mistakes, clearing up more undefined situations. 2014-11-30T17:26:50Z |3b|: sb-unicode:unicode< 2014-11-30T17:26:55Z jumblerg quit (Read error: Connection reset by peer) 2014-11-30T17:27:05Z Bike: finally settling the important question of what prog2 actually does 2014-11-30T17:27:05Z radioninja quit (Remote host closed the connection) 2014-11-30T17:27:09Z beach: Pixel_Outlaw: Since it is just basically a cleanup, no new ANSI committee nor design team is needed. 2014-11-30T17:27:20Z Bike: is that cliki page of typos still up? 2014-11-30T17:27:24Z beach: Bike: Exactly! :) 2014-11-30T17:29:23Z isoraqathedh_l is now known as isoraqathedh 2014-11-30T17:32:56Z oleo__ quit (Quit: Verlassend) 2014-11-30T17:33:33Z oleo__ joined #lisp 2014-11-30T17:33:43Z oleo__ quit (Read error: Connection reset by peer) 2014-11-30T17:34:26Z beach: Pixel_Outlaw: Also, several Common Lisp HyperSpec pages mention the type of some function argument, and then does not say what happens if that type restriction is violated. By default, then, the consequences are undefined. Some of those situations could be improved by requiring that an error be signaled. 2014-11-30T17:34:55Z beach: DO not say 2014-11-30T17:34:58Z oleo__ joined #lisp 2014-11-30T17:35:19Z oleo__ quit (Read error: Connection reset by peer) 2014-11-30T17:35:22Z Bike: i thought that was explained in the general error terminology section... maybe? 2014-11-30T17:35:34Z beach: Yes, it is. 2014-11-30T17:35:39Z beach: And the consequences are undefined. 2014-11-30T17:36:36Z oleo__ joined #lisp 2014-11-30T17:36:53Z innertracks joined #lisp 2014-11-30T17:37:13Z oleo__ quit (Client Quit) 2014-11-30T17:37:43Z beach: clhs 1.4.4.3 2014-11-30T17:37:43Z specbot: The ``Arguments and Values'' Section of a Dictionary Entry: http://www.lispworks.com/reference/HyperSpec/Body/01_ddc.htm 2014-11-30T17:37:54Z Bike: huh. 2014-11-30T17:37:59Z beach: "Except as explicitly specified otherwise, the consequences are undefined if these type restrictions are violated. " 2014-11-30T17:38:17Z Bike: probably should be signals an error in safe code otherwise undefined, i guess 2014-11-30T17:38:31Z beach: Does it say that? 2014-11-30T17:38:39Z Bike: no, i mean in your revision. 2014-11-30T17:38:45Z beach: Yes. 2014-11-30T17:38:49Z beach: Correct. 2014-11-30T17:39:11Z pjb: beach: I think it's mostly done so that (safety 0) can break things like with C compilers. 2014-11-30T17:39:23Z oleo joined #lisp 2014-11-30T17:39:42Z beach: pjb: So we state different things for safety 3. 2014-11-30T17:40:31Z beach: Also, frankly, many of those operators are not performance critical. We could afford to require an error. 2014-11-30T17:40:48Z beach: But I agree it is a good idea to distinguish between safety levels. 2014-11-30T17:40:50Z pjb: Definitely. 2014-11-30T17:41:27Z pjb: And anyways, when you send a sonde in the solar system, or when you're driving a laser at the eyes of people for surgical reasons, you want to run everything with safety 3. 2014-11-30T17:41:34Z beach: There are literally hundreds of those little issues to clean up. Enough to justify a version 2 in my opinion. 2014-11-30T17:41:41Z pjb: I don't understand the fools who run anything in safety 0. 2014-11-30T17:41:52Z djangojames: Xach: http://pastebin.com/gpxjYsUY 2014-11-30T17:42:09Z pjb: I'm of the Meyer and Wirth school, we leave the asserts in in production code! 2014-11-30T17:42:16Z beach: pjb: I do occasionally for single functions where I know it is safe, but I need to convince the compiler that it is. 2014-11-30T17:42:30Z beach: pjb: FFT was one example I think. 2014-11-30T17:42:57Z beach: Only in super-high-performance code though. 2014-11-30T17:43:16Z pjb: Modula-3 had a nice way to declare a module unsafe, where the programmer had to ensure manually those postconditions that weren't checked by the compiler. 2014-11-30T17:43:56Z beach: Pixel_Outlaw: Get the picture? 2014-11-30T17:43:57Z pjb: CL optimize declarations are too easily set globally. 2014-11-30T17:44:46Z ggole: You really need something you can turn off for expensive checks. 2014-11-30T17:44:50Z pavelpenev quit (Ping timeout: 256 seconds) 2014-11-30T17:44:54Z beach: pjb: You need to write those things down somewhere so that we can treat them all once we have set up the infrastructure for Common Lisp version 2. 2014-11-30T17:45:37Z beach: ggole: It doesn't matter whether we need it. Enough people think we do that it has to be included. No need to think further. 2014-11-30T17:46:18Z beach: ggole: You have to be pragmatic about these things, or you will never get a result. 2014-11-30T17:46:21Z shka: common lisp version 2 is a joke? 2014-11-30T17:46:24Z ggole: Mmm. 2014-11-30T17:46:32Z beach: shka: No. I am perfectly serious. 2014-11-30T17:46:51Z shka feels like he is getting trolled 2014-11-30T17:47:04Z Bike: beach is congenitally incapable of that. 2014-11-30T17:47:20Z beach: :) 2014-11-30T17:47:23Z Bike: also "let's fix some typos" would be the most boring troll ever. 2014-11-30T17:48:09Z pjb: This is definitely a process that could occur over the next 20 years. 2014-11-30T17:48:31Z beach: pjb: Exactly. And that would be good enough. 2014-11-30T17:48:53Z pjb: Which for Common Lisp is nothing out of the world, given it's life expectancy. Of course, for perl (already dead), python or ruby (soon dying), it would be ridiculous. 2014-11-30T17:49:00Z beach: pjb: People are perfectly capable of blabbing for 20 years about something like that without doing anything about it. 2014-11-30T17:49:07Z pjb: :-) 2014-11-30T17:49:44Z beach: pjb: I am perfectly serious again. A 20-year perspective is not ridiculous to me. 2014-11-30T17:50:10Z jumblerg_ quit (Ping timeout: 244 seconds) 2014-11-30T17:50:10Z pjb: I'm serious too, I'm betting on CL to be alive in 100 years (unless AI takes over). 2014-11-30T17:50:39Z beach: Think how many typos we can fix in 20 years. 2014-11-30T17:50:40Z frkout_ quit (Ping timeout: 255 seconds) 2014-11-30T17:50:52Z beach: We could even include Unicode in that perspective. 2014-11-30T17:51:11Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-30T17:51:15Z pjb: Perhaps we shoud for Unicode to be finished. They're issuing a new standard every year currently. 2014-11-30T17:51:27Z pjb: s/shoud for/should wait for/ 2014-11-30T17:51:43Z beach: They'll be done before we will. 2014-11-30T17:52:41Z Patzy quit (Read error: Connection reset by peer) 2014-11-30T17:52:53Z Patzy joined #lisp 2014-11-30T17:53:00Z pjb: Well, I'm prepared to see them starting to add extra-terrestrial scripts any minute now (as soon as the memory dump of the crashed flying saucers are put on the Internet) :-) 2014-11-30T17:53:14Z beach: I think we should try it. There is no harm in that. The critical part will be the infrastructure for maintaining the current state of things as well as a trace of the arguments, and the votes. 2014-11-30T17:54:18Z beach: I am not very good with that kind of stuff, so it would be good if someone else would set it up (after discussion). But I would be a frequent contributor, that's for sure. 2014-11-30T17:54:29Z pjb: I think we're in no hurry: 1- few CDR are being written and implemented. 2- we lack libraries of actually concensual code for modules to be standardized (eg. posix, sockets, etc). 2014-11-30T17:55:29Z beach: We are in no hurry, but no progress can be made until the infrastructure is in place. 2014-11-30T17:56:02Z _5kg joined #lisp 2014-11-30T17:56:08Z Bike: wasn't there a github thing fot this? cl21 or something. 2014-11-30T17:56:25Z beach: Bike: That is exactly what we do not want. 2014-11-30T17:56:36Z beach: Syntax changes. 2014-11-30T17:57:25Z beach: We must be way much more conservative than that, or it won't be widely accepted. 2014-11-30T17:58:21Z pjb: Indeed. For one thing the COMMON-LISP package shall remain as is. Anything new will define new packages. 2014-11-30T17:58:37Z beach: Yes, I agree. 2014-11-30T17:58:45Z davazp joined #lisp 2014-11-30T17:59:07Z beach: Again, you must either write these issues down, or create the infrastructure right way, so we won't forget. :) 2014-11-30T17:59:18Z Bike: so, what, mailing list? forum? 2014-11-30T17:59:50Z beach: That's the question. I am not a good person to give the answer. 2014-11-30T18:00:04Z pjb: mailing lists worked fine for this kind of work. 2014-11-30T18:00:24Z rx_ joined #lisp 2014-11-30T18:00:33Z beach: I think #lisp must play a role. It provides quick feedback. 2014-11-30T18:00:35Z pjb: plus the occasional meetings. We have enough conferences each year to attach such meetings to. 2014-11-30T18:00:40Z pjb: Definitely. 2014-11-30T18:01:15Z beach: Sure, if a meeting is required, it could be piggybacked on ELS, ILC, or something else. 2014-11-30T18:01:24Z pjb: So: mail-list + git + irc + conferences. 2014-11-30T18:01:36Z beach: Sounds good to me. 2014-11-30T18:01:48Z milosn joined #lisp 2014-11-30T18:01:58Z beach: There is a big issue about the copyright of the original text though. 2014-11-30T18:02:18Z jlarocco joined #lisp 2014-11-30T18:02:24Z beach: It is possible that we shall have to create new entries for each symbol. 2014-11-30T18:02:39Z pjb: Yes, if we don't want to rewrite everything it will definitely be a derived work. 2014-11-30T18:02:42Z beach: ... without including original text, other than quotations. 2014-11-30T18:02:47Z Bike: we wouldn't be programmers if we weren't used to writing boring things 2014-11-30T18:02:58Z pjb: On the other hand, I'd move for a formal definition of the language, so that would be something entirely new :-) 2014-11-30T18:03:08Z Bike: what kind of semantics? 2014-11-30T18:03:14Z jlarocco left #lisp 2014-11-30T18:03:15Z Bike: i guess an interpreter would be the most lispy. 2014-11-30T18:03:15Z pjb: formal. 2014-11-30T18:03:23Z Bike: well, yes, i mean like denotational or whatever. 2014-11-30T18:03:24Z beach: pjb: I agree, and I know how to write that kind of stuff. 2014-11-30T18:03:31Z pjb: Yes denotational semantics. 2014-11-30T18:03:41Z beach: That's very ambitious. 2014-11-30T18:03:49Z beach: Might not be possible in v 2.0. 2014-11-30T18:04:12Z beach: Good idea though. I like it. 2014-11-30T18:05:05Z Bike: well, you do denotational, i'll do operational, and in twenty years everyone will be confused by which is legit 2014-11-30T18:05:53Z alexey1 joined #lisp 2014-11-30T18:06:08Z shka: http://www.thoughtcrime.us/software/jpl-queues/ 2014-11-30T18:06:16Z shka: anydoby was using this? 2014-11-30T18:06:33Z pjb: J.P.Larocque was. 2014-11-30T18:06:59Z shka: pjb: maybe he only implemented it for others? ;-] 2014-11-30T18:07:16Z beach: I think the main risk with a project like Common Lisp version 2 is to be too ambitious, especially given the very limited personpower we have. 2014-11-30T18:07:44Z pjb: Yes, we should modularize things. 2014-11-30T18:07:45Z nirved quit (Quit: ChatZilla 0.9.91 [Firefox 33.1/20141106120505]) 2014-11-30T18:08:11Z pjb: shka: it says: jpl-queues is used by Calispel. 2014-11-30T18:10:16Z beach: I don't mind creating the infrastructure for Common Lisp version 2, but I don't know how to do it, so someone would have to explain it to me, which would probably make it easier for that person to create it him/herself. 2014-11-30T18:10:20Z beach: Minor issue perhaps: if we must rewrite the entries, what format do we use? 2014-11-30T18:10:23Z alexey1 quit (Ping timeout: 258 seconds) 2014-11-30T18:10:31Z beach: HTML would be a bit painful, but the result would be instantly available. 2014-11-30T18:10:43Z beach: I wouldn't mind so much. 2014-11-30T18:10:45Z Bike: something more machine parseable would be nice 2014-11-30T18:11:00Z beach: I am open to ideas. 2014-11-30T18:11:07Z pjb: beach: I'd say docbook. 2014-11-30T18:11:07Z Bike: at least enough for "oh, here's the exceptions section" 2014-11-30T18:11:14Z beach: Oh, I guess some XML we could agree upon. 2014-11-30T18:11:20Z pjb: I like rst but for big documents, docbook is probably much better. 2014-11-30T18:11:42Z beach: is docbook XML? 2014-11-30T18:11:45Z pjb: Yes. 2014-11-30T18:11:55Z beach: Fine with me then. 2014-11-30T18:12:03Z beach: Like I said, I don't care that much. 2014-11-30T18:12:14Z digiorgi_ joined #lisp 2014-11-30T18:12:46Z beach: shka: Do you still think we are joking? 2014-11-30T18:12:46Z pjb: There are a lot of modern tools around docbook, with a long history (back from sgml). 2014-11-30T18:13:17Z beach: pjb: I am totally ignorant, so I must trust the judgment of others. 2014-11-30T18:13:35Z shka: beach: well, my comment on need of a new standard was not taken seriously 2014-11-30T18:13:57Z BitPuffin quit (Ping timeout: 264 seconds) 2014-11-30T18:13:59Z beach: shka: Probably because you suggested sockets? 2014-11-30T18:14:25Z beach: shka: Now *I* am joking. I don't know what you suggested. 2014-11-30T18:15:17Z beach: I think v 2.0 should be no more than cleanup. 2014-11-30T18:15:38Z beach: Then we'll take it from there. 2014-11-30T18:15:54Z pjb: ok 2014-11-30T18:16:18Z digiorgi_: is there any compiler that can work for windows store apps? 2014-11-30T18:16:21Z beach: Again, I am totally convinced that the main risk is to be too ambitious. 2014-11-30T18:17:08Z CrazyWoods quit (Ping timeout: 250 seconds) 2014-11-30T18:17:08Z djangojames quit (Ping timeout: 265 seconds) 2014-11-30T18:17:14Z beach: digiorgi_: Are there people still using Windows? On the commercials on TV, it looks like they are desperate to hold on to a few corporate customers. 2014-11-30T18:17:15Z pjb: Anyways, the available workforce will limit the ambitions. 2014-11-30T18:17:35Z pjb: I didn't know they had an app store for MS-Windows. 2014-11-30T18:17:37Z djangojames joined #lisp 2014-11-30T18:17:43Z Pixel_Outlaw: beach, sorry I got sidetracked and had to catch up (playing some Super Mario Bros. 3). :) 2014-11-30T18:17:47Z beach: pjb: yes, which is why it is important to set them low in the beginning. 2014-11-30T18:17:53Z fantazo quit (Ping timeout: 264 seconds) 2014-11-30T18:17:54Z Bike: i think it's new in windows 8? 2014-11-30T18:17:58Z Pixel_Outlaw: It would be great to clean up the standard. 2014-11-30T18:17:59Z tesuji quit (Ping timeout: 272 seconds) 2014-11-30T18:18:28Z beach: Pixel_Outlaw: Would you contribute. 2014-11-30T18:18:36Z shka: pjb: sadly, yes 2014-11-30T18:18:44Z Pixel_Outlaw: I just tinker around in CL, I claim no mastery... 2014-11-30T18:18:49Z pjb: digiorgi_: probably, ccl or sbcl can be used to produce an exe, and then, you will have to sign it to send it to the app store. 2014-11-30T18:19:10Z CrazyWoods joined #lisp 2014-11-30T18:19:16Z beach: Pixel_Outlaw: Clearly, you are able to catch a typo, and write a docbook page, no? 2014-11-30T18:19:44Z pjb: digiorgi_: but the packaging will have to be done "by hand", no CL implementation provides it yet. (or perhaps Allegro or Lispworks do?) 2014-11-30T18:19:44Z samebchase: beach: I'll be willing to help in whatever I'm capable of 2014-11-30T18:20:02Z beach: samebchase: Excellent! 2014-11-30T18:20:08Z Pixel_Outlaw: beach, yes, I can try. 2014-11-30T18:20:10Z Bike: well, i'm too naïve to know how to set up a mailing list. maybe pjb's got this 2014-11-30T18:20:16Z digiorgi_ quit (Remote host closed the connection) 2014-11-30T18:20:17Z pjb: Yes. 2014-11-30T18:20:27Z Pixel_Outlaw: Bike, nice fancy i there. :) 2014-11-30T18:20:28Z beach: Bike: I think he knows how. 2014-11-30T18:20:41Z pjb: I'm migrating my server to a new host. So for 2015 I'll be ready to add services. 2014-11-30T18:20:46Z Bike: Pixel_Outlaw: unicode support is important 2014-11-30T18:21:03Z Pixel_Outlaw: beach, actually by helping it would be a great way to learn any corners of the language I've missed 2014-11-30T18:21:06Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-30T18:21:12Z Bike: when i see "naive" spelled like that i imagine pronouncing it nive. totally wrong 2014-11-30T18:21:18Z beach: Pixel_Outlaw: I totally agree. 2014-11-30T18:21:32Z samebchase: beach: let the channel know what work is happening, and what work is needed and people will (hopefully) automatically come forward to help. A community cleanup of CL will be amazing, if it is successful 2014-11-30T18:21:39Z Shinmera: beach: I can't promise any fixed amount of dedication towards the project, but I'd definitely like to contribute. 2014-11-30T18:21:44Z beach: Bike: nive? Nah. Nayve. 2014-11-30T18:22:04Z Bike: i'm no good at eyespelling 2014-11-30T18:22:11Z Pixel_Outlaw: beach, CL is an amazing language that does a lot of things not easily done in more common languages. I'd like to see it continue far into the future and if documenting helps, why not 2014-11-30T18:22:26Z beach: samebchase: I definitely think #lisp would be central to this effort. 2014-11-30T18:22:56Z beach: Shinmera: I would be disappointed if I couldn't count on you! :) 2014-11-30T18:23:09Z beach: Pixel_Outlaw: Great! 2014-11-30T18:23:26Z beach: pjb: I think you have a mission! :) 2014-11-30T18:23:36Z Shinmera: beach: Well, I'm wary of promising anything because I know my interests shift wildly on a whim. 2014-11-30T18:23:58Z BitPuffin joined #lisp 2014-11-30T18:24:05Z Pixel_Outlaw: Now somebody can just help me figure out how to subscribe to mailing lists and read them in emacs... 2014-11-30T18:24:08Z Bike: committing yourself to something has been a good cure for that for me. 2014-11-30T18:24:20Z beach: Shinmera: I was joking, of course. I have just noticed that you are fairly knowledgeable, so I am pushing your buttons a bit. 2014-11-30T18:24:24Z pjb: Well, the advantage of mail-list over irc is that it's easier to keep archives and search them. We could collect irc traffic from a specific channel and forward daily it daily to the mail-list for archives. 2014-11-30T18:24:28Z arenz joined #lisp 2014-11-30T18:24:55Z Shinmera: beach: It seems a bit weird to call me fairly knowledgeable when I haven't even got two years of CL under my belt! 2014-11-30T18:24:56Z pjb: Pixel_Outlaw: usually it's as simple as sending "subscribe" in the subject to some address. 2014-11-30T18:25:00Z beach: pjb: Yes, but IRC is so much faster. 2014-11-30T18:25:12Z pjb: Both are needed. 2014-11-30T18:25:19Z beach: Shinmera: You must be a fast learner. 2014-11-30T18:25:37Z beach: pjb: I agree. 2014-11-30T18:25:44Z pjb: When you have pages of documentations, it's easier to exchange and comment them with mail. 2014-11-30T18:25:49Z beach: IRC for short messages, email for longer ones. 2014-11-30T18:25:49Z samebchase: Google Groups is probably the easiest way to host a ML, but everyone might not be comfortable with it 2014-11-30T18:25:54Z Pixel_Outlaw: Unfortunately I tend to be making software and less learning languages. 2014-11-30T18:26:06Z Shinmera: If you do set up a specialised IRC channel I can easily provide you with logs for that. 2014-11-30T18:26:26Z pjb: samebchase: definitely, when you see how they treat usenet and its archives, you definitely want to avoid google groups. 2014-11-30T18:26:39Z Davidbrcz joined #lisp 2014-11-30T18:26:42Z beach: Pixel_Outlaw: You are probably too modest. You will learn fairly quickly. 2014-11-30T18:26:47Z Shinmera: beach: I suppose I am. I also just invested a lot more time in CL than would be expected of people with things to do on the side, I suppose. 2014-11-30T18:27:21Z beach: Shinmera: Hence my suggestion to write a paper. :) 2014-11-30T18:27:24Z Pixel_Outlaw: To be fair, the Hyperspec has been an excellent document. 2014-11-30T18:27:45Z Shinmera: Still is! 2014-11-30T18:27:49Z beach: Pixel_Outlaw: Totally! Common Lisp v 2 will just be a little better. 2014-11-30T18:28:31Z pjb: Will be the same language, but better documented. 2014-11-30T18:28:34Z Pixel_Outlaw: You thinking a HTML page? Or postscript? ? 2014-11-30T18:28:46Z pjb: docbook can generate anything. 2014-11-30T18:28:47Z samebchase: So is this gonna be a spec cleanup, or will we be having some kind of implementation support/prototyping from the beginning? 2014-11-30T18:28:50Z beach: Pixel_Outlaw: Read up! Docbook! 2014-11-30T18:28:54Z Pixel_Outlaw: Think .pdf might make the FOSS guys king of cringe. 2014-11-30T18:28:56Z Bike: more of a cleanup. 2014-11-30T18:29:04Z samebchase: ah 2014-11-30T18:29:15Z Pixel_Outlaw: *kind of cringe 2014-11-30T18:29:26Z Bike: and once there's a process in place go from there. 2014-11-30T18:29:36Z Bike: one that doesn't involve hundreds of dollars to ansi, i guess 2014-11-30T18:29:45Z Bike: thousands? i have no idea how that worked 2014-11-30T18:30:15Z beach: Bike: Just counting people's time, way much more I would say. 2014-11-30T18:30:20Z fantazo joined #lisp 2014-11-30T18:30:42Z Shinmera: The process sported tens of people over .. more than a year I think, so that's a lot more money than mere thousands. 2014-11-30T18:31:21Z beach: Yeah, easily hundreds of thousands. 2014-11-30T18:31:37Z Bike: naïïïve 2014-11-30T18:31:48Z beach: :) 2014-11-30T18:31:53Z pt1 quit (Remote host closed the connection) 2014-11-30T18:31:57Z Shinmera: naîve 2014-11-30T18:32:20Z beach: Now, you are just showing off :) 2014-11-30T18:32:34Z jumblerg joined #lisp 2014-11-30T18:32:38Z Shinmera: This would be showing off: naⓘve 2014-11-30T18:32:50Z pt1 joined #lisp 2014-11-30T18:32:55Z beach: It would be, had you actually done it. 2014-11-30T18:33:05Z Shinmera: (My keyboard actually can't do the double-dotted one, only the î.) 2014-11-30T18:33:16Z pt1 quit (Remote host closed the connection) 2014-11-30T18:33:25Z beach: Shinmera: C-x 8 ... 2014-11-30T18:33:32Z Pixel_Outlaw: My keyboard only has proper letters because America. 2014-11-30T18:33:44Z Shinmera: I'm not using emacs for IRC 2014-11-30T18:33:45Z pjb: You can configure your xmodmap. 2014-11-30T18:33:50Z Bike: there's a pretty nice american layout called "us-international". 2014-11-30T18:33:53Z beach: OHMYGOD! 2014-11-30T18:33:59Z pjb: And anyways, in emacs you can always type: C-x 8 " i -> ï 2014-11-30T18:34:01Z Pixel_Outlaw: I dare not type the heathen runes. 2014-11-30T18:34:09Z Pixel_Outlaw: jk 2014-11-30T18:34:13Z samebchase: beach: So how do you want to start doing this? Some kind of new documentation repo on GH or something with skeleton pages created by you and a few others and delegated to interested volunteers to flesh out? 2014-11-30T18:34:18Z Bike: it has the literal heathen rune þ. just saying 2014-11-30T18:34:18Z pjb: Try: C-x 8 C-h 2014-11-30T18:34:31Z Shinmera: I can do ⅜⅛⅜⅝⅞™± with my keyboard though. 2014-11-30T18:34:40Z Bike: i think the first step is a mailing list so we can record complaining at each other more easily 2014-11-30T18:34:45Z beach: samebchase: I think pjb pretty much agreed to set it up. 2014-11-30T18:34:53Z pjb: Definitely. 2014-11-30T18:35:09Z pjb: Just wait a month or so that I finish my server migration. 2014-11-30T18:35:28Z beach: pjb: I'll not it in my calendar. 2014-11-30T18:35:31Z beach: note 2014-11-30T18:35:59Z samebchase: Niice 2014-11-30T18:36:20Z beach: pjb: Are you sure you want to work on St Sylvestre? 2014-11-30T18:36:58Z pjb: I usually do. I mean, not "work", but play/program with computers. 2014-11-30T18:36:59Z arenz quit (Ping timeout: 272 seconds) 2014-11-30T18:37:47Z arademaker quit (Remote host closed the connection) 2014-11-30T18:37:52Z beach: pjb: Take the train to Bordeaux and we'll have a "plateau de fruits de mer" and a good glass of white Pessac-Leognan instead. 2014-11-30T18:37:56Z arademaker joined #lisp 2014-11-30T18:38:00Z pjb: :-) 2014-11-30T18:38:10Z arademaker left #lisp 2014-11-30T18:38:13Z beach: I am serious! 2014-11-30T18:38:19Z Shinmera: (naiîĩíịįīĭıve. I can do every dang i I never even knew existed except the double dot one.) 2014-11-30T18:38:30Z pjb: We'll see. It's a interesting invitation. 2014-11-30T18:38:33Z beach: pjb: First Common Lisp v 2 meeting! 2014-11-30T18:38:49Z Shinmera: Anyway, I suppose I could offer setting up the mailing list as well, but given that I've never even used mailing lists I don't think I'm a good candidate for managing it either. 2014-11-30T18:39:14Z beach: Shinmera: Then don't! :) 2014-11-30T18:39:27Z pjb: Well, I could already configure the mail-list on the old server since mailman is already running. 2014-11-30T18:39:29Z Shinmera: Yeah, there's no rush to anyway, so I'm glad I don't have to. 2014-11-30T18:40:11Z beach: pjb: Let me know ahead of time if you accept. 2014-11-30T18:40:24Z pjb: ok I'll tell you. 2014-11-30T18:40:41Z beach: pjb: Me and my (admittedly small) family are usually by ourselves anyway. Maybe with our friend David who is divorced. 2014-11-30T18:42:30Z Pixel_Outlaw: Should we grow a beard for the meeting? Isn't it required by law for true hardcore computer guys? 2014-11-30T18:42:57Z Xach: yes 2014-11-30T18:43:07Z Xach: the longer the better 2014-11-30T18:43:29Z Pixel_Outlaw: I'm ready then. Just need the sides to fill in a bit more. 2014-11-30T18:43:54Z djangojames quit (Ping timeout: 244 seconds) 2014-11-30T18:44:20Z Shinmera: Tinfoil hats too. The shinier the better. 2014-11-30T18:45:08Z Pixel_Outlaw: Perhaps we can adorn them in the front with the geko/lizard lisp logo. 2014-11-30T18:46:29Z defaultxr joined #lisp 2014-11-30T18:47:10Z beach: tokenrove would qualify then as I recall from Montreal. 2014-11-30T18:48:45Z beach: [the beard I mean] 2014-11-30T18:52:06Z beach: Pixel_Outlaw: I have a "fig" version of that logo so that you can scale it to whatever size you like. 2014-11-30T18:53:17Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-30T18:53:39Z beach: http://metamodular.com/Lizard-logo/Fig/original.fig 2014-11-30T18:53:58Z vlnx joined #lisp 2014-11-30T18:55:00Z Pixel_Outlaw: I'm not familiar with that format... 2014-11-30T18:55:10Z beach: Aww! 2014-11-30T18:55:14Z Pixel_Outlaw: I'm on Linux though if there is a program. 2014-11-30T18:55:26Z beach: xfig, fig2dev 2014-11-30T18:55:31Z Pixel_Outlaw: ah ok 2014-11-30T18:55:51Z beach: I agree xfig feels old, but it's actually a great program. 2014-11-30T18:56:51Z Pixel_Outlaw: got it, nice 2014-11-30T18:58:06Z pjb: - 2014-11-30T19:00:38Z beach: pjb: I might even be able to find a bottle of Crémant de Bordeaux. 2014-11-30T19:00:59Z Shinmera is working on a screenshot utility in CL because all the he could find on linux annoyed him in some fashion 2014-11-30T19:01:00Z beach: pjb: Harder to find than Champagne, but better! :) 2014-11-30T19:01:05Z Shinmera: *that 2014-11-30T19:01:34Z fantazo quit (Ping timeout: 245 seconds) 2014-11-30T19:02:19Z Pixel_Outlaw: Lot of people just use scrot scripts. 2014-11-30T19:02:24Z beach: pjb: Not to put pressure on you or anything... :) 2014-11-30T19:02:35Z Shinmera: Pixel_Outlaw: I want to be able to drag the region of the screenshot first and foremost. 2014-11-30T19:03:14Z Pixel_Outlaw: Not like scrot -s ? 2014-11-30T19:03:56Z Shinmera is embarrassed to admit he never knew about that option 2014-11-30T19:04:10Z Shinmera: Either way, this is a fun little project for me. Maybe I can make it worth it in some way. 2014-11-30T19:04:24Z Pixel_Outlaw: No worries. It is just another tool with an odd name. But if you are doing it to learn and play no reason not to make your own. 2014-11-30T19:04:29Z Shinmera: Writing it with Qt would mean it's cross-platform too. 2014-11-30T19:04:41Z Shinmera: I knew about scrot, but didn't know about its -s option 2014-11-30T19:05:03Z Pixel_Outlaw: it came up in "man scrot" 2nd page :) 2014-11-30T19:05:09Z ivan4th: pjb: concerning (safety 3): you can't use CL, at least directly, for laser eye surgery, unless you're very careful with consing, or it'll go into GC in the most critical moment 2014-11-30T19:05:25Z Shinmera: Pixel_Outlaw: yes, hence why I'm embarrassed about having missed it until now 2014-11-30T19:05:46Z beach: ivan4th: You must not have heard about real-time GC algorithms. 2014-11-30T19:06:19Z beach: ivan4th: I highly recommend "The Garbage Collection Handbook" by Jones et al. 2014-11-30T19:06:36Z ivan4th: maybe I heard something, but are they used by any impls? I've heard there is realtime Lispworks version... 2014-11-30T19:06:48Z Shinmera: Most impls also support deactivating GC for parts of your code. 2014-11-30T19:06:57Z a20141129 joined #lisp 2014-11-30T19:07:13Z beach: ivan4th: I thought you said "CL". Sorry if I misunderstood. 2014-11-30T19:07:25Z Joreji joined #lisp 2014-11-30T19:08:20Z ivan4th: I mean that it's hard to use CL for such purposes... 2014-11-30T19:08:24Z ivan4th: actually I do radiation dose integration in CL code but it's not used on human beings, it's used for nondestructive testing 2014-11-30T19:08:38Z lambda_ joined #lisp 2014-11-30T19:08:59Z ivan4th: so it doesn't matter much if it pauses for a tenth of a second 2014-11-30T19:09:29Z beach: ivan4th: I think you are still confused between the language and a particular implementation of it. 2014-11-30T19:10:05Z |3b|: beach: implementing a realtime GC and attaching it to a CL implementation sounds like a valid definition of "hard to use" :) 2014-11-30T19:10:16Z ivan4th: well, I speak from the practical point of view. As far as I know no widely available Common Lisp implementation supports realtime GC. (Maybe I'm wrong?) 2014-11-30T19:10:42Z beach: |3b|: You have a long history (2 :)) of suggesting problems for which you have no solution. 2014-11-30T19:11:06Z beach: |3b|: Real-time GC is not "hard". 2014-11-30T19:11:18Z beach: It's "straightforward"! :) 2014-11-30T19:11:37Z Kanae quit (Ping timeout: 252 seconds) 2014-11-30T19:11:54Z beach: ivan4th: Then you should have said that, rather than making a blanket statement about the language. 2014-11-30T19:12:30Z ivan4th: beach: you're right, the wording was somewhat wrong 2014-11-30T19:13:13Z |3b|: beach: yeah, that's one reason by 'todo' list grows faster than it shrinks :( too many problems in need of solutions 2014-11-30T19:13:45Z Pixel_Outlaw: I read something about cons collection that does a small bit of GC each time a cons is done. 2014-11-30T19:13:46Z Pixel_Outlaw: Forgot the book. 2014-11-30T19:14:34Z Pixel_Outlaw: "The Elements of Artificial Intelligence Using Common Lisp" 2014-11-30T19:15:45Z ivan4th: it would be great to have realtime GC in a CL impl, but given that I never tried to implement *any* gc, the problem is not that straightforward for me 2014-11-30T19:15:59Z beach: Pixel_Outlaw: Please read "The garbage-collection handbook" by Jones et al. 2014-11-30T19:16:58Z beach: ivan4th: I plan to use a sliding GC for the nursery and a real-time sliding GC for the rest of the heap for SICL. 2014-11-30T19:17:05Z Pixel_Outlaw: Java's garbage collection has been disastrous in a lot of enterprise software I've used. 2014-11-30T19:17:09Z ivan4th: BTW, disabling GC for realtime-critical parts of an app is hardly a solution for control system software as events that may need realtime processing may happen in rather random manner 2014-11-30T19:17:28Z beach: ivan4th: You are wrong. 2014-11-30T19:17:52Z beach: ivan4th: when the GC is real-time, it means you can guarantee the response time. 2014-11-30T19:18:03Z beach: It doesn't mean "wow, real fast". 2014-11-30T19:18:40Z beach: ivan4th: Sorry, right, disabling a bad GC is not a solution. 2014-11-30T19:19:26Z Joreji quit (Remote host closed the connection) 2014-11-30T19:20:10Z blahzik joined #lisp 2014-11-30T19:20:33Z ivan4th: yeah. as of now we use hardware interlocks for safety. I'm afraid if these interlocks were coded in CL instead (CCL on ARM) the machine would possess an ability to kill someone :( 2014-11-30T19:20:43Z a20141129 quit (Ping timeout: 246 seconds) 2014-11-30T19:20:59Z Joreji joined #lisp 2014-11-30T19:21:32Z beach: So here is what bugs me: Professional projects choose C++ for performance and real-time. Then they use smart pointers or (worse) reference counters. It makes the code 20-100 times slower, and it doesn't solve the real-time problem. 2014-11-30T19:22:15Z beach: Then they figure out that they need a "config" file, so they use Python which is another factor 50 penalty. 2014-11-30T19:22:16Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-30T19:23:37Z faheem_: beach: smart pointer make code much slower? really? hmm, I 2014-11-30T19:23:47Z beach: It just shows that "professional" means just what it meant initially i.e., "someone who does things for money", rather than "real good". 2014-11-30T19:23:47Z adlai quit (Ping timeout: 250 seconds) 2014-11-30T19:23:52Z faheem_: I've used smart pointers for ages, but didn't know thta. 2014-11-30T19:23:53Z faheem_: that. 2014-11-30T19:24:19Z faheem_: what is the real-time problem? 2014-11-30T19:24:27Z beach: faheem_: Think about it. You need to call a destructor each time the thing gets out of scope. 2014-11-30T19:24:54Z faheem_: beach: true. and that is a big performance hit? 2014-11-30T19:25:17Z ivan4th: the compiler may inline smart pointer destructor and it may just do refcount decrement 2014-11-30T19:25:18Z |3b|: it can be 2014-11-30T19:25:19Z beach: faheem_: If you deallocate an arbitrarily large object graph, it can take arbitrarily long time. Hence no real-time. 2014-11-30T19:25:41Z faheem_: beach: oh. so, what do you recommend instead of smart pointers, if anything? 2014-11-30T19:25:47Z beach: ivan4th: it's still a test and a branch. 2014-11-30T19:26:03Z beach: faheem_: Use a language with GC like Common Lisp. 2014-11-30T19:26:14Z |3b| recommends understanding the problem and available solutions, and pick one intelligently 2014-11-30T19:26:23Z adlai joined #lisp 2014-11-30T19:26:35Z faheem_: beach: sounds like a plan. :-) I meant, assuming you are using C++. 2014-11-30T19:26:40Z |3b|: instead of just assuming the rest of the industry did so and that your problem is the same, so you can just copy what everyone else does 2014-11-30T19:27:07Z beach: faheem_: My brain is too small to deal with such an absurd assumption. 2014-11-30T19:27:10Z faheem_: Wouldn't the slowdown depend on how many smart pointers there are, and how often they go out of scope? 2014-11-30T19:27:16Z rx_ quit (Quit: Konversation terminated!) 2014-11-30T19:27:19Z faheem_: Devil in the details, basically. 2014-11-30T19:27:30Z faheem_: beach: ok :-) 2014-11-30T19:27:39Z |3b|: right, and how your allocator behaves under your workload, and lots of things 2014-11-30T19:28:09Z ivan4th: btw, tried newer C++ recently (returned to it briefly after almost not touching it for 7-8 years or so). It got a little better with lambdas etc but still sucks 2014-11-30T19:28:12Z faheem_: |3b|: thinking is always a good idea. Unfortunately not a popular option on this planet. 2014-11-30T19:28:13Z beach: Right, I haven't mentioned the overhead of malloc/free. Thanks |3b|! 2014-11-30T19:28:42Z faheem_: ivan4th: C++ sucks by definition. 2014-11-30T19:29:28Z beach: I tell my students: "It is impossible to write a C++ program that is both efficient and modular". 2014-11-30T19:29:58Z beach: Paul Wilson correctly says: "liveness is not a modular property". 2014-11-30T19:31:16Z doki-worry joined #lisp 2014-11-30T19:31:17Z beach: So C++ programmers go to great lengths to make sure their objects have only one reference, including copying. 2014-11-30T19:31:22Z faheem_: beach: students of what? 2014-11-30T19:31:28Z beach: CS 2014-11-30T19:31:30Z ivan4th: one of my former colleagues was lured into Google with a Haskell project. They've made them write C++ instead :( 2014-11-30T19:31:39Z ivan4th: *him 2014-11-30T19:31:45Z faheem_: ivan4th: bait and switch? :-) 2014-11-30T19:31:59Z ivan4th: almost 2014-11-30T19:32:16Z beach: ivan4th: Yes, Yahoo rewrote Viaweb too, but just because they didn't understand it. 2014-11-30T19:32:45Z Pixel_Outlaw: I started with C++ and found after using Lisp varients for a few years that I had lost all taste for having to define every single piece of data beforehand. 2014-11-30T19:32:50Z ivan4th: in fact Google indeed uses Haskell for that project, but it has a lot of C++ parts too 2014-11-30T19:33:14Z ivan4th: http://code.google.com/p/ganeti/ 2014-11-30T19:33:16Z davazp quit (Ping timeout: 255 seconds) 2014-11-30T19:33:16Z beach: ivan4th: There is a lot of energy lost to ignorance. 2014-11-30T19:33:21Z scoofy: why not C ? what do they use the C++ parts for 2014-11-30T19:33:29Z scoofy: complex object system? 2014-11-30T19:34:06Z beach: http://metamodular.com/Essays/psychology.html 2014-11-30T19:34:13Z Pixel_Outlaw: I think C is less used in the professional world than C++. It's Java, C#, .NET, JavaScript and PHP for most normal businesses, 2014-11-30T19:34:14Z beach: This is the main problem. 2014-11-30T19:34:23Z scoofy: Pixel_Outlaw: too bad... 2014-11-30T19:34:50Z beach: scoofy: No, a very healthy reaction. 2014-11-30T19:34:57Z Pixel_Outlaw: The problem I see is that CL has no presence. Mostly because the packages are huge documentation holes and kids only seem to care about web programming. 2014-11-30T19:35:14Z hiroaki joined #lisp 2014-11-30T19:35:16Z scoofy: invent web lisp. oh, it has been invented aready... 2014-11-30T19:35:27Z vmw: C has its niche. It's just not enterprise programming - which is where Java, and .net mostly seem to excel. 2014-11-30T19:35:38Z Pixel_Outlaw: heh excel 2014-11-30T19:35:42Z Pixel_Outlaw: The universal document format 2014-11-30T19:35:44Z scoofy: visual basic 2014-11-30T19:35:45Z beach: Pixel_Outlaw: *sigh* you must be again confusing a language with a small set of people. 2014-11-30T19:37:21Z Pixel_Outlaw: I'd like to see it have a bigger user base and more package options that don't rely on a single person. 2014-11-30T19:37:35Z oudeis joined #lisp 2014-11-30T19:37:43Z scoofy: isn't that orthogonal to lisp? 2014-11-30T19:38:06Z djangojames joined #lisp 2014-11-30T19:38:19Z scoofy: for c++ or java, you need an entire department to write a package. but i guess you can find a lisp guy that does it alone 2014-11-30T19:38:19Z beach: Pixel_Outlaw: And like most other people, you just sit back and wait for someone else to make it happen? 2014-11-30T19:38:26Z Pixel_Outlaw: I'd like to see more jobs that use Lisp rather than all the C like languages with garbage collection. 2014-11-30T19:38:45Z scoofy: make it popular then :) 2014-11-30T19:39:00Z vmw: Heh. 2014-11-30T19:39:01Z ivan4th: I for one seem to gradually become an almost full-time CL programmer 2014-11-30T19:39:02Z scoofy: (if you can) 2014-11-30T19:39:02Z beach: Pixel_Outlaw: You have a very naive view of the job market. 2014-11-30T19:39:04Z scoofy: good luck 2014-11-30T19:39:22Z Pixel_Outlaw: beach, why do you say that? 2014-11-30T19:39:40Z Pixel_Outlaw: I've read job listings for the past 2 years. 2014-11-30T19:39:48Z Pixel_Outlaw: They can mostly be distilled down to a handful of web languages. 2014-11-30T19:39:49Z ivan4th: ... (although will have to write some JS code, too...) 2014-11-30T19:39:50Z beach: Pixel_Outlaw: Because industry has no clue as to what it should be using. 2014-11-30T19:40:00Z Pixel_Outlaw: I agree. 2014-11-30T19:40:12Z scoofy: step 1) make company. step 2) hire lisp coders. 3) ... 4) profit 2014-11-30T19:40:15Z beach: Pixel_Outlaw: If you think the ads reflect what they "need" you are wrong. 2014-11-30T19:40:17Z Petit_Dejeuner_: "Ten years of C# less than a decade since 1.0" 2014-11-30T19:40:40Z beach: Pixel_Outlaw: They reflect "what they think they need". 2014-11-30T19:40:47Z scoofy: it's the managers who decide what language the project should be written in 2014-11-30T19:40:48Z Pixel_Outlaw: The ads reflect what they are using and what they are hiring for. 2014-11-30T19:40:52Z scoofy: and managers have no clue of CS anyways 2014-11-30T19:40:58Z beach: Pixel_Outlaw: So you lie. 2014-11-30T19:41:00Z Pixel_Outlaw: BUT the managers do the hiring. 2014-11-30T19:41:10Z scoofy: the managers choose what is trendy. nowadays it's java, .net, etc. 2014-11-30T19:41:13Z Pixel_Outlaw: I've worked at two fortune 500 companies. 2014-11-30T19:41:17Z Pixel_Outlaw: scoofy is correct 2014-11-30T19:41:22Z Pixel_Outlaw: Programmers have no say. 2014-11-30T19:41:29Z scoofy: and they don't choose based on 'what is effective or best' ... 2014-11-30T19:41:37Z Pixel_Outlaw: Correct. 2014-11-30T19:41:42Z beach: Pixel_Outlaw: I don't see the problem of lying to ignorant idiots who don't even know how to make their own company profitable. 2014-11-30T19:41:57Z nyarlshub joined #lisp 2014-11-30T19:42:22Z beach: Pixel_Outlaw: Wrong. Programmers are gods. If they say it can't be done, then it can't. 2014-11-30T19:42:39Z scoofy: well... anything can be done in brainf*ck, because it's turing complete... 2014-11-30T19:42:56Z scoofy: if they can't do it, they're just not capable enough :) 2014-11-30T19:42:56Z Pixel_Outlaw: The problem is getting hired in the first place, then when you try to suggest a new language all the senior programmers cling to the norms of Java and C#. They write you off as a crackpot because the middleware is already written in Java and C#. 2014-11-30T19:43:17Z ivan4th: I've noticed that if you work for a very small company in Russia using CL is one of the very few possibilities to hire some really good progammers. Due to the poor economic situation most hackers flee the country or try to find a job in some big company 2014-11-30T19:43:17Z beach: Pixel_Outlaw: It would be stupid to suggest that when you are about to get hired. 2014-11-30T19:43:18Z Pixel_Outlaw: Middleware is the way companies sink their claws into enterprises. 2014-11-30T19:43:18Z Kanae joined #lisp 2014-11-30T19:43:46Z beach: Pixel_Outlaw: Sheesh, have you never worked for a company before? 2014-11-30T19:43:58Z scoofy: hint: 1) get hired to write java program. 2) write a scheme interpreter in java. 3) write program in scheme, and run it in the scheme interpreter written in java. 4) pretend to do java programming. 5) profit 2014-11-30T19:44:00Z Shinmera: beach: https://www.youtube.com/watch?v=BKorP55Aqvg 2014-11-30T19:44:01Z Joreji quit (Read error: Connection reset by peer) 2014-11-30T19:44:05Z Pixel_Outlaw: I just said I've worked for two fortune 500 companies as a software developer. 2014-11-30T19:44:48Z beach: You must have been doing it the wrong way. 2014-11-30T19:45:06Z beach: Pixel_Outlaw: What scoofy says. 2014-11-30T19:45:31Z beach: I actually did that, but it was before Java existed. 2014-11-30T19:45:48Z scoofy: write a scheme interpreter in java, and pretend that the program is written in java, and those (((weird (looking (files))) are just data files to the java program. 2014-11-30T19:45:58Z scoofy: like, XML. 2014-11-30T19:46:02Z Pixel_Outlaw: Ugh 2014-11-30T19:46:03Z Pixel_Outlaw: XML 2014-11-30T19:46:04Z scoofy: that's trendy, after all, or what :) 2014-11-30T19:46:12Z scoofy: well, in theory, you *could* write lisp code in XML. 2014-11-30T19:46:22Z Pixel_Outlaw: Thanks to Oracle XML is now the defacto way to store all kinds of nonsense. 2014-11-30T19:46:38Z scoofy: JSON is better 2014-11-30T19:46:41Z scoofy: and makes more sense 2014-11-30T19:46:49Z scoofy: and a few people at least realize 2014-11-30T19:47:02Z corni quit (Ping timeout: 265 seconds) 2014-11-30T19:47:36Z beach: Shinmera: I'll watch that later. It is interfering with my listening to Gentle Giant "Out of the Woods". 2014-11-30T19:48:13Z nyarlshub left #lisp 2014-11-30T19:48:36Z ivan4th: JSON has an unpleasant property of not allowing comments 2014-11-30T19:48:38Z beach: Pixel_Outlaw: If we were to listen to the "de facto way" we would have abandoned Common Lisp long ago. 2014-11-30T19:48:40Z H4ns: "json is better" right. 2014-11-30T19:49:40Z scoofy: actually json is pretty good if you want to interact with programs written in other languages 2014-11-30T19:49:49Z scoofy: so that can be a standard text interface 2014-11-30T19:50:04Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T19:50:15Z H4ns: right. it has a very restricted scope. xml is much larger than json in what it attempts to do. 2014-11-30T19:50:20Z faheem_: Pixel_Outlaw: huge documentation holes? 2014-11-30T19:50:20Z vmw left #lisp 2014-11-30T19:50:21Z scoofy: exactly. 2014-11-30T19:50:40Z H4ns: so saying "json is better than xml" is... well, never mind. 2014-11-30T19:50:50Z Bike: that sexml library, by json i think, it's really cool how you can just throw a schema at it and get a parser out. 2014-11-30T19:50:53Z Bike: jasom 2014-11-30T19:51:09Z Bike: oh, madnificent 2014-11-30T19:51:26Z scoofy: H4ns, depends on the purpose 2014-11-30T19:51:47Z scoofy: but unless xml-specific features are needed, i'd choose json any day 2014-11-30T19:51:58Z scoofy: for a myriad of reasonsd 2014-11-30T19:52:01Z ivan4th: json, well, [somewhat] sucks for markup 2014-11-30T19:52:11Z scoofy: cos, it's not made for markup? 2014-11-30T19:52:27Z scoofy: it's made for serialized textual representation of data 2014-11-30T19:52:38Z H4ns: json is made for exchanging javascript objects. it sucks for anything else. 2014-11-30T19:52:42Z scoofy: unlike xml, which *was* made for markup. 2014-11-30T19:52:56Z scoofy: they don't need to be >javascript< objects 2014-11-30T19:53:03Z scoofy: you can use it from any language 2014-11-30T19:53:21Z scoofy: for example, tcl dicts translate cleanly to json 2014-11-30T19:53:30Z H4ns: scoofy: right. if you shoehorn your other language's understanding of data types into the awesome type system that javascript provides, it is just great. 2014-11-30T19:53:30Z scoofy: i can pass them around easily using json 2014-11-30T19:53:43Z H4ns: like, javascript, well known language, because it has awesome types. 2014-11-30T19:53:43Z scoofy: communicating with a program written in an entirely different language. 2014-11-30T19:53:44Z H4ns: :D 2014-11-30T19:53:46Z drewc: tcl dicts translate cleanly to javascript objects 2014-11-30T19:53:48Z ivan4th: and json somewhat sucks for configs because of lack of comments 2014-11-30T19:53:59Z ivan4th: although XML configs aren't much better 2014-11-30T19:54:05Z scoofy: H4ns: note that I didn't say 'javascript is awesome' 2014-11-30T19:54:09Z faheem_: Shinmera: i saw that video before. it's a masterpiece. 2014-11-30T19:54:29Z H4ns: scoofy: you do understand that nothing in json extends beyond the datatypes that javascript provides? 2014-11-30T19:54:50Z scoofy: of course. and that is already useful for lots of things. 2014-11-30T19:54:56Z scoofy: do you understand that? 2014-11-30T19:55:09Z H4ns: scoofy: of course. that does not make it particularly great. 2014-11-30T19:55:13Z drewc: what does the JSO in JSON stand for? 2014-11-30T19:55:39Z scoofy: for example, for communicating between programs written in different languages. 2014-11-30T19:56:21Z scoofy: if you can serialize your data to a json object (you can always do that), then you can use json to pass your data to other programs. 2014-11-30T19:56:50Z scoofy: of course, you could use an s-expr for the same purpose. except, almost no programs understand s-exprs. 2014-11-30T19:57:22Z Petit_Dejeuner_: I think Python has a sxpr parser in the stdlib. 2014-11-30T19:57:29Z Shinmera: drewc: Just Simple and Obvious 2014-11-30T19:57:31Z Petit_Dejeuner_: But it also has a module for parsing robot.txt 2014-11-30T19:57:34Z Shinmera: :9 2014-11-30T19:57:37Z Shinmera: *:) 2014-11-30T19:57:58Z scoofy: technically s-exprs are not difficult to parse, so you can write one yourself... i even wrote one too 2014-11-30T19:58:03Z ivan4th: JSON may be good unless you accidentally a bignum 2014-11-30T19:58:10Z drewc: minion: JSO? 2014-11-30T19:58:10Z minion: Sorry, I couldn't find anything in the database for ``JSO''. 2014-11-30T19:58:24Z drewc: ah well :) 2014-11-30T19:58:30Z Shinmera: minion: what does JSO stand for? 2014-11-30T19:58:30Z minion: Juramentum Sockmaking Ostracum 2014-11-30T19:58:33Z Pixel_Outlaw: sexps are just like XML but less verbose. So they can be taught to current gen of web yuppies. 2014-11-30T19:58:54Z scoofy: have you tried it? 2014-11-30T19:58:58Z Petit_Dejeuner_: scoofy, I think the hardest part is primitives. 2014-11-30T19:59:10Z scoofy: in parsing? 2014-11-30T19:59:15Z Petit_Dejeuner_: for sexprs 2014-11-30T19:59:31Z ivan4th: sexprs are good but sometimes things like RelaxNG may be useful 2014-11-30T20:00:07Z Petit_Dejeuner_: Racket's at-exp is a nice alternative when writing programs with lots of prose. 2014-11-30T20:00:18Z Petit_Dejeuner_: Probably wouldn't be hard to add that to common lisp. 2014-11-30T20:00:41Z Petit_Dejeuner_: @identity{How are you doing?} => "How are you doing?" 2014-11-30T20:00:41Z BitPuffin quit (Read error: Connection reset by peer) 2014-11-30T20:00:45Z Pixel_Outlaw: I believe there is sxml or something like named. A lispy XML that didn't really catch on. 2014-11-30T20:01:06Z scoofy: converting between s-expr <-> xml should be fairly trivial 2014-11-30T20:01:32Z scoofy: both are 'trees' 2014-11-30T20:01:50Z Shinmera: Some years ago when I knew even less than I do now I wrote a markup system that used a tag(args*){body} format. 2014-11-30T20:02:26Z scoofy: and even json can represent 'trees', if you treat nested dicts as trees 2014-11-30T20:02:37Z Pixel_Outlaw: Fairly sure there is an XML package for CL. Not sure how stable/documented it is. 2014-11-30T20:02:56Z yuikov joined #lisp 2014-11-30T20:03:05Z scoofy: the tricky parts is the conversion of allowed/disallowed symbols, quoting, and other details 2014-11-30T20:03:05Z Shinmera: There's a couple of native CL XML parsers 2014-11-30T20:03:11Z ekinmur joined #lisp 2014-11-30T20:03:16Z Shinmera: Mine being one of them 2014-11-30T20:03:19Z BitPuffin joined #lisp 2014-11-30T20:03:27Z nand1 quit (Remote host closed the connection) 2014-11-30T20:03:39Z nand1 joined #lisp 2014-11-30T20:03:49Z ekinmur quit (Client Quit) 2014-11-30T20:04:08Z ekinmur joined #lisp 2014-11-30T20:04:22Z ekinmur quit (Client Quit) 2014-11-30T20:05:24Z djangojames quit (Ping timeout: 265 seconds) 2014-11-30T20:06:10Z ekinmur_ joined #lisp 2014-11-30T20:06:32Z ekinmur_ quit (Remote host closed the connection) 2014-11-30T20:06:50Z alexey1 joined #lisp 2014-11-30T20:07:21Z drewc: scoofy: sexp->xml: https://github.com/drewc/yasexml/blob/master/yasexml.org 2014-11-30T20:08:47Z Shinmera: drewc: https://github.com/Shinmera/plump-sexp 2014-11-30T20:08:55Z drewc: scoofy: and cxml works fine, as does cxml-stp and closure-html... so xml->sexp is also quite trivial, and html->sexp as well. 2014-11-30T20:08:57Z Pixel_Outlaw: I think I would much rather use sexps to write webpages than HTML. It would be wonderful. 2014-11-30T20:09:17Z H4ns: Pixel_Outlaw: there is a large number of libraries that allow you to do that 2014-11-30T20:09:27Z H4ns: Pixel_Outlaw: cl-who, xhtmlgen come to mind. 2014-11-30T20:09:35Z H4ns: Pixel_Outlaw: there are plenty others. 2014-11-30T20:09:41Z Shinmera: the lib I linked above can do it too, both ways, even. 2014-11-30T20:09:42Z Pixel_Outlaw: cool, I'll check them out if I ever make a CL web server. 2014-11-30T20:09:52Z Pixel_Outlaw highfives Shinmera 2014-11-30T20:10:42Z Shinmera: (bonus points for allowing you to directly use lQuery, LASS, and all that junk as well) 2014-11-30T20:11:14Z Shinmera: *LASS->CLSS 2014-11-30T20:11:23Z alexey1 quit (Ping timeout: 240 seconds) 2014-11-30T20:11:36Z Shinmera 's projects are starting to meld together forming one big ball of confusion 2014-11-30T20:11:53Z Shinmera: I should take my mind off of things. 2014-11-30T20:12:04Z Shinmera is off to drawing. 2014-11-30T20:12:48Z faheem_: ivan4th: you're located in Russia? How are things over there? 2014-11-30T20:13:16Z beach quit (Ping timeout: 245 seconds) 2014-11-30T20:16:26Z drewc: Shinmera: I disliked the list->xml thing, and the sexp->xml thing at run time, so I decided on #'CALL-WITH-TAG. 2014-11-30T20:18:41Z ggole quit 2014-11-30T20:18:48Z drewc: Shinmera: That said, YASEXML could trivially generate a PLUMP document if I ever needed to :) 2014-11-30T20:19:11Z scoofy: Pixel_Outlaw, if you ever want to code web servers in lisp, check out: http://picolisp.com/ 2014-11-30T20:20:04Z Shinmera: drewc: That's good to know then :) 2014-11-30T20:20:07Z scoofy: examples section has some lisp web servers 2014-11-30T20:20:31Z Petit_Dejeuner_: http://lispwebtales.ppenev.com/ 2014-11-30T20:20:31Z Shinmera: drewc: I've written quite a few libraries that make use of the Plump ecosystem, but I of course don't know if any of them are of interest to you. 2014-11-30T20:20:37Z drewc: scoofy: what is wrong with Common Lisp for such tasks. Having coded, used, and made a living on CL web servers, why picolisp? 2014-11-30T20:20:45Z scoofy: nothing is wrong. 2014-11-30T20:21:35Z scoofy: any lisp is almost equivalent 2014-11-30T20:21:41Z scoofy: only difference is the support in libraries 2014-11-30T20:21:57Z hiroaki quit (Ping timeout: 240 seconds) 2014-11-30T20:22:02Z scoofy: and mode of execution 2014-11-30T20:22:30Z Shinmera: Not all lisps are created equal 2014-11-30T20:22:45Z scoofy: that's why i wrote 'almost'. 2014-11-30T20:22:56Z scoofy: almost != fully 2014-11-30T20:22:58Z Shinmera: Yes and I was joking. 2014-11-30T20:23:26Z drewc: scoofy: really?? I have no idea what to say at this point.... because that strikes me as somewhat ... off kilter? 2014-11-30T20:23:39Z scoofy: ? 2014-11-30T20:24:00Z wasamasa: scoofy: funny, all examples I see on its page seem to use the jvm 2014-11-30T20:24:01Z Grue`: there are lisps that are farther from common lisp than, say, javascript 2014-11-30T20:24:02Z drewc: I mean, equivalent in what sense? 2014-11-30T20:24:16Z scoofy: drewc: equivalent in power 2014-11-30T20:24:20Z scoofy: all of them are turing complete 2014-11-30T20:24:20Z danlentz joined #lisp 2014-11-30T20:24:29Z wasamasa: here comes the turing tarpit 2014-11-30T20:24:40Z drewc: scoofy: ok, thank you for telling me what you know ;) 2014-11-30T20:24:47Z wasamasa: just because brainfuck is turing complete, doesn't mean you want to program in it 2014-11-30T20:24:56Z scoofy: i wrote a brainfuck macro assembler, actually 2014-11-30T20:25:00Z scoofy: so i *can* program in it 2014-11-30T20:25:06Z scoofy: still working on the sceme to brainfuck compiler 2014-11-30T20:25:17Z pavelpenev joined #lisp 2014-11-30T20:25:20Z scoofy: creates pretty huge .bf files 2014-11-30T20:25:26Z drewc goes back to lisping 2014-11-30T20:26:33Z Vutral quit (Ping timeout: 245 seconds) 2014-11-30T20:27:43Z scoofy: as an old saying says, "if you can't do it in brainfuck, it's not worth doing" 2014-11-30T20:28:06Z Pixel_Outlaw: Whoever coined that should be shot. 2014-11-30T20:29:05Z Davidbrcz quit (Ping timeout: 255 seconds) 2014-11-30T20:29:12Z Pixel_Outlaw: What is newLISP? One of my Linux magazines was yammering on about it. 2014-11-30T20:29:17Z Pixel_Outlaw: Anyone used it? 2014-11-30T20:30:20Z wasamasa: a silly, offtopic thing 2014-11-30T20:30:51Z faheem_: hi wasamasa 2014-11-30T20:32:02Z tcr quit (Quit: Leaving.) 2014-11-30T20:32:03Z ivan4th: faheem_: things are progressively getting worse here. But at least we still have usable Internet access and I still hope to be able to write lisp code for several years before mr. president sends me to some Kolyma camp or something :( 2014-11-30T20:32:23Z scoofy: btw, some guy actually wrote a lisp interpreter in brainf*ck 2014-11-30T20:32:34Z Vutral joined #lisp 2014-11-30T20:32:38Z faheem_: ivan4th: sorry to hear that. hope you are exaggerating about the last bit 2014-11-30T20:32:48Z ivan4th: I hope too 2014-11-30T20:32:55Z faheem_: who is the current psycho in charge? 2014-11-30T20:33:00Z tokenrove: Pixel_Outlaw: another example of the problem with the name lisp. there are a lot of toy lisps that failed to learn much from lisp's history (like newLISP and picolisp, IMHO) that really shouldn't be associated with languages like common lisp or scheme. but further discussion of that here will probably not be productive. 2014-11-30T20:33:01Z faheem_: India is pretty bad too. 2014-11-30T20:33:27Z scoofy: tokenrove, basically that's the whole history of 'lisp' 2014-11-30T20:33:38Z doki-worry quit (Ping timeout: 245 seconds) 2014-11-30T20:33:44Z scoofy: 'my lisp is holier than thou' 2014-11-30T20:33:52Z H4ns: ##lisp is a fine channel to discuss that kind of stuff 2014-11-30T20:34:08Z ivan4th: faheem_: still the same. see, I wrote an IRC bot in CL last summer that posts Redmine tasks. it had this la-la-la-la-la-la-la-la easter egg, I think it's enough for Kolyma 2014-11-30T20:34:32Z faheem_: googling Kolyma now 2014-11-30T20:34:48Z jumblerg joined #lisp 2014-11-30T20:35:14Z Pixel_Outlaw: tokenrove, You are correct to some extent. I told a job interviewer that I knew a good bit of Common Lisp and her answer was that it was outdated and they were teaching that when she was in college 30 years ago. -_- 2014-11-30T20:35:42Z Pixel_Outlaw: Probably meant the SICP era stuff. 2014-11-30T20:35:45Z tokenrove: Pixel_Outlaw: did you ask her how her K&R C was? 2014-11-30T20:35:55Z scoofy: K&R C is not bad, actually 2014-11-30T20:36:02Z faheem_: ivan4th: gulag labor camps. hmm. are those still active, or is this the sort of things that Russians joke about? 2014-11-30T20:36:32Z Pixel_Outlaw: tokenrove, No, she had lost all programming skills after years of being a SQL/Database guru. 2014-11-30T20:37:12Z Pixel_Outlaw: Programming in college was something to learn and forget I suppose to her. 2014-11-30T20:39:37Z jumblerg_ joined #lisp 2014-11-30T20:40:09Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-11-30T20:40:47Z ivan4th: faheem_: although there may be some active camps, currently there's nothing like gulag, but some people fear that the system may be restored. also, there's popular demand for sending 'liberals' to such camps (still not widely implemented, but...) 2014-11-30T20:41:27Z ivan4th: currently the more near/realistic prospect is blocking of github by roskomnadzor 2014-11-30T20:41:46Z ivan4th: due to some stupid repo with old fidonet suicide joke file 2014-11-30T20:42:13Z jumblerg quit (Ping timeout: 244 seconds) 2014-11-30T20:43:27Z yuikov quit (Remote host closed the connection) 2014-11-30T20:43:39Z danlentz: I've been working in Clojure for about a year and a half now. This morning I had a discussion about patterns for evolving API's and felt distinctly homesick for common-lisp. 2014-11-30T20:43:46Z faheem_: ivan4th: oh. that sounds bad. googling roskomnadzor 2014-11-30T20:43:55Z jumblerg_ quit (Client Quit) 2014-11-30T20:44:11Z Guest99536 left #lisp 2014-11-30T20:44:19Z faheem_: some censorship body. 2014-11-30T20:44:23Z xristos joined #lisp 2014-11-30T20:44:41Z ivan4th: danlentz: btw, your printv lib is very nice 2014-11-30T20:44:54Z danlentz: :) 2014-11-30T20:45:01Z faheem_: danlentz: i thought CLand clojure were quite similar. 2014-11-30T20:45:14Z faheem_: never tried clojure though 2014-11-30T20:45:33Z danlentz: Well, in some ways. Philosophically they are hugely different 2014-11-30T20:46:17Z Pixel_Outlaw: I'm scared of Clojure. :< 2014-11-30T20:46:48Z shka quit (Quit: WeeChat 1.0.1) 2014-11-30T20:46:55Z danlentz: CL empowers the developer to think in any way you want. Whatever is your vision. Clojure is extremely opinionated, directing you to think in a very specific way. 2014-11-30T20:47:44Z danlentz: I do like Clojure. There are some really good ideas there. 2014-11-30T20:48:15Z danlentz: And there is a vibrant marketplace where I am consistently employed. 2014-11-30T20:48:26Z ivan4th: BTW, the IRC bot in question (my ticket to gulag): https://github.com/ivan4th/itbot Currently it's a code drop, but I think I'll revive it soon & port it to cl-async 2014-11-30T20:48:39Z danlentz: But there really isn't anything Clojure can do that Common Lisp can't do better 2014-11-30T20:48:52Z ivan4th: ... it can also summon people to the IRC channel via pushbullet 2014-11-30T20:48:59Z yuikov joined #lisp 2014-11-30T20:49:05Z danlentz: Except perhaps interface with java 2014-11-30T20:50:08Z ivan4th: here's the line which may get github blocked in Russia: https://github.com/ivan4th/itbot/blob/master/commands.lisp#L131 2014-11-30T20:51:15Z faheem_: danlentz: interesting 2014-11-30T20:51:59Z danlentz: ivan4th: What printv needs I think as the next improvement would be a custom gray stream that could handle better indenting semantics and linebreaking. 2014-11-30T20:52:12Z danlentz: It's very primitive in that regard 2014-11-30T20:53:03Z faheem_: ivan4th: for those of us who doesn't know Russian, what does that mean? 2014-11-30T20:53:30Z attila_lendvai joined #lisp 2014-11-30T20:53:30Z attila_lendvai quit (Changing host) 2014-11-30T20:53:30Z attila_lendvai joined #lisp 2014-11-30T20:53:51Z innertracks quit (Quit: innertracks) 2014-11-30T20:54:11Z innertracks joined #lisp 2014-11-30T20:55:14Z thesaskwatch joined #lisp 2014-11-30T20:56:28Z faheem_: danlentz: so on balance you prefer CL? 2014-11-30T20:56:37Z tokenrove: danlentz: i like that clojure has brought a bunch of important lisp ideas to a broad group of active developers, but i share your feelings about it wrt CL, which is why i've been surprised by the couple of CL to Clojure "defections" i've witnessed personally. 2014-11-30T20:58:11Z danlentz: I was really heartsick to move to Clojure. It truly felt like a defeat to me. But I was just not able to find enough CL work to survive 2014-11-30T20:58:37Z Petit_Dejeuner_: "able to find enough CL work to survive" Find enough? Like, contracted work? 2014-11-30T20:58:43Z thesaskwatch quit (Remote host closed the connection) 2014-11-30T20:59:15Z danlentz: Well, contract, full-time. 2014-11-30T20:59:17Z Joreji joined #lisp 2014-11-30T20:59:58Z danlentz: And the CL jobs I did find paid significantly less 2014-11-30T21:01:08Z blahzik quit (Quit: blahzik) 2014-11-30T21:01:11Z danlentz: It's quite a different world in Clojureville. I get job solicitations almost daily. 2014-11-30T21:01:46Z thesaskwatch joined #lisp 2014-11-30T21:02:12Z ivan4th: faheem_: just this http://en.wikipedia.org/wiki/Putin_khuilo! 2014-11-30T21:02:13Z tokenrove: yeah, there's a lot of work in it, for sure. for CL, you have to be in a more secure position and usually doing greenfield development, i find. 2014-11-30T21:02:31Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-30T21:02:32Z kuanyui quit (Read error: Connection reset by peer) 2014-11-30T21:03:07Z ivan4th: faheem_: if you say the beginning of the 'song' on the IRC channel monitored by itbot, it continues it 2014-11-30T21:03:29Z faheem_: ivan4th: i don't follow. what IRC channel? what song? 2014-11-30T21:03:37Z faheem_: oh, that song 2014-11-30T21:03:43Z danlentz: I've gotten into doing Clojure for financial sector, which seems to be an interesting niche 2014-11-30T21:04:20Z faheem_: danlentz: why do you think Clojure is so much more popular? 2014-11-30T21:04:48Z danlentz: It is a really deep question. 2014-11-30T21:05:06Z boogie joined #lisp 2014-11-30T21:05:06Z danlentz: The simplest answer is that it was designed to be. 2014-11-30T21:05:10Z thesaskwatch: I think that it's because of java popularity 2014-11-30T21:05:12Z a20141129 joined #lisp 2014-11-30T21:05:16Z danlentz: Right. 2014-11-30T21:05:22Z danlentz: One reason anyway. 2014-11-30T21:05:49Z innertracks quit (Ping timeout: 272 seconds) 2014-11-30T21:05:51Z danlentz: It's not well known, but Clojure v 0.10 and below were all written in Common Lisp 2014-11-30T21:05:54Z scoofy: because... it targets a jvm that is very well supported? 2014-11-30T21:05:57Z danlentz: I have the source 2014-11-30T21:06:04Z ivan4th: I spent ~7-8 years doing mostly python and js stuff with some CL work in background, but js&py failed to win me over 2014-11-30T21:06:10Z H4ns: popular languages usually have a living creator that can be easily identified. 2014-11-30T21:06:27Z danlentz: Because companies have billions of dollars invested in java 2014-11-30T21:06:30Z H4ns: also, they change, and they give their community a way to influence the change. 2014-11-30T21:06:32Z thesaskwatch: scoofy: lot of java programmers looking for something better 2014-11-30T21:06:51Z thesaskwatch: but knowing jvm and ecosystem very well 2014-11-30T21:06:54Z blahzik joined #lisp 2014-11-30T21:07:03Z danlentz: This leverages that, instead of bucking it. 2014-11-30T21:07:50Z danlentz: The large number of java devs floating about means I see quite a bit of unartistic Clojure code 2014-11-30T21:08:09Z danlentz: Coming from CL is a huge advantage actually. 2014-11-30T21:08:42Z thesaskwatch: danlentz: You mean like unartistic but practical? 2014-11-30T21:08:47Z danlentz: People appreciate code that is more lisps. 2014-11-30T21:08:51Z danlentz: Lispy. 2014-11-30T21:09:09Z danlentz: I mean code written from an imperative or oo mindset 2014-11-30T21:09:18Z scoofy: i believe closure could be great for concurrent programming 2014-11-30T21:09:43Z scoofy: or, better than java 2014-11-30T21:09:45Z danlentz: Lparallel still rocks 2014-11-30T21:09:52Z danlentz: In my opinion 2014-11-30T21:09:58Z innertracks joined #lisp 2014-11-30T21:10:24Z danlentz: Although clojure's reducers and transducers can make para 2014-11-30T21:10:31Z thesaskwatch: danlentz: No idea, I'm just a beginner clojure programmer. 2014-11-30T21:10:38Z danlentz: Concurrency almost transparent to the developer 2014-11-30T21:10:43Z faheem_: so, to summarize, based on jvm, living creator who can alter the language, no frozen language standard? 2014-11-30T21:10:59Z faheem_: i think it also has some syntactic sugar compared to CL 2014-11-30T21:11:01Z thesaskwatch: faheem_: Immutable data structures is a big thing too. 2014-11-30T21:11:05Z danlentz: Yes 2014-11-30T21:11:06Z thesaskwatch: (by default) 2014-11-30T21:11:12Z danlentz: It's not cons based 2014-11-30T21:11:15Z danlentz: That's big 2014-11-30T21:11:19Z faheem_: thesaskwatch: in clojure? is that a good thing? 2014-11-30T21:11:25Z scoofy: i think if you want to make a popular language, targeting JVM is a good start 2014-11-30T21:11:30Z scoofy: nowadays 2014-11-30T21:11:31Z thesaskwatch: faheem_: Yes, no problems with concurrency. 2014-11-30T21:11:32Z Pixel_Outlaw: I just don't understand the fascination with immutability. 2014-11-30T21:11:38Z danlentz: Concurrency 2014-11-30T21:11:41Z faheem_: thesaskwatch: oh 2014-11-30T21:11:47Z danlentz: That's why. 2014-11-30T21:11:55Z danlentz: Functional programming 2014-11-30T21:12:00Z Petit_Dejeuner_: Purely functional code is trivial to understand and write tests for. 2014-11-30T21:12:00Z faheem_: not sure why that is the case, but ok. 2014-11-30T21:12:06Z Pixel_Outlaw: To me immutability is like asking that your legs be taped together so you never trip. 2014-11-30T21:12:35Z Patzy quit (Ping timeout: 265 seconds) 2014-11-30T21:12:38Z thesaskwatch: faheem_: you don't have to use locks for synchronizations, because clojure also supports stm 2014-11-30T21:12:41Z ska-fan: What lisp or scheme would I use to create a modern web application? There are so many out there. 2014-11-30T21:12:41Z ivan4th: danlentz: I don't plan to use clojure anytime soon, but still wonder how well their quasiquotation+unquote ~@ works in vectors (which are used for let bindings)? 2014-11-30T21:12:48Z H4ns: with immutability comes a clear model of values and equalness. 2014-11-30T21:13:08Z faheem_: thesaskwatch: stm? 2014-11-30T21:13:11Z Petit_Dejeuner_: ivan4th, I remember writing a macro and having "vector /= list" get in the way. 2014-11-30T21:13:15Z Patzy joined #lisp 2014-11-30T21:13:19Z Petit_Dejeuner_: getting* 2014-11-30T21:13:22Z pnpuff joined #lisp 2014-11-30T21:13:25Z thesaskwatch: faheem_: transactional memory 2014-11-30T21:13:28Z danlentz: The quasi quote and macros are almost identical to CL 2014-11-30T21:13:35Z faheem_: thesaskwatch: ok 2014-11-30T21:13:36Z danlentz: Except better 2014-11-30T21:13:39Z danlentz: Slightly 2014-11-30T21:13:56Z oudeis joined #lisp 2014-11-30T21:14:31Z danlentz: There are auto-gensyms and namespace resolution that make some of the more confusing macro issues much easier for beginners. 2014-11-30T21:14:43Z danlentz: Without really losing any expressiveness 2014-11-30T21:14:44Z ivan4th: danlentz, thing iz, let bindings are represented as a list in CL and as a vector in clojure. 2014-11-30T21:15:05Z ivan4th: so I have some doubts on whether unquote-splice works well there 2014-11-30T21:15:08Z thesaskwatch: ivan4th: afair it's for increased readability 2014-11-30T21:15:09Z danlentz: Yes, but in Clojure, vectors and lusts are both sets 2014-11-30T21:15:13Z danlentz: Seqs 2014-11-30T21:15:35Z ivan4th: s/iz/is/ 2014-11-30T21:15:35Z H4ns: ivan4th: you can always use `[~@foo] instead of `~foo 2014-11-30T21:15:36Z danlentz: Not sets that was autoincorrected 2014-11-30T21:15:56Z danlentz: Oh I see, yeah. 2014-11-30T21:16:17Z ivan4th: ok, so ~@ just works inside square brackets, ok 2014-11-30T21:16:24Z danlentz: Yup. 2014-11-30T21:16:29Z pnpuff left #lisp 2014-11-30T21:16:43Z danlentz: Clojure's macros are really nice. 2014-11-30T21:18:01Z danlentz: I have come to dislike all of the ([{[[( crap though. 2014-11-30T21:18:30Z thesaskwatch: danlentz: What's wrong with it? 2014-11-30T21:18:34Z danlentz: () is easier to deal with 2014-11-30T21:18:35Z H4ns: danlentz: really. paredit. 2014-11-30T21:18:42Z danlentz: I know. 2014-11-30T21:18:45Z thesaskwatch: danlentz: Paredit handles it fine. 2014-11-30T21:18:58Z faheem_: thesaskwatch: i see 2014-11-30T21:19:03Z danlentz: If my brain could only handle paredit... :) 2014-11-30T21:19:18Z _death: danlentz: I too dislike that 2014-11-30T21:19:18Z H4ns: danlentz: i believed that mine could not. until yesterday. 2014-11-30T21:19:31Z H4ns: danlentz: it made my weekend (with clojure) much more enjoyable. 2014-11-30T21:19:34Z danlentz: Really? 2014-11-30T21:19:37Z ivan4th: hmmm I thought one gets used to ([{ after a while. as for me, it just looks bad. but yes, paredit is able to help with it 2014-11-30T21:19:41Z thesaskwatch: danlentz: have you seen http://danmidwood.com/content/2014/11/21/animated-paredit.html ? 2014-11-30T21:19:42Z H4ns: danlentz: yes. xach drove me to it. 2014-11-30T21:19:56Z danlentz: H4ns is this hexstream? 2014-11-30T21:20:03Z mrSpec quit (Quit: mrSpec) 2014-11-30T21:20:13Z H4ns: danlentz: are you trying to insult me? 2014-11-30T21:20:18Z H4ns: :D 2014-11-30T21:20:55Z Pixel_Outlaw: Is the whole ( [ ] ) thing new? I first saw it with Racket 2014-11-30T21:21:53Z danlentz: theaskwatch: thanks, this graphic is really good! 2014-11-30T21:22:26Z danlentz: Maybe it's time to try paredit again. 2014-11-30T21:22:36Z kuanyui joined #lisp 2014-11-30T21:22:59Z urandom__ joined #lisp 2014-11-30T21:23:46Z Davidbrcz joined #lisp 2014-11-30T21:23:52Z edgar-rft joined #lisp 2014-11-30T21:26:15Z blahzik quit (Quit: blahzik) 2014-11-30T21:27:01Z ozzloy joined #lisp 2014-11-30T21:29:53Z CrazyWoods quit (Ping timeout: 272 seconds) 2014-11-30T21:30:20Z milosn quit (Remote host closed the connection) 2014-11-30T21:33:24Z cy quit (Ping timeout: 256 seconds) 2014-11-30T21:38:22Z a20141129 quit (Quit: Page closed) 2014-11-30T21:39:23Z danlentz: ivan4th: You wrote an xml pattern matcher, yes? 2014-11-30T21:40:38Z pgomes quit (Quit: Leaving) 2014-11-30T21:47:26Z axion: is there a equivalent CL function for arctangent with 2 arguments (atan2)? 2014-11-30T21:50:31Z Bike: axion: atan takes two arguments, optionally 2014-11-30T21:51:21Z Pixel_Outlaw: http://www.lispworks.com/documentation/HyperSpec/Body/f_asin_.htm 2014-11-30T21:51:24Z axion: aha, thanks 2014-11-30T21:51:59Z Pixel_Outlaw: Consult Ye The Hyperspec :) 2014-11-30T21:53:42Z Joreji quit (Read error: Connection reset by peer) 2014-11-30T21:54:37Z ivan4th: danlentz: yes https://github.com/ivan4th/xml-match It helped me a lot with converting lots of severely-brain-damaged-html to some form of semantic xml 2014-11-30T21:55:53Z ivan4th: an example of said brain damage: js code in html which uses eval("xx" + i) instead of arrays. of course it was ignored during the conversion but still shows ingenuity of ppl who wrote that html code 2014-11-30T21:56:50Z Davidbrcz quit (Ping timeout: 250 seconds) 2014-11-30T21:56:56Z ivan4th: the matcher is internally modelled after cl-ppcre 2014-11-30T21:57:05Z ivan4th: (closure-based compilation of patterns) 2014-11-30T21:57:19Z djangojames joined #lisp 2014-11-30T21:57:36Z cy joined #lisp 2014-11-30T21:59:22Z meiji11 joined #lisp 2014-11-30T22:03:01Z jumblerg joined #lisp 2014-11-30T22:03:04Z kjeldahl quit (Ping timeout: 258 seconds) 2014-11-30T22:03:22Z ivan4th: one of many tasks that the matcher faced: detect most of 1001 ways used by idiots to render a picture with magnifying glass using from 10 to 100 nested tags and convert every occurence of it to specialized XML tag 2014-11-30T22:04:33Z karswell quit (Read error: Connection reset by peer) 2014-11-30T22:04:36Z k-stz quit (Remote host closed the connection) 2014-11-30T22:05:24Z karswell joined #lisp 2014-11-30T22:07:02Z jumblerg quit (Client Quit) 2014-11-30T22:07:03Z normanrichards joined #lisp 2014-11-30T22:07:05Z normanrichards quit (Read error: Connection reset by peer) 2014-11-30T22:07:47Z alexey1 joined #lisp 2014-11-30T22:08:23Z normanrichards joined #lisp 2014-11-30T22:08:23Z normanrichards quit (Read error: Connection reset by peer) 2014-11-30T22:12:30Z alexey1 quit (Ping timeout: 256 seconds) 2014-11-30T22:19:19Z ska-fan: What is a modern lispy implementation with a good standard library that I can use to write real world software? I'm looking for something similar to the CPython + Django stack, just with Lisp instead of Python. 2014-11-30T22:19:37Z ska-fan: Except for maybe Clojure. I'm also aware of Hy. 2014-11-30T22:19:44Z Shinmera: This channel is for CL 2014-11-30T22:19:47Z Shinmera: so: Common Lisp 2014-11-30T22:21:00Z ska-fan: Shinmera: Isn't CL "just" a standard, not an implementation? 2014-11-30T22:21:53Z Bike: libraries generally work in different implementations. 2014-11-30T22:22:00Z Shinmera: Your message was confusing because you can use CL to write "real world software" independant of the implementation 2014-11-30T22:22:04Z Grue`: people write real world software with many things 2014-11-30T22:22:32Z stacksmith: CL is a pretty good language to write real world software. 2014-11-30T22:22:45Z Shinmera: If you want recommendations for CL implementations the usual suggestion here will be SBCL or CCL. 2014-11-30T22:22:49Z hzp`fi joined #lisp 2014-11-30T22:23:02Z moei joined #lisp 2014-11-30T22:24:07Z innertracks quit (Quit: innertracks) 2014-11-30T22:24:13Z Grue`: I don't think there's a webapp framework as robust as Django, but there are a few choices for CL 2014-11-30T22:24:50Z inklesspen: everyone i know of using Django is desperately trying to stop using Django. 2014-11-30T22:24:54Z innertracks joined #lisp 2014-11-30T22:25:09Z Shinmera: inklesspen: What he said was "robust", not "usable" :) 2014-11-30T22:25:13Z Pixel_Outlaw: sbcl is kind of the defacto CL implementation it seems. 2014-11-30T22:25:39Z inklesspen: it's robust like a staph infection is robust 2014-11-30T22:25:43Z Pixel_Outlaw: For library extensions for web servers etc. 2014-11-30T22:26:03Z Grue`: and they can't stop using it because nothing offers the same features as easily? 2014-11-30T22:27:14Z ska-fan: Ok, thanks. Before I wrote that, I read about hunchentoot - which may not be representative - and it talks about how it works "natively" with LispWorks, but with compatibility libraries it works with other implementations as well. These compatability libraries have compatability matrices, and so on. 2014-11-30T22:27:49Z ska-fan: sbcl, alright, thanks :) 2014-11-30T22:27:54Z inklesspen: Grue`: no, because they have spaghetti code written using twenty-seven django extensions and they have to tease out what does what. 2014-11-30T22:27:55Z Grue`: on popular implementations like sbcl or ccl, almost anything will work 2014-11-30T22:28:19Z dagnachew joined #lisp 2014-11-30T22:29:02Z Grue`: inklesspen: sounds like a problem with shitty code and not enforcing MVC separation; django is pretty modular IME 2014-11-30T22:29:34Z ska-fan: Is there a library / package manager thing for CL libraries that everyone generally uses? 2014-11-30T22:29:50Z Shinmera: quicklisp 2014-11-30T22:32:49Z harish quit (Ping timeout: 265 seconds) 2014-11-30T22:33:17Z Pixel_Outlaw: quicklisp is excellent 2014-11-30T22:36:08Z ska-fan: Quicklisp! Thanks :) 2014-11-30T22:38:56Z Subfusc quit (Quit: ZNC - http://znc.in) 2014-11-30T22:39:23Z lavokad joined #lisp 2014-11-30T22:39:35Z lambda_ quit (Quit: leaving) 2014-11-30T22:48:28Z Subfusc joined #lisp 2014-11-30T22:54:54Z Ethan- joined #lisp 2014-11-30T22:54:55Z bcoburn quit (Read error: Connection reset by peer) 2014-11-30T22:55:17Z danlentz: ivan4th: I remember reading through it and I thought it was very nice. 2014-11-30T22:56:11Z manuel___ joined #lisp 2014-11-30T22:57:26Z puchacz quit (Quit: Konversation terminated!) 2014-11-30T22:58:19Z danlentz: Ivan4th: There were about 3-4 interesting ones. I also liked the unifier by (?) Leslie Polzer based on the closure html parser 2014-11-30T22:58:45Z houshuang joined #lisp 2014-11-30T23:00:21Z jumblerg joined #lisp 2014-11-30T23:01:07Z scoofy quit (Ping timeout: 245 seconds) 2014-11-30T23:02:01Z danlentz: ivan4th: there is another unifier that is based on cl-unification and closure xml/html libraries that is pretty interesting. Unfirtunately, its not well known, i dont think, and might be hard to track down. Its called OH-DUCKS 2014-11-30T23:02:53Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-30T23:03:35Z ivan4th: well, I may need xml pattern matching again soon, will see whether I should use xml-match or some other lib, so thanks. It'll be some kind of .odt import this time 2014-11-30T23:05:35Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T23:06:05Z thesaskwatch quit (Remote host closed the connection) 2014-11-30T23:06:31Z danlentz: ivan4th: xml-match was very clean and helpful to me as an example for learning about these things. 2014-11-30T23:07:08Z atgreen joined #lisp 2014-11-30T23:07:19Z axion: is it offtopic to ask for help related to an algorithm i'm trying to come up with (pseudocode at this point, not lisp). 3/6 possible results are expected...need help perfecting it 2014-11-30T23:11:15Z houshuang quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-30T23:12:38Z scoofy joined #lisp 2014-11-30T23:13:45Z ivan4th: danlentz: unfortunately it's somewhat underdocumented :( 2014-11-30T23:14:07Z ivan4th: BTW, what solutions are currently popular for generating pretty-looking CL API docs? 2014-11-30T23:14:20Z ivan4th: besides quickdocs 2014-11-30T23:14:38Z ehu quit (Ping timeout: 244 seconds) 2014-11-30T23:16:36Z danlentz: well. im not sure about “current” ive been out of touch for a while. I have a current fork of CLDOC on github with (mild) tweaks (iirc). 2014-11-30T23:16:37Z oudeis quit (Ping timeout: 240 seconds) 2014-11-30T23:17:43Z ivan4th: thanks. 2014-11-30T23:18:41Z jumblerg joined #lisp 2014-11-30T23:20:37Z danlentz: ivan4th: the last time i faced the documentation issue, i decided to leverage the CLDOC engine and write my own (simplistic) generator for Markdown that would look nice on github. The code (very rough) is in my ctrie library and as well you can view the output at http://github.com/danlentz/cl-ctrie 2014-11-30T23:21:02Z danlentz: ivwn4th: not sure if tgat can help at all. 2014-11-30T23:22:02Z danlentz: it does depend on my special fork of CLDOC, though. I cant remember why exactly. 2014-11-30T23:22:12Z blahzik joined #lisp 2014-11-30T23:24:20Z vi1 joined #lisp 2014-11-30T23:24:35Z ivan4th: ok, that may help, too, thanks! 2014-11-30T23:25:06Z attila_lendvai quit (Quit: Leaving.) 2014-11-30T23:26:51Z manuel___ quit (Quit: manuel___) 2014-11-30T23:26:57Z mishoo quit (Ping timeout: 265 seconds) 2014-11-30T23:29:50Z milesrout joined #lisp 2014-11-30T23:29:50Z milesrout quit (Changing host) 2014-11-30T23:29:50Z milesrout joined #lisp 2014-11-30T23:31:45Z kub4 joined #lisp 2014-11-30T23:32:37Z djangojames quit (Ping timeout: 240 seconds) 2014-11-30T23:32:55Z zxq9 quit (Quit: Konversation terminated!) 2014-11-30T23:36:47Z bcoburn joined #lisp 2014-11-30T23:43:01Z davazp joined #lisp 2014-11-30T23:46:00Z araujo quit (Quit: Leaving) 2014-11-30T23:47:47Z Pixel_Outlaw quit (Quit: Leaving) 2014-11-30T23:48:04Z Pixel_Outlaw joined #lisp 2014-11-30T23:50:40Z yrdz joined #lisp 2014-11-30T23:55:33Z manuel___ joined #lisp 2014-11-30T23:56:07Z lavokad quit (Ping timeout: 245 seconds) 2014-11-30T23:56:51Z yrdz quit (Remote host closed the connection) 2014-11-30T23:57:07Z yrdz joined #lisp 2014-11-30T23:57:24Z blahzik quit (Quit: blahzik)