2014-10-06T00:02:14Z MoALTz__ joined #lisp 2014-10-06T00:03:36Z ruste joined #lisp 2014-10-06T00:03:57Z girrig_ quit (Ping timeout: 245 seconds) 2014-10-06T00:05:00Z girrig joined #lisp 2014-10-06T00:05:40Z MoALTz_ quit (Ping timeout: 250 seconds) 2014-10-06T00:06:42Z SvenGek left #lisp 2014-10-06T00:06:50Z varjag_ quit (Quit: Connection closed for inactivity) 2014-10-06T00:07:36Z chase_gray joined #lisp 2014-10-06T00:08:06Z stardiviner joined #lisp 2014-10-06T00:09:01Z chase_gray: I tried doing (defun print-hash (alist) 2014-10-06T00:10:36Z chase_gray: ** I tried doing (defun change-hash (alist) (setf 'alist (cons 'a 'b))) where alist is (get-hash key *hash-table*), but it says that setf quote is undefined - is there any easy way around this? 2014-10-06T00:16:17Z chase_gray: oh, its just a macro 2014-10-06T00:17:21Z Bicyclidine: you seem confused about how evaluation works... 2014-10-06T00:18:33Z zz_karupa is now known as karupa 2014-10-06T00:19:53Z chase_gray: yeah, i'm really new to lisp 2014-10-06T00:19:56Z robot-beethoven joined #lisp 2014-10-06T00:21:47Z Bicyclidine: What is the change-hash macro supposed to do exactly? 2014-10-06T00:21:52Z Bicyclidine: er, change-hash function, sorry. 2014-10-06T00:22:41Z oGMo: chase_gray: you're quoting alist. you meant to not quote alist. if you quote it, you mean "the symbol called alist" not "whatever alist references" 2014-10-06T00:23:24Z oGMo: chase_gray: you should read a good intro book, this is a very simple problem and you're going to get yelled at for asking simple, basic questions 2014-10-06T00:23:37Z stardiviner quit (Ping timeout: 272 seconds) 2014-10-06T00:24:11Z Bicyclidine: I didn't mean to yell, sorry. But yeah reading PCL or something might help. 2014-10-06T00:24:32Z chase_gray: ah, my problem was that i wanted to use (setf (get-hash key *hash-table*) something) 2014-10-06T00:24:46Z chase_gray: and i called change-hash (get-hash key *hash-table*) 2014-10-06T00:25:00Z oGMo: Bicyclidine: that doesn't count as yelling ;) 2014-10-06T00:25:05Z chase_gray: yeah, that was a really dumb question though 2014-10-06T00:25:27Z chase_gray: it's been a long day of debugging 2014-10-06T00:25:48Z oGMo: heh 2014-10-06T00:28:19Z blakbunnie27 quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!) 2014-10-06T00:35:26Z innertracks joined #lisp 2014-10-06T00:41:04Z stardiviner joined #lisp 2014-10-06T00:48:05Z zRecursive joined #lisp 2014-10-06T00:49:23Z [1]cneira joined #lisp 2014-10-06T00:51:26Z innertracks quit (Ping timeout: 258 seconds) 2014-10-06T00:51:43Z cneira quit (Ping timeout: 272 seconds) 2014-10-06T00:51:44Z [1]cneira is now known as cneira 2014-10-06T00:54:28Z svetlyak40wt joined #lisp 2014-10-06T00:55:43Z kristof joined #lisp 2014-10-06T00:59:05Z svetlyak40wt quit (Ping timeout: 272 seconds) 2014-10-06T01:02:33Z MutSbeta quit (Quit: Leaving.) 2014-10-06T01:10:43Z Bicyclidine quit (Ping timeout: 272 seconds) 2014-10-06T01:19:26Z oleo is now known as Guest11705 2014-10-06T01:21:10Z oleo__ joined #lisp 2014-10-06T01:21:15Z neoesque joined #lisp 2014-10-06T01:22:28Z Guest11705 quit (Ping timeout: 244 seconds) 2014-10-06T01:31:21Z izirku joined #lisp 2014-10-06T01:41:36Z tkhoa2711 joined #lisp 2014-10-06T01:42:22Z tadni quit (Ping timeout: 245 seconds) 2014-10-06T01:43:54Z hugoduncan is now known as hugod 2014-10-06T01:54:53Z svetlyak40wt joined #lisp 2014-10-06T01:56:23Z blakbunnie27 joined #lisp 2014-10-06T01:59:12Z svetlyak40wt quit (Ping timeout: 250 seconds) 2014-10-06T01:59:17Z chase_gray left #lisp 2014-10-06T02:00:08Z paul0 quit (Ping timeout: 260 seconds) 2014-10-06T02:15:22Z jusss joined #lisp 2014-10-06T02:16:04Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T02:17:22Z hiyosi quit (Ping timeout: 240 seconds) 2014-10-06T02:20:16Z araujo quit (Quit: Leaving) 2014-10-06T02:20:32Z huza joined #lisp 2014-10-06T02:20:34Z LiamH1 joined #lisp 2014-10-06T02:22:09Z LiamH1 quit (Client Quit) 2014-10-06T02:22:17Z LiamH quit (Ping timeout: 272 seconds) 2014-10-06T02:28:48Z tadni joined #lisp 2014-10-06T02:31:52Z ehaliewicz quit (Ping timeout: 245 seconds) 2014-10-06T02:32:08Z huza quit (Quit: WeeChat 0.3.8) 2014-10-06T02:32:27Z huza joined #lisp 2014-10-06T02:39:57Z tadni quit (Ping timeout: 246 seconds) 2014-10-06T02:40:07Z tkhoa2711 joined #lisp 2014-10-06T02:43:35Z hiyosi joined #lisp 2014-10-06T02:43:48Z kristof quit (Ping timeout: 246 seconds) 2014-10-06T02:47:52Z hiyosi quit (Ping timeout: 240 seconds) 2014-10-06T02:52:03Z atgreen quit (Remote host closed the connection) 2014-10-06T03:02:03Z zacharias_ joined #lisp 2014-10-06T03:04:05Z MoALTz__ quit (Ping timeout: 272 seconds) 2014-10-06T03:05:57Z zacharias quit (Ping timeout: 272 seconds) 2014-10-06T03:09:22Z huza quit (Ping timeout: 240 seconds) 2014-10-06T03:14:16Z rme quit (Quit: rme) 2014-10-06T03:14:16Z rme quit (Quit: rme) 2014-10-06T03:19:21Z nell quit (Read error: Connection reset by peer) 2014-10-06T03:20:01Z nell joined #lisp 2014-10-06T03:24:50Z frkout_ quit (Remote host closed the connection) 2014-10-06T03:25:16Z frkout joined #lisp 2014-10-06T03:31:57Z jasom quit (Read error: Connection reset by peer) 2014-10-06T03:32:18Z zRecursive quit (Remote host closed the connection) 2014-10-06T03:32:51Z simulacrum joined #lisp 2014-10-06T03:35:27Z svetlyak40wt joined #lisp 2014-10-06T03:35:42Z beach joined #lisp 2014-10-06T03:35:49Z beach: Good morning everyone! 2014-10-06T03:38:38Z kanru: good morning beach 2014-10-06T03:40:35Z svetlyak40wt quit (Ping timeout: 272 seconds) 2014-10-06T03:42:14Z drmeister: Hello beach. 2014-10-06T03:42:22Z jusss: , 2014-10-06T03:43:38Z kristof joined #lisp 2014-10-06T03:44:16Z yngccc joined #lisp 2014-10-06T03:44:25Z beach: drmeister: I had a pile of admin work to do over the weekend, and I am not quite done, so I am working slowly on Cleavir at the moment. Don't worry though, I'll soon get up to speed again. 2014-10-06T03:44:29Z hiyosi joined #lisp 2014-10-06T03:45:58Z drmeister: beach: Don't give the slightest thought to me. I'm thinking it will be November/December before I can do something major like investigating Cleavir and adding an LLVM-IR backend. 2014-10-06T03:46:29Z beach: That plans fits me pretty well. 2014-10-06T03:46:39Z yngccc left #lisp 2014-10-06T03:48:50Z nell quit (Ping timeout: 250 seconds) 2014-10-06T03:49:25Z hiyosi quit (Ping timeout: 260 seconds) 2014-10-06T03:51:40Z zyaku quit (Ping timeout: 260 seconds) 2014-10-06T03:52:12Z beach: Just to keep you up to date: I am working on the translator from forms to ASTs. In order to implement MACROLET I needed a minimal compiler (in the sense of Common Lisp minimal compilation) which is done. To test the translator, I am working on an AST interpreter in parallel. 2014-10-06T03:52:55Z beach: The AST interpreter is simple and slow, but could be made faster some day, and it could be used separately as an interpreter for any implementation. 2014-10-06T03:53:50Z beach: I have written most of the interpreter and AST translator. The main remaining thing is interpreting local functions, and translating LET and LET*. 2014-10-06T03:54:53Z beach: Also left is all the fancy stuff that is not needed for a correct system, but that is needed for a fast one, namely the boxing/unboxing stuff. 2014-10-06T03:55:40Z slyrus joined #lisp 2014-10-06T03:55:44Z drmeister: Where does the AST interpreter store bindings? 2014-10-06T03:56:15Z beach: The lexical runtime environment is a list of hash tables. 2014-10-06T03:56:33Z beach: The dynamic runtime environment is that of the host system. 2014-10-06T03:56:55Z drmeister: That is exactly like my interpreter. 2014-10-06T03:57:01Z beach: Oh! :) 2014-10-06T03:57:06Z drmeister: Slow and simple. 2014-10-06T03:57:06Z beach: VERY SLOW! :) 2014-10-06T03:57:12Z beach: yeah. 2014-10-06T03:57:21Z drmeister: Don't try and bootstrap CLOS with that - it will take days. 2014-10-06T03:57:50Z beach: I won't. Thanks for the warning. I use the native host system for bootstrapping SICL CLOS. 2014-10-06T03:58:14Z drmeister: But your AST has already expanded macros - is that correct? 2014-10-06T03:58:22Z beach: Correct. 2014-10-06T04:00:22Z drmeister: Mine doesn't - so it expands them repeatedly - I wonder what the difference in performance is. 2014-10-06T04:00:43Z beach: Oh! I see. That could be a big difference. 2014-10-06T04:00:52Z zeitue quit (Ping timeout: 240 seconds) 2014-10-06T04:01:38Z drmeister: I wrote up a description of how Clasp bootstraps itself from the interpreter to the full system with CLOS. It's a bit stream-of-consciousness: http://drmeister.wordpress.com/2014/09/26/how-clasp-compiles-itself/ 2014-10-06T04:02:31Z drmeister: It's only worth reading to see how I got around the terrible performance of an interpreter that endlessly expands macros. 2014-10-06T04:03:40Z beach: Nice. Good to document that. 2014-10-06T04:03:47Z drmeister: The summary is: I wrote a compiler in as minimal a Common Lisp as I could stand and then I start it up as quickly as I can. 2014-10-06T04:03:59Z beach: Yes, I see. 2014-10-06T04:04:18Z beach: The initial interpreter is written in what? C++? 2014-10-06T04:04:23Z drmeister: Yes. C++ 2014-10-06T04:07:15Z Sgeo is now known as Mikuru 2014-10-06T04:07:18Z Mikuru is now known as Sgeo 2014-10-06T04:08:35Z simulacrum quit (Remote host closed the connection) 2014-10-06T04:08:36Z beach: I guess it's a choice, but with SICL, I decided early on to bootstrap from a complete Common Lisp system. 2014-10-06T04:08:57Z kuanyui joined #lisp 2014-10-06T04:09:00Z beach: That way, I don't have to dumb down the compiler or anything else for that matter. 2014-10-06T04:09:27Z beach: The main inconvenience is that it makes one's head spin when thinking about bootstrapping issues. 2014-10-06T04:09:41Z drmeister: Right, so you have the full language to work with. The way I see it, my compiler will bring up the full language and make it a suitable environment to run Cleavir. 2014-10-06T04:10:09Z beach: Sure. Any method for arriving at a full system is fine. 2014-10-06T04:10:26Z bgs100 quit (Quit: bgs100) 2014-10-06T04:11:02Z drmeister: Currently I'm going back and fixing my COMPILE-FILE to make it work with ASDF. 2014-10-06T04:11:27Z beach: What is involved in order to do that? 2014-10-06T04:11:48Z pjb: To avoid head spinning while bootstrapping, check out the diagrams in https://groups.google.com/forum/message/raw?msg=comp.lang.lisp/Ac-Vj8UJpZ8/i8R7PTeg7QwJ 2014-10-06T04:12:42Z drmeister: It's little things. Like my COMPILE-FILE didn't return (values output-file warnings-p failures-p). ASDF depends on it providing the output-file. 2014-10-06T04:12:49Z beach: pjb: Wow, you worked hard on those. :) 2014-10-06T04:12:58Z pjb: emacs picture mode :-) 2014-10-06T04:13:00Z effy quit (Read error: Connection reset by peer) 2014-10-06T04:13:06Z beach: pjb: Still... 2014-10-06T04:13:33Z beach: drmeister: Oh, so your compiler wasn't quite conforming? 2014-10-06T04:14:19Z effy joined #lisp 2014-10-06T04:14:53Z drmeister: Right - differences between the CLHS and what Clasp does are considered bugs. 2014-10-06T04:15:08Z drmeister: Bugs in Clasp. 2014-10-06T04:15:15Z beach: Right :) 2014-10-06T04:15:46Z beach: I know the problem. Little things like that are forgotten for a while, and then literally hundreds of them accumulate. 2014-10-06T04:16:53Z drmeister: It's only when I try to run unfamiliar Common Lisp software that they show up. 2014-10-06T04:17:53Z drmeister: For instance. ASDF depends on the functions: cl:lisp-implementation-version and cl:lisp-implementation-type - I didn't know they existed - so I added them. 2014-10-06T04:18:49Z beach: Yeah, that's what I mean by "little things". You look at those function and think "oh, not needed right now, so I'll write them later". 2014-10-06T04:19:21Z zeitue joined #lisp 2014-10-06T04:19:51Z drmeister: ASDF would also like some kind of unique identifier that identifies more finely the version of the lisp implementation. So I rigged it so that the git SHA1 commit hash was available from the function (core:lisp-implementation-id). 2014-10-06T04:20:18Z beach: That's smart. 2014-10-06T04:21:04Z drmeister: Stuff like that (1) bring up clasp (2) (asdf:load-system :alexandria) (3) crash (4) figure out why it crashed (5) implement fix (6) goto (1). 2014-10-06T04:21:33Z drmeister: Keeps me off the streets. 2014-10-06T04:21:45Z beach: Indeed. 2014-10-06T04:22:04Z yacks quit (Quit: Leaving) 2014-10-06T04:22:24Z yacks joined #lisp 2014-10-06T04:26:05Z beach vanishes for a while. 2014-10-06T04:26:18Z drmeister: I was talking with a friend of mine today about Clasp - he's written a couple of compilers. He still can't believe that Clasp generated code is >100x slower than SBCL. I have trouble understanding it myself, but after more than a year of trying to identify the cause I've gritted my teeth and lived with it. 2014-10-06T04:27:08Z drmeister: It made me wonder again if I'm missing something crucial. Profiling with OS X Instruments doesn't show any single functions standing out and consuming lots of time. 2014-10-06T04:28:10Z drmeister: If Cleavir does all of this analysis and moves most variable bindings onto the stack in addition to other optimizations - will that speed things up 100x? 2014-10-06T04:30:08Z stardiviner quit (Quit: my website: http://stardiviner.dyndns-blog.com/) 2014-10-06T04:35:12Z pjb: In general, I don't find OS X Instruments too useful. 2014-10-06T04:35:30Z drmeister: How do you profile things? 2014-10-06T04:35:44Z pjb: Try to profile it on linux. 2014-10-06T04:35:53Z drmeister: How would you solve a problem like this? 2014-10-06T04:36:03Z drmeister: What profiler do you use on Linux? 2014-10-06T04:36:46Z pjb: In your case, I guess you could use the normal gprof profilers. Unless class/llvm provides a better profiler. 2014-10-06T04:37:00Z pjb: For example, with llvm, I assume they have instrumented VMs. 2014-10-06T04:37:36Z pjb: Do you have only one compiler, or do you retain the multitude of compilers of ecl? 2014-10-06T04:37:54Z drmeister: I have just one compiler. 2014-10-06T04:38:02Z drmeister: I don't use any ECL compiler code. 2014-10-06T04:38:18Z pjb: So, only LLVM code. Check LLVM tools. 2014-10-06T04:38:54Z pjb: http://llvm.org/releases/3.4/docs/CommandGuide/llvm-prof.html 2014-10-06T04:39:10Z work_op quit (Remote host closed the connection) 2014-10-06T04:39:17Z pjb: http://llvm.org/pubs/2010-04-NeustifterProfiling.html 2014-10-06T04:40:26Z simulacrum joined #lisp 2014-10-06T04:41:11Z kwc joined #lisp 2014-10-06T04:42:18Z drmeister: I'll look into it again. I'm just a bit skeptical that profiling on Linux will illuminate a problem that is invisible to Instruments on OS X. 2014-10-06T04:42:50Z pjb: Well, what is the slowest function as reported by Instruments? 2014-10-06T04:43:50Z pjb: What would be interesting is to compare each CL function between your clasp and sbcl, to see what CL functions are unduly slower. 2014-10-06T04:45:11Z hiyosi joined #lisp 2014-10-06T04:46:15Z drmeister: In the current run dynamic_cast 20% 2014-10-06T04:46:23Z drmeister: That's the Boehm Collector. 2014-10-06T04:46:42Z drmeister: With the MPS Collector dynamic_cast costs essentially nothing. 2014-10-06T04:46:51Z pjb: The Boehm collector is written in C. dynamic_cast is called from C++ code. Are you compiling C++? 2014-10-06T04:47:21Z pjb: If you are running code that you don't compile yourself, God helps you! 2014-10-06T04:47:26Z drmeister: Yes, C++. 2014-10-06T04:47:32Z drmeister: Huh? 2014-10-06T04:47:38Z drmeister: I compile everything myself. 2014-10-06T04:47:45Z pjb: Are you taking C++ and compiling it to LLVM yourself? 2014-10-06T04:48:27Z drmeister: No. It's one miracle at a time for me. I use Clang to compile C++. 2014-10-06T04:48:30Z drmeister: Let me explain 2014-10-06T04:48:41Z pjb: Oh, so perhaps it's clang which generates slow code. 2014-10-06T04:49:08Z pjb: Anyways, my point is that you need to distinguish your code from the code compiled by other compilers in your profiling. 2014-10-06T04:49:08Z drmeister: When I use the Boehm collector, my C++ code uses the built in C++ dynamic_cast which is well known to be slow. 2014-10-06T04:49:39Z hiyosi quit (Ping timeout: 244 seconds) 2014-10-06T04:51:13Z drmeister: When I use the MPS collector my static analyzer analyzes the 172 C++ source files and generates 15,000 lines of C++ that interface my C++ code to the MPS library. Since I have the whole program at my fingertips in the static analyzer I assign each class a KIND integer value and replace dynamic_cast with a home-brew version that compares KIND values to 2014-10-06T04:51:13Z drmeister: integer ranges to determine if dynamic_casts can be carried out or not. 2014-10-06T04:51:36Z drmeister: In the MPS version, my home-brew dynamic cast is so fast that it doesn't register on Instruments. 2014-10-06T04:53:24Z zeitue quit (Ping timeout: 250 seconds) 2014-10-06T04:54:24Z pjb: Is it slow only when you load and compile, or is it slow when you do other things? 2014-10-06T04:54:58Z pjb: For example, what do you get for: (time (length (loop repeat 1e6 collect 1))) 2014-10-06T04:55:21Z pjb: In ccl on i7 950: took 106,708 microseconds (0.106708 seconds) to run. 38,872 microseconds (0.038872 seconds, 36.43%) of which was spent in GC. 2014-10-06T04:55:21Z pjb: 2014-10-06T04:56:06Z drmeister: Here's what Instruments gives me when I'm running my compiler for a while: http://imgur.com/4IqiLJC 2014-10-06T04:57:12Z pjb: Well, see my simple loop above: it spends only 36% of the time int he GC. 2014-10-06T04:57:13Z drmeister: For instance: I generate a compiled/linked dynamic library that contains the ASDF code. I load that dynamic library (essentially a .dylib file) into Clasp - it takes about 30 seconds. 2014-10-06T04:57:17Z pjb: Try it! 2014-10-06T04:58:19Z drmeister: I will, I'm just compiling the CL source code again after messing around with COMPILE-FILE all evening. I don't have a running Clasp at the moment. 2014-10-06T04:58:36Z drmeister: That's why I'm a chatty Cathy on IRC. 2014-10-06T04:58:58Z pjb: In your procedure, you could add a counter, and name the executable with that counter added, so you can try older versions ;-) 2014-10-06T04:59:10Z drmeister: Let me see if my linux system has a running CL 2014-10-06T04:59:42Z kuanyui quit (Quit: Leaving.) 2014-10-06T04:59:50Z drmeister: Yeah, it looks like it does. Hang on. 2014-10-06T05:00:26Z knosys quit (Quit: WeeChat 0.4.2) 2014-10-06T05:01:34Z drmeister: pjb: (time (length (loop repeat 1e6 collect 1))) --> 23.36 seconds. 2014-10-06T05:01:57Z drmeister: 233x slower than ccl. 2014-10-06T05:02:00Z pjb: Any data about GC? 2014-10-06T05:02:30Z oleo__ quit (Quit: Verlassend) 2014-10-06T05:02:36Z pjb: There should be no C or C++ code involved here, only CL compiled to LLVM. So you should be able to use the LLVM profiler. 2014-10-06T05:02:43Z drmeister: No, I don't have that info available. 2014-10-06T05:03:10Z pjb: What about (disassemble (compile nil (lambda () (length (loop repeat 1e6 collect 1))))) ? 2014-10-06T05:03:29Z knosys joined #lisp 2014-10-06T05:06:37Z zeitue joined #lisp 2014-10-06T05:06:45Z drmeister: Here it is: 2014-10-06T05:06:50Z drmeister: https://www.irccloud.com/pastebin/WIK4SUXJ 2014-10-06T05:07:36Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-06T05:08:03Z drmeister: It's easier to understand with a control-flow-graph but I can't generate that until the OS X version compiles again. 2014-10-06T05:10:25Z work_op joined #lisp 2014-10-06T05:10:52Z Bike: is this allocating a "locally-env"...? 2014-10-06T05:11:35Z Bike: this looks like dozens of function calls. 2014-10-06T05:12:36Z fantazo joined #lisp 2014-10-06T05:12:43Z Bike: well, it's nice to have disassemblies that are even harder to read than x86 :p 2014-10-06T05:12:48Z drmeister: On line 129 - yeah, it is allocating a frame on the heap and putting the pointer into %locally-env 2014-10-06T05:13:24Z drmeister: That one has zero length so it could be optimized away. 2014-10-06T05:13:26Z pjb: You should probably invest some time into making those disassembly more readable, if you want to optimize them out. 2014-10-06T05:13:28Z Bike: it looks like you're doing dozens of allocations and calling possibly hundreds of functions for every lisp function call. 2014-10-06T05:13:56Z drmeister: pjb: Google and Apple are investing millions of dollars into making that as readable as it is. 2014-10-06T05:14:03Z pjb: :-) 2014-10-06T05:14:09Z drmeister: That there is pure, concentrated LLVM-IR. 2014-10-06T05:15:01Z Bike: actually, it looks almost like your compiled function is basically a series of interpreter calls, but i can't read it that well 2014-10-06T05:16:07Z drmeister: On line 128 is the top of the loop. You just have to look down a few lines and you see all sorts of horribleness with frames being allocated on the heap WITHIN the loop. Now if I did escape analysis and those bindings could be put on the stack then those allocations would be 50x faster. 2014-10-06T05:16:33Z drmeister: There are also a lot of debugging calls in that loop. I have debugging turned on by default. 2014-10-06T05:16:59Z Bike: well, even the non debugging stuff, like uh, makeValueFrame or something. 2014-10-06T05:17:24Z Bike: i mean as far as i can tell you're doing a dozen function calls as the equivalent of what are mov instructions in ccl and sbcl, so, gonna be slow... 2014-10-06T05:18:48Z drmeister: Right. That's why I think profiling doesn't show anything useful. It's a death by a thousand cuts. 2014-10-06T05:20:10Z drmeister: And since all of those function calls involve moving stuff around on the heap, LLVM can't do much optimization on it. 2014-10-06T05:21:07Z Bike: sounds like your first move should be killing heap allocations for frames. get your escape analysis on, conclude there are no closures, stack allocate all that shit 2014-10-06T05:21:08Z drmeister: If I link this function and generate a dynamic library for it. Let me see what that does for speed. That will inline a lot of those function calls and then LLVM can take a stab at optimizing them. 2014-10-06T05:21:33Z nand1` joined #lisp 2014-10-06T05:22:09Z nand1 quit (Read error: Connection reset by peer) 2014-10-06T05:22:21Z fikusz joined #lisp 2014-10-06T05:23:44Z phao_ joined #lisp 2014-10-06T05:23:49Z fragamus joined #lisp 2014-10-06T05:24:15Z Bike: but i mean, yeah, not much to profile. your actual generated code might be reasonably efficient but that's not going to matter if every function call is actually fifty function calls, i don't think 2014-10-06T05:24:52Z phao quit (Ping timeout: 245 seconds) 2014-10-06T05:30:45Z drmeister: Loading a .so is not working on linux at the moment (sigh). 2014-10-06T05:33:53Z beach: drmeister: Have you tried using GDB to step instruction by instruction? It can be pretty effective. 2014-10-06T05:35:36Z drmeister: Yeah. I'm pretty much convinced that the problem is that every binding is stored on the heap. 2014-10-06T05:36:01Z drmeister: It's just that everyone tells me "even a crappy compiler shouldn't be 250x slower than a good compiler". 2014-10-06T05:36:40Z fikusz quit (Ping timeout: 260 seconds) 2014-10-06T05:36:44Z phao_ quit (Ping timeout: 250 seconds) 2014-10-06T05:36:47Z Bike: well, the problem isn't your compiler exactly so much as your runtime regime 2014-10-06T05:39:16Z drmeister: So the low hanging fruit is to change the compiler front end so that it generates and AST and convert that into an intermediate representation that I can do some reasoning (like escape analysis) on. 2014-10-06T05:39:24Z drmeister: "an AST" 2014-10-06T05:39:33Z drmeister: Or wait for Cleavir. 2014-10-06T05:40:22Z drmeister: Right now it's S-expressions->LLVM-IR in one pass. 2014-10-06T05:40:31Z mal_ joined #lisp 2014-10-06T05:40:35Z drmeister: There's no room in there for language level optimizations. 2014-10-06T05:40:48Z ehu joined #lisp 2014-10-06T05:41:03Z zeebrah_ joined #lisp 2014-10-06T05:41:03Z kristof: You never opted for an SSA translation? 2014-10-06T05:41:26Z drmeister: I've done some micro profiling and timed what it costs to allocate activation frames on the heap vs using ones on the stack. The difference is 50x. 2014-10-06T05:41:38Z drmeister: That's total cost of allocation/garbage collection. 2014-10-06T05:41:44Z c107 quit (Remote host closed the connection) 2014-10-06T05:41:57Z zeebrah quit (Ping timeout: 245 seconds) 2014-10-06T05:42:00Z drmeister: kristof: LLVM-IR is SSA - it's too late at that point to do optimization. 2014-10-06T05:42:07Z drmeister: Language level optimization. 2014-10-06T05:42:10Z kristof: ah, okay 2014-10-06T05:43:27Z pt1 joined #lisp 2014-10-06T05:45:58Z hiyosi joined #lisp 2014-10-06T05:47:33Z drmeister: I can't afford the time to become an expert in writing optimizing compilers. My plan was always to hack together a bunch of technologies (LLVM, MPS, Clang) to get a Common Lisp implementation that could talk to C++ so that I can write chemistry software in Common Lisp that used powerful C++ libraries. 2014-10-06T05:47:34Z pranavrc joined #lisp 2014-10-06T05:47:37Z pt1 quit (Remote host closed the connection) 2014-10-06T05:47:53Z fantazo quit (Ping timeout: 260 seconds) 2014-10-06T05:48:42Z kristof: And LLVM's optimizations just weren't enough? 2014-10-06T05:48:48Z drmeister: In a month I'm supposed to visit the DOE and show them how our spiroligomers will enable catalysts that create solar fuels. To develop those catalysts I need Clasp and CANDO. 2014-10-06T05:48:58Z drmeister: Right, the LLVM optimizations are for stack based C and C++. 2014-10-06T05:48:58Z edgar-rft joined #lisp 2014-10-06T05:49:04Z kristof: Okay, understood 2014-10-06T05:49:19Z kristof: How much effort is it going to take to change your binding discipline? 2014-10-06T05:49:32Z kristof: moving from heap-based to stack-based where possible. 2014-10-06T05:50:17Z sz0 joined #lisp 2014-10-06T05:50:27Z drmeister: Common Lisp looked like an easy language to compile. 20-odd special operators and a bit of C++ to interface with the OS and then steel the ECL source code, hook in the Memory Pool System garbage collector and voila! A Common Lisp that talks to C++. 2014-10-06T05:50:36Z wasamasa quit (Ping timeout: 250 seconds) 2014-10-06T05:50:46Z drmeister: kristof: That's easy. The infrastructure is all in place. 2014-10-06T05:51:03Z hiyosi quit (Ping timeout: 272 seconds) 2014-10-06T05:51:23Z drmeister: I hope - I never really know until it's working. 2014-10-06T05:51:39Z kristof: Awesome. Do you have any preliminary predictions for how much speed you'll gain after doing that? 2014-10-06T05:52:14Z drmeister: That's why the timing for me couldn't be more perfect with beach developing a modular Common Lisp language level compiler. 2014-10-06T05:53:11Z slyrus quit (Ping timeout: 272 seconds) 2014-10-06T05:53:30Z mrSpec joined #lisp 2014-10-06T05:53:32Z izirku quit 2014-10-06T05:53:36Z drmeister: Here's the results of some experiments I ran that speak to that. 2014-10-06T05:53:40Z drmeister: https://www.irccloud.com/pastebin/4iyR1Ys6 2014-10-06T05:54:25Z drmeister: Just look at the top batch Operation 1 -> Operation 8. 2014-10-06T05:54:47Z drmeister: These are primitive operations that I ran in a tight loop in C++ and I timed the loop. 2014-10-06T05:55:20Z drmeister: Then I calculated how many nanoseconds the operation took by dividing the total time by the number of iterations. 2014-10-06T05:55:46Z drmeister: So operation 4 Alloc value frame on heap containing 5 elements. 286 ns. 2014-10-06T05:56:12Z drmeister: Compared to operation 5. Allocate a value frame on the stack containing 5 elements 6 ns. 2014-10-06T05:56:47Z drmeister: It's 50x slower to allocate value frames on the heap compared to the stack. 2014-10-06T05:56:55Z jusss quit (Read error: Connection reset by peer) 2014-10-06T05:57:01Z drmeister: That includes the cost of garbage collection. 2014-10-06T05:57:47Z drmeister: The top two sets of data are for the Boehm collector with a shallow stack and a deep stack. 2014-10-06T05:58:01Z drmeister: The other two sets of data are for the MPS collector. 2014-10-06T05:58:28Z drmeister: Notice that for every heap operation the MPS collector is 1.5x to 2x faster. 2014-10-06T05:58:44Z drmeister: But that the MPS collector suffers more from a deep stack. 2014-10-06T05:59:16Z drmeister: Summary: By moving more variable bindings onto the stack I should get about a 100x speedup. 2014-10-06T05:59:54Z drmeister: Or less precisely, a couple of orders of magnitude. 2014-10-06T06:00:04Z mcc quit (Quit: This computer has gone to sleep) 2014-10-06T06:00:08Z drmeister: I'll stop talking now. 2014-10-06T06:01:21Z svetlyak40wt joined #lisp 2014-10-06T06:01:33Z ehu quit (Ping timeout: 258 seconds) 2014-10-06T06:01:38Z gmcastil quit (Remote host closed the connection) 2014-10-06T06:02:27Z kristof quit (Ping timeout: 272 seconds) 2014-10-06T06:03:11Z bjorkintosh: whew! 2014-10-06T06:04:14Z slyrus joined #lisp 2014-10-06T06:04:25Z wasamasa joined #lisp 2014-10-06T06:08:10Z beach left #lisp 2014-10-06T06:10:18Z kristof joined #lisp 2014-10-06T06:11:52Z drmeister: I'll add this. I was supremely disappointed this summer when I got Clasp working with MPS and it underperformed like it did. Last year I blamed my original reference counting memory management for making Clasp so slow. When I switched to Boehm and MPS it did speed up about 4x. But Clasp was still too slow for me - it takes 25 seconds to load ASDF for 2014-10-06T06:11:52Z drmeister: crying out loud. 2014-10-06T06:12:18Z drmeister: I've profiled and measured and probed and I can't find a simple thing to fix. 2014-10-06T06:13:03Z mikaelj_: It's interesting to hear the results. 2014-10-06T06:13:42Z drmeister: I've concluded that the fundamental problem is that LLVM/Clang are C/C++ compilers and their optimizers are great for stack based languages. 2014-10-06T06:13:52Z Harag joined #lisp 2014-10-06T06:14:01Z drmeister: But Common Lisp has first order functions and closures and to make those work their bindings need to be on the heap. 2014-10-06T06:14:17Z CrazyWoods joined #lisp 2014-10-06T06:15:00Z drmeister: I took a shortcut and my boneheaded compiler puts everything on the heap to play it safe - it is correct and it works but the bindings are all hidden away from LLVM's optimizers. 2014-10-06T06:15:44Z kristof quit (Ping timeout: 250 seconds) 2014-10-06T06:16:15Z Bike: well, most common lisp implementations don't put /frames/ on the heap 2014-10-06T06:16:29Z jackdaniel quit (Quit: leaving) 2014-10-06T06:16:38Z jackdaniel joined #lisp 2014-10-06T06:16:45Z jusss joined #lisp 2014-10-06T06:16:52Z drmeister: And that's why I say "Help me Obi Wan Beach -you're my only hope". 2014-10-06T06:17:02Z Bike: if you have (let ((a (cons 4 5))) (foo a)) you can compile that as a heap allocation in the cons, but not for a 2014-10-06T06:17:19Z drmeister: It's that or I'm spending spring 2015 locked in my office reading books on writing optimizing compilers. 2014-10-06T06:18:38Z zacharias_ is now known as zacharias 2014-10-06T06:18:45Z eMBee: (if i may interupt) is there any function that helps get the next value in the alphabet from a char? i came up with this: (string (code-char (1+ (char-code (character "A"))))) 2014-10-06T06:19:26Z Bike: nah. that might not even work, though it will on most implementations since unicode happens to put english letters next to each other. 2014-10-06T06:19:48Z Bike: portable way would be indexing into a vector of the alphabet. 2014-10-06T06:19:54Z drmeister: eMBee - no problem - sorry to hog the channel. I have to get to bed anyway. 2014-10-06T06:19:58Z Bike: night 2014-10-06T06:20:12Z eMBee: heh, i didn't mean to stop you :-) 2014-10-06T06:20:58Z Adlai joined #lisp 2014-10-06T06:21:16Z eMBee: bike: true, i thought about the vector approach too 2014-10-06T06:22:14Z Bike: (defun alphaindex (char) (position char +alphabet+)) (defun next-letter (char) (aref +alphabet+ (mod (1+ (alphaindex char)) (length +alphabet+))) 2014-10-06T06:22:16Z fikusz joined #lisp 2014-10-06T06:23:17Z Bike: course that assumes your language's "alphabet" has exactly one character for each letter. 2014-10-06T06:23:30Z DTSCode joined #lisp 2014-10-06T06:24:26Z DTSCode quit (Max SendQ exceeded) 2014-10-06T06:24:42Z eMBee: wouldn't that be always the case in unicode? and well, if not, from that to a list of strings it's not far 2014-10-06T06:25:01Z Grue`: I think english letters are guaranteed to be mapped to their ASCII codes 2014-10-06T06:25:20Z Grue`: so char-code + 1 will in fact work 2014-10-06T06:25:40Z eMBee: except for z and Z 2014-10-06T06:25:50Z Bike: i don't t hink they are 2014-10-06T06:26:00Z Grue`: well, you didnt specify what should happen with z and Z 2014-10-06T06:26:06Z Bike: char-code's entry mentions "An implementation using ASCII character encoding might return" in the examples 2014-10-06T06:26:10Z kuanyui joined #lisp 2014-10-06T06:26:33Z Bike: oh, here's one "While alphabetic[1] standard characters of a given case must obey a partial ordering, they need not be contiguous; it is permissible for uppercase and lowercase characters to be interleaved. Thus (char<= #\a x #\z) is not a valid way of determining whether or not x is a lowercase character. " 2014-10-06T06:26:37Z pjb: code-char may return nil (and definitely does in some implementation), even with codes < char-code-limit. 2014-10-06T06:26:52Z pjb: (string nil) --> "NIL" 2014-10-06T06:26:54Z pjb: have fun! 2014-10-06T06:27:20Z Bike: eMBee: as for multiple letters i was thinking of spanish sometimes having "rr" listed as a letter, but there are probably others, given that language is hard 2014-10-06T06:28:05Z Bike: "either 9 "abd000" 2014-10-06T06:58:36Z eMBee: shka: how would you use a generic function? you mean on the int and string or char types? 2014-10-06T06:59:05Z shka: yes 2014-10-06T06:59:07Z shka: exactly 2014-10-06T06:59:16Z eMBee: sounds like an interesting idea 2014-10-06T06:59:37Z shka: yeah, i love the fact that in cl we can write methods without subclassing 2014-10-06T06:59:47Z shka: it just makes so much sense 2014-10-06T07:00:05Z flip214_: but then you'd need to specify the method on (eql #\0), and (eql #\1), etc.? 2014-10-06T07:00:46Z shka: i would rather convert it to the symbol and check if it is a number 2014-10-06T07:00:50Z flip214_: I guess you'd like to use filtered dispatch or something like that 2014-10-06T07:01:00Z flip214_: a symbol is not a number 2014-10-06T07:01:51Z shka: ofc not 2014-10-06T07:01:56Z shka: but number is a symbol 2014-10-06T07:02:02Z stassats: what? 2014-10-06T07:02:06Z shka: try (+ '5 '6) 2014-10-06T07:02:08Z stassats: stop it 2014-10-06T07:02:18Z stassats: you are confused 2014-10-06T07:02:43Z shka: clarify please 2014-10-06T07:02:58Z ggole: Numbers are not symbols 2014-10-06T07:03:09Z PuercoPop: a number is not a symbol, you probably are thinking of atoms 2014-10-06T07:03:41Z joneshf-laptop quit (Remote host closed the connection) 2014-10-06T07:03:49Z shka: but '7 is evaluated to 7 2014-10-06T07:03:57Z ggole: So? 2014-10-06T07:04:11Z ggole: '"foo" is evaluated to "foo", but strings are not symbols either 2014-10-06T07:04:19Z shka: moment 2014-10-06T07:04:34Z joneshf-laptop joined #lisp 2014-10-06T07:04:48Z stassats: ' doesn't have anything to do with symbols 2014-10-06T07:04:50Z shka: yeah 2014-10-06T07:04:54Z shka: you are right 2014-10-06T07:04:59Z shka: i'm stupid 2014-10-06T07:05:00Z ggole: Quoting any self-evaluating construct is redundant 2014-10-06T07:05:09Z BlastHardcheese quit (Ping timeout: 272 seconds) 2014-10-06T07:06:01Z PuercoPop: shka: you can do (symbolp 7) if you are still unconvinced. 2014-10-06T07:06:11Z shka: i did that 2014-10-06T07:06:20Z ehu joined #lisp 2014-10-06T07:06:24Z shka: and (symbolp '7) 2014-10-06T07:06:49Z shka: i don't know how i get that idea 2014-10-06T07:07:31Z stassats: in SBCL, ६ is suddenly a number too 2014-10-06T07:07:36Z eMBee: so i'll have two functions, one for numbers and one for strings, and in the string one i'll still need to check for length, and only increment if the length is 1... should be nicer than the cond i was going to write... 2014-10-06T07:08:00Z shka: eMBee: i belive so 2014-10-06T07:08:56Z shka: but clos is my favorite way to deal with type dispatch so my opinion can be biased 2014-10-06T07:09:10Z stassats: it's not type dispatch 2014-10-06T07:09:45Z shka: well, select routine based on type 2014-10-06T07:09:57Z stassats: no, it's based on the class 2014-10-06T07:10:04Z eMBee: thanks for that idea, and bike: thanks for your code, i was going to work that part out myself, but that made it easy... 2014-10-06T07:10:09Z shka: but everything has a class :P 2014-10-06T07:10:18Z stassats: class is not the same as a type 2014-10-06T07:10:27Z shka: true 2014-10-06T07:10:34Z stassats: not everything which has a distinct type has a class 2014-10-06T07:10:51Z shka: really? 2014-10-06T07:10:51Z eMBee: example? 2014-10-06T07:11:08Z shka: +1 to that 2014-10-06T07:11:21Z stassats: (integer 10 20) 2014-10-06T07:12:16Z flip214_ is now known as flip214 2014-10-06T07:12:22Z flip214 quit (Changing host) 2014-10-06T07:12:22Z flip214 joined #lisp 2014-10-06T07:12:53Z ggole: A simpler example: boolean 2014-10-06T07:13:08Z eMBee: oh, right 2014-10-06T07:15:15Z Zhivago: FIXNUM is another example. :) 2014-10-06T07:15:23Z Zhivago: Although it really ought to be a class. 2014-10-06T07:15:55Z Zhivago: Types are sets of potential values, classes describe how a value is implemented. 2014-10-06T07:16:34Z Zhivago: They're completely orthogonal -- except that there's a set of potential values for each way to implement them. 2014-10-06T07:17:31Z stassats: types also describe how a value can be stored 2014-10-06T07:18:36Z stassats: and then there are composite types 2014-10-06T07:21:30Z gingerale joined #lisp 2014-10-06T07:21:51Z ggole: With deftype type checking can be anything you want it to be. 2014-10-06T07:22:10Z stassats: you mean with SATISFIES 2014-10-06T07:22:27Z ggole: You could have the program email you to decide whether this thing really is a foo, if you like. 2014-10-06T07:22:31Z ggole: Right. 2014-10-06T07:23:01Z stassats: (typep '(+ 1 2) '(satisfies haltp)) 2014-10-06T07:23:39Z abeaumont_ quit (Read error: Connection reset by peer) 2014-10-06T07:26:09Z Cymew joined #lisp 2014-10-06T07:26:30Z pt1_ joined #lisp 2014-10-06T07:29:27Z pt1 quit (Ping timeout: 245 seconds) 2014-10-06T07:34:18Z Alex`_ joined #lisp 2014-10-06T07:34:21Z Alex`_: Hey 2014-10-06T07:41:21Z mvilleneuve joined #lisp 2014-10-06T07:42:06Z yacks quit (Ping timeout: 272 seconds) 2014-10-06T07:43:25Z McMAGIC--Copy quit (Remote host closed the connection) 2014-10-06T07:43:45Z McMAGIC--Copy joined #lisp 2014-10-06T07:43:54Z shka: type vs class is not that simple i guess 2014-10-06T07:47:34Z hiyosi joined #lisp 2014-10-06T07:48:13Z DGASAU joined #lisp 2014-10-06T07:48:15Z Alex`_ quit (Quit: Page closed) 2014-10-06T07:51:55Z msx quit (Quit: WeeChat 1.0.1) 2014-10-06T07:52:22Z hiyosi quit (Ping timeout: 240 seconds) 2014-10-06T07:54:04Z stepnem joined #lisp 2014-10-06T07:56:38Z knosys joined #lisp 2014-10-06T07:57:01Z eazar001 joined #lisp 2014-10-06T07:59:12Z shka: but each class has corresponding type? 2014-10-06T07:59:17Z shka: or something? 2014-10-06T07:59:36Z stassats: when a class is created a type with the same name is created at the same time 2014-10-06T07:59:43Z stassats: class objects themselves are type specifiers also 2014-10-06T08:00:01Z shka: ok, that makes sense 2014-10-06T08:00:46Z shka: thanks for pointing this out, i never ever used deftype 2014-10-06T08:00:56Z shka: so i don't quite understand how does this work 2014-10-06T08:01:33Z stassats: deftype is for writing macros for type specifiers 2014-10-06T08:02:06Z huza joined #lisp 2014-10-06T08:03:02Z shka: i will read it 2014-10-06T08:03:14Z shka: but now i need to get back to work :( 2014-10-06T08:03:18Z shka: monday :/ 2014-10-06T08:03:46Z nostoi joined #lisp 2014-10-06T08:04:07Z varjag joined #lisp 2014-10-06T08:04:59Z angavrilov joined #lisp 2014-10-06T08:17:19Z moore33 joined #lisp 2014-10-06T08:17:19Z innertracks joined #lisp 2014-10-06T08:18:41Z innertracks quit (Client Quit) 2014-10-06T08:21:07Z zacharias joined #lisp 2014-10-06T08:30:36Z finnrobi_ is now known as finnrobi 2014-10-06T08:36:17Z nalssee joined #lisp 2014-10-06T08:39:10Z nalssee quit (Client Quit) 2014-10-06T08:40:10Z kanru quit (Remote host closed the connection) 2014-10-06T08:41:39Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-10-06T08:41:54Z DTSCode quit (Remote host closed the connection) 2014-10-06T08:43:02Z nalssee joined #lisp 2014-10-06T08:43:46Z BlastHardcheese joined #lisp 2014-10-06T08:44:36Z kanru joined #lisp 2014-10-06T08:46:46Z pt1_ quit (Remote host closed the connection) 2014-10-06T08:47:13Z pt1 joined #lisp 2014-10-06T08:47:19Z harish quit (Remote host closed the connection) 2014-10-06T08:48:20Z hiyosi joined #lisp 2014-10-06T08:48:29Z harish joined #lisp 2014-10-06T08:48:57Z nug700 quit (Quit: bye) 2014-10-06T08:49:31Z DGASAU quit (Read error: Connection reset by peer) 2014-10-06T08:50:30Z DGASAU joined #lisp 2014-10-06T08:52:27Z harish quit (Remote host closed the connection) 2014-10-06T08:53:40Z hiyosi quit (Ping timeout: 272 seconds) 2014-10-06T08:55:31Z harish joined #lisp 2014-10-06T08:57:17Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-06T09:00:11Z svetlyak40wt quit (Read error: Connection reset by peer) 2014-10-06T09:00:26Z svetlyak40wt joined #lisp 2014-10-06T09:02:58Z jtza8 joined #lisp 2014-10-06T09:04:08Z karswell` is now known as karswell 2014-10-06T09:04:22Z huza quit (Ping timeout: 244 seconds) 2014-10-06T09:10:47Z knosys quit (Quit: WeeChat 0.4.2) 2014-10-06T09:11:25Z sword`` quit (Ping timeout: 272 seconds) 2014-10-06T09:12:50Z knosys joined #lisp 2014-10-06T09:21:08Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-06T09:21:09Z |3b| thought my code was a few orders of magnitude too slow, but now i think i was overestimating how fast it needs to be by same amount :p 2014-10-06T09:21:28Z |3b|: now i just need to make it actually work and see how much that affects performance 2014-10-06T09:23:11Z |3b|: hmm, guess i might still be a bit off, shader compiler was optimizing out more than i thought 2014-10-06T09:23:54Z fridim__ joined #lisp 2014-10-06T09:24:51Z |3b|: still only about 3x instead of 500x though, which might be close enough 2014-10-06T09:25:43Z theos quit (Disconnected by services) 2014-10-06T09:26:13Z theos joined #lisp 2014-10-06T09:33:26Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T09:34:20Z nostoi quit (Quit: Verlassend) 2014-10-06T09:34:49Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T09:34:53Z tkhoa2711 joined #lisp 2014-10-06T09:36:04Z kuanyui quit (Ping timeout: 260 seconds) 2014-10-06T09:37:56Z eazar001 quit (Ping timeout: 260 seconds) 2014-10-06T09:42:35Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T09:44:44Z moore33: |3b|: This is your shader language in Lisp, or a more specific application? 2014-10-06T09:44:56Z |3b|: specific use of it 2014-10-06T09:45:19Z noncom|2 joined #lisp 2014-10-06T09:45:27Z |3b| is trying to see if i can manage a 512^3 fft and inverse in some approximation of realtime 2014-10-06T09:49:09Z hiyosi joined #lisp 2014-10-06T09:50:54Z eazar001 joined #lisp 2014-10-06T09:52:19Z francogrex joined #lisp 2014-10-06T09:53:51Z hiyosi quit (Ping timeout: 258 seconds) 2014-10-06T09:53:54Z francogrex: Hi, I am reading a stream with (read stream nil nil)... it is being read as symbols which is ok for me, but I need to stop reading when the chracter is #\Nul. in Symbols this corresponds to 2014-10-06T09:54:15Z francogrex: |^@| something like that. 2014-10-06T09:54:38Z francogrex: I know I could use read-char but it is preferable to have them read directly as symbols 2014-10-06T09:55:06Z Zhivago: Can't you ask it to return you a particular object on eof? 2014-10-06T09:55:06Z moore33: |3b|: I'm trying to remember a CL library I saw that does OpenGL math, like frustum, 4x4 matrix multiplication, etc. Does that ring a bell? Perhaps part of glop or cl-opengl already? 2014-10-06T09:55:39Z |3b|: sb-cga ? 2014-10-06T09:56:40Z |3b|: francogrex: if you want to read further from that stream after getting a NUL you probably needs to read by characters first, unless you are sure NUL doesn't happen inside a form 2014-10-06T09:57:39Z |3b|: moore33: actually, sb-cga only does part of that, there is also mathkit for the GLU stuff like projection matrices 2014-10-06T09:59:03Z moore33: |3b|: I think it was mathkit that I was thinking of. Thanks. 2014-10-06T10:00:26Z moore33: But I think sb-cga is worth a look too, especially as mathkit uses it. 2014-10-06T10:00:35Z frkout_ joined #lisp 2014-10-06T10:00:39Z francogrex: Zhivago: the thing we're not at eof when #\Nul is encounter! 2014-10-06T10:00:40Z |3b|: yeah, sb-cga does the matrix/vector math parts 2014-10-06T10:01:49Z francogrex: |3b|: yes I was trying to avoid read-char... 2014-10-06T10:02:16Z huza joined #lisp 2014-10-06T10:03:10Z moore33: |3b|: Obviously I need to make a decision whether to use lisp arrays for 4x4 matrices, or do like sb-cga (or use it) and treat data as vectors with an externally imposed interpretation as a 4x4 (or vec3, vec4, whatever). 2014-10-06T10:03:11Z |3b|: if you are reading NUL delimited lisp forms (so can assume NUL won't be inside a form), a terminating macro character would probably be enough 2014-10-06T10:03:41Z frkout quit (Ping timeout: 260 seconds) 2014-10-06T10:04:12Z |3b| mostly uses 4x4 matrices as whole things, so doesn't care about internal representation 2014-10-06T10:05:08Z |3b|: and sb-cga has at least some operations implemented with SSE on sbcl, so probably faster than anything i'd do by hand 2014-10-06T10:05:08Z KarlDscc joined #lisp 2014-10-06T10:05:24Z |3b|: not that i do enough matrix/vector ops on CPU to care 2014-10-06T10:07:08Z kuanyui joined #lisp 2014-10-06T10:07:20Z |3b|: also, there is the hope that if sb-cga gets popular it will end up better than if we all have our own matrix libs :) 2014-10-06T10:07:30Z svetlyak40wt joined #lisp 2014-10-06T10:08:21Z moore33: |3b|: Coming from the c++ world, in which I've done the vast majority of my graphics programming, I'm missing the easy punning between the 3 element rows of an array and vectors of length 3. That's just an example. 2014-10-06T10:08:30Z moore33: The "power" of pointers. 2014-10-06T10:08:34Z |3b|: yeah 2014-10-06T10:09:32Z moore33: I think I need to build up some basic idioms, or steal them from elsewhere. 2014-10-06T10:09:54Z |3b| wonders if it would be bad to make 192 copies of this routine so i can bake constants into it :p 2014-10-06T10:10:43Z |3b| supposes a 1024 element table would probably get cached well enough to not bother 2014-10-06T10:11:22Z moore33: Yes, and it will probably get tenured soon enough so it won't move around. 2014-10-06T10:11:23Z |3b|: probably should add shared arrays to shader compiler first anyway 2014-10-06T10:11:39Z |3b|: the table? this is on GPU, so different rules there 2014-10-06T10:11:39Z moore33: Whoops! Never mind :) 2014-10-06T10:11:48Z moore33: Just realized that. 2014-10-06T10:11:48Z nalssee joined #lisp 2014-10-06T10:12:14Z moore33: ubo 2014-10-06T10:12:36Z KarlDscc quit (Remote host closed the connection) 2014-10-06T10:13:05Z |3b|: it's static, so probably array texture or image 2014-10-06T10:16:36Z |3b|: hmm, think my syntax for qualifiers conflicts with my array syntax 2014-10-06T10:17:14Z wizzo quit (Quit: Textual IRC Client: www.textualapp.com) 2014-10-06T10:18:50Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-06T10:18:51Z wizzo joined #lisp 2014-10-06T10:20:17Z jtza8 quit (Ping timeout: 245 seconds) 2014-10-06T10:22:54Z huza quit (Ping timeout: 244 seconds) 2014-10-06T10:23:31Z |3b| moves qualifiers to a separate keyword arg for now 2014-10-06T10:26:30Z nalssee joined #lisp 2014-10-06T10:29:35Z Rundfunk_ joined #lisp 2014-10-06T10:30:16Z resttime quit (Quit: resttime) 2014-10-06T10:30:57Z moore33: http://www.shenlanguage.org/shenbsd.htm seems a bit unclear on the concept. 2014-10-06T10:31:44Z stassats: can i put the £2.000.000 i recently won? or so the email said 2014-10-06T10:32:42Z |3b|: seems reasonable to me 2014-10-06T10:32:57Z zeitue quit (Ping timeout: 258 seconds) 2014-10-06T10:33:00Z neoesque quit (Quit: Leaving...) 2014-10-06T10:34:02Z stassats: is it gpl now? 2014-10-06T10:34:11Z |3b|: looks like some random license 2014-10-06T10:34:12Z stassats: ah, no, some weird thing, isn't it? 2014-10-06T10:34:44Z stassats: does it make so much money that replacing it costs 8500? 2014-10-06T10:35:39Z stassats: or is it just to say "hey, i made an effort to make it bsd, but nobody cared" 2014-10-06T10:36:00Z |3b|: or just that's how much he values the restrictions in the current license 2014-10-06T10:36:21Z moore33: "We are therefore not open source" 2014-10-06T10:37:16Z |3b|: or could just need money and figured it was worth a try 2014-10-06T10:38:02Z moore33: It's kind of an ego-driven version of the TeX license. 2014-10-06T10:38:04Z stassats: why does it use the "write once, run anywhere" slogan? doesn't seem original 2014-10-06T10:38:36Z girrig quit (Ping timeout: 260 seconds) 2014-10-06T10:39:00Z |3b|: not like there isn't lots of software where 8500 gets you a much worse license than BSD :) 2014-10-06T10:39:20Z stassats: at least that software could be useful, unlike shen 2014-10-06T10:40:00Z girrig joined #lisp 2014-10-06T10:42:56Z knosys quit (Quit: WeeChat 0.4.2) 2014-10-06T10:44:18Z jusss joined #lisp 2014-10-06T10:44:41Z huza joined #lisp 2014-10-06T10:45:31Z kuzy000_ joined #lisp 2014-10-06T10:46:16Z zeitue joined #lisp 2014-10-06T10:49:07Z gravicappa joined #lisp 2014-10-06T10:50:01Z hiyosi joined #lisp 2014-10-06T10:52:27Z MouldyOldBones quit (Ping timeout: 264 seconds) 2014-10-06T10:54:47Z hiyosi quit (Ping timeout: 245 seconds) 2014-10-06T10:57:16Z Shinmera joined #lisp 2014-10-06T11:00:04Z huza quit (Ping timeout: 260 seconds) 2014-10-06T11:01:26Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-06T11:01:32Z hiroakip joined #lisp 2014-10-06T11:03:30Z Grue`: is using displaced arrays on strings a good idea? instead of using subseq 2014-10-06T11:03:58Z knosys joined #lisp 2014-10-06T11:04:25Z Zhivago: Assuming that 'good' is unrelated to 'efficient', perhaps. 2014-10-06T11:04:27Z schjetne: If there was an actual market for making incompatible forks of Shen, I'd imagine that would be a lot mroe profitable than this BSD ransom business. 2014-10-06T11:04:43Z stassats: Grue`: it's a slow idea 2014-10-06T11:04:51Z stassats: but subseq is a slow idea too 2014-10-06T11:05:02Z stassats: so, don't use either 2014-10-06T11:05:45Z Grue`: why would they be slow if they're literally a pointer to already existing array? 2014-10-06T11:06:01Z stassats: because they are not 2014-10-06T11:07:00Z frkout_ quit (Remote host closed the connection) 2014-10-06T11:07:27Z frkout joined #lisp 2014-10-06T11:09:52Z hiroakip quit (Remote host closed the connection) 2014-10-06T11:11:04Z Zhivago: They're a virtual array with coordinate remapping. 2014-10-06T11:11:31Z hiroakip joined #lisp 2014-10-06T11:12:01Z CrazyWoods quit (Quit: leaving) 2014-10-06T11:12:30Z nalssee joined #lisp 2014-10-06T11:13:22Z stassats: of arbitrary levels 2014-10-06T11:14:03Z Adlai quit (Ping timeout: 264 seconds) 2014-10-06T11:15:28Z farhaven quit (Ping timeout: 260 seconds) 2014-10-06T11:17:00Z ggole: A triple of string, start-index, end-index would be a better idea if you want to avoid copying. 2014-10-06T11:17:13Z hiroakip quit (Ping timeout: 272 seconds) 2014-10-06T11:17:15Z Longlius quit (Remote host closed the connection) 2014-10-06T11:25:52Z Karl_Dscc joined #lisp 2014-10-06T11:28:48Z madrik joined #lisp 2014-10-06T11:29:51Z zyaku joined #lisp 2014-10-06T11:39:37Z tkhoa2711 joined #lisp 2014-10-06T11:41:38Z Baggers joined #lisp 2014-10-06T11:43:51Z farhaven joined #lisp 2014-10-06T11:43:53Z araujo joined #lisp 2014-10-06T11:43:53Z araujo quit (Changing host) 2014-10-06T11:43:53Z araujo joined #lisp 2014-10-06T11:46:31Z bcoburn quit (Remote host closed the connection) 2014-10-06T11:46:56Z huza joined #lisp 2014-10-06T11:48:03Z francogrex left #lisp 2014-10-06T11:48:21Z francogrex joined #lisp 2014-10-06T11:48:38Z francogrex: messages? 2014-10-06T11:48:48Z francogrex left #lisp 2014-10-06T11:49:06Z karupa is now known as zz_karupa 2014-10-06T11:50:53Z hiyosi joined #lisp 2014-10-06T11:54:01Z EvW joined #lisp 2014-10-06T11:55:36Z hiyosi quit (Ping timeout: 260 seconds) 2014-10-06T11:56:04Z Beetny quit (Ping timeout: 272 seconds) 2014-10-06T11:57:11Z zickzackv joined #lisp 2014-10-06T11:57:27Z madrik quit (Ping timeout: 244 seconds) 2014-10-06T11:58:14Z hitecnologys joined #lisp 2014-10-06T12:02:25Z eudoxia joined #lisp 2014-10-06T12:04:22Z thawes joined #lisp 2014-10-06T12:08:02Z zickzackv quit (Ping timeout: 250 seconds) 2014-10-06T12:10:51Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T12:14:38Z nipra joined #lisp 2014-10-06T12:18:39Z Baggers quit (Ping timeout: 272 seconds) 2014-10-06T12:20:27Z eudoxia quit (Quit: Lost terminal) 2014-10-06T12:20:58Z fragamus quit (Quit: Computer has gone to sleep.) 2014-10-06T12:22:45Z Joreji joined #lisp 2014-10-06T12:22:51Z svetlyak_ joined #lisp 2014-10-06T12:22:51Z svetlyak_ is now known as svetlyak40wt_ 2014-10-06T12:24:34Z svetlyak40wt_ quit (Remote host closed the connection) 2014-10-06T12:28:21Z huza quit (Quit: WeeChat 0.3.8) 2014-10-06T12:30:05Z nalssee left #lisp 2014-10-06T12:30:40Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T12:33:34Z svetlyak40wt joined #lisp 2014-10-06T12:34:03Z hiyosi joined #lisp 2014-10-06T12:34:14Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T12:36:17Z Joreji quit (Read error: Connection reset by peer) 2014-10-06T12:38:33Z MouldyOldBones joined #lisp 2014-10-06T12:38:40Z Paul_McFreely joined #lisp 2014-10-06T12:38:51Z uber quit (Changing host) 2014-10-06T12:38:51Z uber joined #lisp 2014-10-06T12:38:51Z Baggers joined #lisp 2014-10-06T12:41:16Z cmack joined #lisp 2014-10-06T12:42:55Z fikusz quit (Ping timeout: 244 seconds) 2014-10-06T12:44:22Z svetlyak40wt joined #lisp 2014-10-06T12:45:04Z Grue` quit (Ping timeout: 260 seconds) 2014-10-06T12:46:19Z nell joined #lisp 2014-10-06T12:48:10Z tkhoa2711 joined #lisp 2014-10-06T12:49:59Z fantazo joined #lisp 2014-10-06T12:51:46Z LiamH joined #lisp 2014-10-06T12:53:19Z zeitue quit (Quit: Leaving) 2014-10-06T13:11:34Z Hache_ joined #lisp 2014-10-06T13:13:35Z vaporatorius joined #lisp 2014-10-06T13:13:51Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T13:17:49Z jtza8 joined #lisp 2014-10-06T13:17:59Z Grue`` joined #lisp 2014-10-06T13:18:07Z Grue`` is now known as Grue` 2014-10-06T13:19:57Z tkhoa2711 joined #lisp 2014-10-06T13:26:09Z Paul_McFreely quit (Quit: Lingo - http://lingoirc.com) 2014-10-06T13:26:18Z hardenedapple joined #lisp 2014-10-06T13:36:11Z dlowe: A displaced array is essentially a base array, start-index and end-index. 2014-10-06T13:36:50Z nipra quit (Quit: Leaving.) 2014-10-06T13:36:56Z MoALTz joined #lisp 2014-10-06T13:37:00Z Xach: the base array can also be displaced 2014-10-06T13:37:08Z Xach: turtles all the way down! 2014-10-06T13:37:56Z Xach: damn it! metabang-bind is broken today and it affects a ton of other stuff and it is messing up my release plans. 2014-10-06T13:39:57Z Cymew: What does it even do? I can not find much about it on the googles today 2014-10-06T13:40:14Z Xach: Cymew: it's like an extensible blend of let, let*, multiple-value-bind, destructuring-bind, etc. 2014-10-06T13:41:16Z Cymew: Ok, thanks. I've never ever seen it before. 2014-10-06T13:42:46Z Xach: It was more popular 5 or 6 years ago 2014-10-06T13:42:51Z Xach: A lot of libraries depend on it 2014-10-06T13:42:55Z Xach: (libraries from that era) 2014-10-06T13:43:09Z stassats: it's popular with gwking's libraries 2014-10-06T13:43:25Z dlowe: Xach: can you just revert to a less recent version? 2014-10-06T13:43:44Z Xach: dlowe: Not as easily as I wish. 2014-10-06T13:45:37Z pranavrc quit 2014-10-06T13:51:16Z Beluki joined #lisp 2014-10-06T13:53:06Z jusss quit (Remote host closed the connection) 2014-10-06T13:55:13Z Karl_Dscc quit (Remote host closed the connection) 2014-10-06T13:56:23Z atgreen joined #lisp 2014-10-06T13:56:36Z Cymew: Oh, now I remember. It was that King fella. He did produce a bunch of things, many which never appealled to me. 2014-10-06T13:57:21Z madrik joined #lisp 2014-10-06T13:58:36Z kuanyui quit (Ping timeout: 246 seconds) 2014-10-06T13:59:05Z Xach: Woo, he will fix it this morning 2014-10-06T14:00:06Z splittist: Xach Gets Results (TM) 2014-10-06T14:01:24Z rme joined #lisp 2014-10-06T14:06:01Z Beluki quit (Quit: Beluki) 2014-10-06T14:07:37Z alchemis7 left #lisp 2014-10-06T14:07:38Z alchemis7 joined #lisp 2014-10-06T14:07:57Z kuanyui joined #lisp 2014-10-06T14:08:08Z Harag quit (Ping timeout: 260 seconds) 2014-10-06T14:08:18Z nyef joined #lisp 2014-10-06T14:08:28Z nyef: G'morning all. 2014-10-06T14:08:50Z urandom__ joined #lisp 2014-10-06T14:10:37Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T14:11:03Z Baggers: morning 2014-10-06T14:11:07Z tkhoa2711 joined #lisp 2014-10-06T14:14:16Z oleo joined #lisp 2014-10-06T14:15:40Z Adlai joined #lisp 2014-10-06T14:16:19Z gravicappa quit (Remote host closed the connection) 2014-10-06T14:17:26Z Harag joined #lisp 2014-10-06T14:17:57Z yeticry quit (Ping timeout: 260 seconds) 2014-10-06T14:19:50Z KarlDscc joined #lisp 2014-10-06T14:19:55Z yeticry joined #lisp 2014-10-06T14:22:54Z lduros joined #lisp 2014-10-06T14:23:29Z phao_ joined #lisp 2014-10-06T14:25:02Z zickzackv joined #lisp 2014-10-06T14:26:13Z slacker joined #lisp 2014-10-06T14:27:34Z ahungry_ joined #lisp 2014-10-06T14:28:44Z Xach: darn it, he fixed it with a fix that does not fix it 2014-10-06T14:28:58Z Xach: he meant to revert to #+(or) but instead reverted to #-(or) 2014-10-06T14:28:59Z moore33: Denied... 2014-10-06T14:29:42Z stassats: time to revert to #-(and) 2014-10-06T14:29:43Z slacker quit (Quit: qwebirc exception: Buffer overflow.) 2014-10-06T14:32:05Z Harag quit (Quit: Harag) 2014-10-06T14:33:07Z splittist: A certain Sueuss-esque feel to those lines. 2014-10-06T14:33:35Z dlowe has #; bound to a read macro that ignores the next sexp. Works great. 2014-10-06T14:33:42Z dlowe: hm. I should turn that into a library 2014-10-06T14:34:01Z splittist: trivial-semicolon? 2014-10-06T14:34:08Z dlowe: sexp-comment? 2014-10-06T14:34:39Z varjag quit (Quit: Leaving) 2014-10-06T14:35:11Z Xach: dull 2014-10-06T14:35:17Z Xach: it's only semi-sharp 2014-10-06T14:36:36Z foom: I just use #+nil and #-nil. Because, seriously, just don't frickin put "nil" in *features*. 2014-10-06T14:36:46Z BitPuffin joined #lisp 2014-10-06T14:36:54Z dlowe: ... what do you use #-nil for? 2014-10-06T14:37:08Z foom: Uncommenting something 2014-10-06T14:37:28Z splittist: dlowe: colorado convoy - because it's a hash semi. 2014-10-06T14:37:39Z dlowe: doesn't just removing the #+nil do that 2014-10-06T14:37:58Z dlowe: splittist: snicker 2014-10-06T14:38:07Z foom: Sure. 2014-10-06T14:38:11Z Shinmera: You could also do #+#: 2014-10-06T14:38:25Z foom: Sometimes you have two paired codepaths. 2014-10-06T14:40:04Z foom: Whatever, the main point is that having to remember #+(or) means "never" is dumb. #+nil is nice and mnemonic, and only a jerk would put nil on features. 2014-10-06T14:40:48Z yeticry quit (Ping timeout: 260 seconds) 2014-10-06T14:40:57Z |3b| relies on the jerk not also thinking to put + on features :p 2014-10-06T14:42:18Z |3b| also sometimes takes advantage of the ability to add #+ to a keyword arg or loop keyword to also comment out the associated value/form 2014-10-06T14:42:39Z Xach: |3b|: yow! 2014-10-06T14:42:47Z yeticry joined #lisp 2014-10-06T14:42:50Z phao_ quit (Quit: Leaving) 2014-10-06T14:43:22Z jtza8 quit (Ping timeout: 240 seconds) 2014-10-06T14:44:58Z svetlyak40wt quit (Read error: Connection timed out) 2014-10-06T14:45:25Z jusss joined #lisp 2014-10-06T14:45:52Z svetlyak40wt joined #lisp 2014-10-06T14:46:29Z pt1 quit (Ping timeout: 260 seconds) 2014-10-06T14:47:17Z rustico joined #lisp 2014-10-06T14:47:27Z Vivitron`: dlowe: there's a #; that does a line comment plus the next s-exp at 2014-10-06T14:47:42Z rustico left #lisp 2014-10-06T14:47:45Z Vivitron`: github.com/m-n/dishes sorry, paste fail 2014-10-06T14:48:37Z |3b|: sounds confusing 2014-10-06T14:49:15Z neoesque joined #lisp 2014-10-06T14:49:21Z splittist: is there some special magic to make github codesearch work for things like "#+nil"? 2014-10-06T14:49:28Z dlowe: no, I can see the rationale 2014-10-06T14:49:30Z Vivitron`: I've seen #-(and) mostly used for commenting top level forms, and whats confusing is when it is left in without a note as to why they did it 2014-10-06T14:49:33Z stassats: anything without slime highlighting sounds confusing 2014-10-06T14:50:06Z Vivitron`: slime highlights the line comment part at least! 2014-10-06T14:50:08Z stassats: Vivitron`: that's not a problem of #-(and) 2014-10-06T14:50:09Z dlowe: heh. I wonder if slime highlighting has been the death of many creative syntax changes 2014-10-06T14:50:11Z JuanitoJons joined #lisp 2014-10-06T14:52:58Z shka quit (Read error: Connection reset by peer) 2014-10-06T14:58:54Z Beluki joined #lisp 2014-10-06T15:02:40Z innertracks joined #lisp 2014-10-06T15:03:22Z zeebrah_ quit (Ping timeout: 240 seconds) 2014-10-06T15:11:25Z kpreid quit (Quit: Quitting) 2014-10-06T15:12:38Z drdanmaku joined #lisp 2014-10-06T15:14:03Z fragamus joined #lisp 2014-10-06T15:15:25Z Vutral quit (Ping timeout: 260 seconds) 2014-10-06T15:27:28Z zeebrah_ joined #lisp 2014-10-06T15:28:09Z innertracks quit (Quit: innertracks) 2014-10-06T15:28:24Z phao joined #lisp 2014-10-06T15:29:05Z jtza8 joined #lisp 2014-10-06T15:29:59Z Vutral joined #lisp 2014-10-06T15:30:48Z ndrei quit (Ping timeout: 272 seconds) 2014-10-06T15:32:58Z Vutral quit (Max SendQ exceeded) 2014-10-06T15:35:11Z urandom__ quit (Quit: Konversation terminated!) 2014-10-06T15:35:24Z stassats quit (Ping timeout: 260 seconds) 2014-10-06T15:35:24Z arbscht quit (Ping timeout: 258 seconds) 2014-10-06T15:35:25Z urandom__ joined #lisp 2014-10-06T15:36:31Z Cymew quit (Ping timeout: 244 seconds) 2014-10-06T15:36:35Z Vutral joined #lisp 2014-10-06T15:37:02Z didi joined #lisp 2014-10-06T15:38:40Z didi left #lisp 2014-10-06T15:41:35Z nell quit (Quit: WeeChat 1.1-dev) 2014-10-06T15:42:08Z arbscht joined #lisp 2014-10-06T15:44:48Z DGASAU quit (Remote host closed the connection) 2014-10-06T15:44:58Z vlnx quit (Read error: Connection reset by peer) 2014-10-06T15:45:39Z DGASAU joined #lisp 2014-10-06T15:46:44Z josemanuel joined #lisp 2014-10-06T15:46:46Z ltbarcly joined #lisp 2014-10-06T15:48:37Z vlnx joined #lisp 2014-10-06T15:48:46Z josemanuel quit (Client Quit) 2014-10-06T15:54:29Z tkhoa2711 quit (Quit: tkhoa2711) 2014-10-06T15:54:37Z joneshf-laptop quit (Ping timeout: 260 seconds) 2014-10-06T15:57:58Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T15:58:12Z JuanitoJons quit (Read error: No route to host) 2014-10-06T16:00:34Z jasom joined #lisp 2014-10-06T16:00:53Z neoesque quit (Quit: Leaving...) 2014-10-06T16:05:04Z Baggers quit (Ping timeout: 250 seconds) 2014-10-06T16:05:53Z svetlyak40wt joined #lisp 2014-10-06T16:08:07Z jewel joined #lisp 2014-10-06T16:10:32Z yuv- joined #lisp 2014-10-06T16:11:19Z arbscht quit (Ping timeout: 272 seconds) 2014-10-06T16:11:57Z zacharias quit (Ping timeout: 272 seconds) 2014-10-06T16:12:00Z zickzackv quit (Ping timeout: 250 seconds) 2014-10-06T16:12:57Z arbscht joined #lisp 2014-10-06T16:13:37Z fridim__ quit (Ping timeout: 272 seconds) 2014-10-06T16:15:03Z litian_ joined #lisp 2014-10-06T16:17:17Z litian_ quit (Client Quit) 2014-10-06T16:17:54Z tajjada joined #lisp 2014-10-06T16:21:32Z moore33 quit 2014-10-06T16:21:35Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T16:23:35Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-10-06T16:30:13Z slyrus quit (Ping timeout: 258 seconds) 2014-10-06T16:31:16Z Beluki quit (Quit: Beluki) 2014-10-06T16:31:18Z MutSbeta joined #lisp 2014-10-06T16:33:25Z fikusz joined #lisp 2014-10-06T16:34:28Z loke_: Is there a library out there that implements work queues? 2014-10-06T16:34:44Z boogie joined #lisp 2014-10-06T16:34:44Z loke_: I can implement it myself, of course but if someone already did it... 2014-10-06T16:35:02Z loke_: I want to push jobs to a queue, and I want a pool of threads pulling those jobs and executing them. 2014-10-06T16:35:24Z nyef: So, a thread-pool of some sort, plus a message-queue setup? 2014-10-06T16:35:29Z loke_: yep 2014-10-06T16:35:41Z |3b|: lparallel maybe? 2014-10-06T16:36:15Z nyef: eager-future maybe? 2014-10-06T16:36:25Z loke_: I'll take a look. Thanks. 2014-10-06T16:36:36Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-06T16:36:38Z nyef: Or combine sb-queue with something? 2014-10-06T16:37:13Z xenophon joined #lisp 2014-10-06T16:37:30Z Joreji joined #lisp 2014-10-06T16:38:06Z loke_: I'd hope an implmentation would use sb-queue, with a fallback 2014-10-06T16:38:12Z loke_: That's what I would do if I did it msyelf 2014-10-06T16:38:37Z attila_lendvai joined #lisp 2014-10-06T16:38:37Z attila_lendvai quit (Changing host) 2014-10-06T16:38:37Z attila_lendvai joined #lisp 2014-10-06T16:39:11Z nyef wouldn't bother with the fallback, but might leave a hook in place for someone else to implement a fallback if they want to use some inferi^Wother implementation. 2014-10-06T16:39:49Z ehu quit (Ping timeout: 272 seconds) 2014-10-06T16:42:36Z nisstyre quit (Ping timeout: 260 seconds) 2014-10-06T16:42:59Z zyaku quit (Ping timeout: 272 seconds) 2014-10-06T16:43:08Z drewc: nyef: inferi^Wother implementation.^W^WCCL? 2014-10-06T16:43:41Z fragamus quit (Quit: Computer has gone to sleep.) 2014-10-06T16:44:02Z nyef: Or clisp, or lispworks, or allegro, or ecl, or... 2014-10-06T16:44:17Z drewc has only been lisping for 10+ years, but 10 years ago CMUCL would have been there and CCL^MCL 2014-10-06T16:44:37Z drewc: rrrrr ^W ..... missed the W 2014-10-06T16:45:21Z jusss quit (Remote host closed the connection) 2014-10-06T16:45:59Z drewc had to translate "C-a, C-k" 2014-10-06T16:46:43Z atgreen quit (Remote host closed the connection) 2014-10-06T16:47:04Z nisstyre joined #lisp 2014-10-06T16:47:26Z ndrei joined #lisp 2014-10-06T16:47:58Z nyef: The emacsism would be C-M-backspace, surely? 2014-10-06T16:48:14Z drewc: nyef: clisp and ecl do not count ... only because I have never needed/had/wanted to use them. :P 2014-10-06T16:48:15Z zyaku joined #lisp 2014-10-06T16:48:22Z nyef: (kill-sexp-backwards, but be careful in case your X server isn't configured DontZap.) 2014-10-06T16:49:27Z drewc: yeah, save for backspace is my pinky with the RCtrl I always use, so C-a, C-k is faster 2014-10-06T16:50:14Z nyef: But only works if you want to kill the entire line, not merely the previous word. 2014-10-06T16:50:26Z drewc: (C always seems to be my pinky ... Left Ctrl would be interesting. 2014-10-06T16:50:56Z drewc: that is true, I use M-backspace for that actually .... 2014-10-06T16:51:27Z varjag_ joined #lisp 2014-10-06T16:51:37Z nisstyre quit (Quit: WeeChat 1.0.1) 2014-10-06T16:51:47Z drewc: or, backarrow/mouse and C-M-k 2014-10-06T16:52:33Z nyef: I think I've only had occasion to use kill-x11-and-sexp-backwards maybe twice. (-: 2014-10-06T16:53:24Z drewc: M-backspace, where M is the left M with my right index finger ... I am not at all correct ... and my right side is not quite 'right' for that matter. 2014-10-06T16:53:45Z k-stz joined #lisp 2014-10-06T16:55:01Z pt1 joined #lisp 2014-10-06T16:55:26Z drewc: nyef: this is the first time that I have learned about emacs having a "If you do not have x11 set up to kill itself-kill-sexp-backwards" thing .... 2014-10-06T16:55:31Z denisrum joined #lisp 2014-10-06T16:55:59Z drewc: I probably tried to learn it in like '96.... where it killed X 2014-10-06T16:56:09Z ryankarason joined #lisp 2014-10-06T17:03:32Z Joreji quit (Ping timeout: 245 seconds) 2014-10-06T17:05:52Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-06T17:08:53Z BitPuffin quit (Read error: Connection reset by peer) 2014-10-06T17:10:35Z ltbarcly joined #lisp 2014-10-06T17:10:41Z Joreji joined #lisp 2014-10-06T17:10:59Z slyrus joined #lisp 2014-10-06T17:11:04Z loke_ quit (Remote host closed the connection) 2014-10-06T17:11:39Z Adlai quit (Ping timeout: 264 seconds) 2014-10-06T17:12:07Z lduros quit (Ping timeout: 272 seconds) 2014-10-06T17:12:12Z malkomalko joined #lisp 2014-10-06T17:13:29Z malkomalko quit (Client Quit) 2014-10-06T17:13:39Z jordonbiondo joined #lisp 2014-10-06T17:16:02Z zacharias joined #lisp 2014-10-06T17:17:11Z Joreji quit (Ping timeout: 272 seconds) 2014-10-06T17:17:13Z jtza8 quit (Ping timeout: 260 seconds) 2014-10-06T17:17:29Z chu joined #lisp 2014-10-06T17:18:17Z Joreji joined #lisp 2014-10-06T17:19:15Z xyjprc quit (Quit: Leaving) 2014-10-06T17:19:50Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-06T17:20:52Z ovidnis joined #lisp 2014-10-06T17:22:07Z sroy_ joined #lisp 2014-10-06T17:22:25Z pt1 quit (Remote host closed the connection) 2014-10-06T17:23:58Z shka joined #lisp 2014-10-06T17:23:59Z ltbarcly joined #lisp 2014-10-06T17:24:17Z shka: i'm trying to find a blog post with common lisp type system explained 2014-10-06T17:24:25Z shka: i seen it once 2014-10-06T17:24:40Z shka: and it seemed to be quite good 2014-10-06T17:25:53Z Hache_: http://symbo1ics.com/blog/?p=1495 ? 2014-10-06T17:26:36Z shka: no, no 2014-10-06T17:27:57Z ltbarcly quit (Client Quit) 2014-10-06T17:28:53Z gravicappa joined #lisp 2014-10-06T17:32:49Z shka: i found it 2014-10-06T17:32:51Z shka: http://blog.30dor.com/2014/03/21/performance-and-types-in-lisp/ 2014-10-06T17:36:44Z Xach: see also http://www.reddit.com/r/lisp/comments/23y3pr/performance_and_types_in_lisp/ 2014-10-06T17:37:17Z jtza8 joined #lisp 2014-10-06T17:38:10Z ltbarcly joined #lisp 2014-10-06T17:39:59Z ndrei quit (Ping timeout: 258 seconds) 2014-10-06T17:43:37Z kirin` quit (Ping timeout: 245 seconds) 2014-10-06T17:43:47Z kuanyui quit (Quit: Leaving.) 2014-10-06T17:45:22Z kirin` joined #lisp 2014-10-06T17:47:21Z Grue`` joined #lisp 2014-10-06T17:47:56Z Grue` quit (Ping timeout: 260 seconds) 2014-10-06T17:48:21Z ovidnis quit (Quit: Lost terminal) 2014-10-06T17:48:37Z drewc upvotes Xach 2014-10-06T17:50:48Z innertracks joined #lisp 2014-10-06T17:51:42Z kuzy000_ quit (Ping timeout: 246 seconds) 2014-10-06T17:52:58Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-06T17:57:59Z ltbarcly joined #lisp 2014-10-06T17:59:17Z atgreen joined #lisp 2014-10-06T17:59:28Z eMBee quit (Remote host closed the connection) 2014-10-06T17:59:35Z Poenikatu joined #lisp 2014-10-06T17:59:39Z eMBee joined #lisp 2014-10-06T18:00:15Z yrk joined #lisp 2014-10-06T18:00:34Z Poenikatu: I have created a CL program which will purge all packages installed for an "apt-get build-dep pkg" command. 2014-10-06T18:00:41Z yrk quit (Changing host) 2014-10-06T18:00:42Z yrk joined #lisp 2014-10-06T18:01:17Z ltbarcly quit (Client Quit) 2014-10-06T18:01:55Z Xach: Poenikatu: cool 2014-10-06T18:02:50Z Poenikatu: Xach: I was compiling Emacs 24.4.50 and wanted to get rid of the numerous packages involved. 2014-10-06T18:03:10Z Poenikatu: Xach: It works with Clozure CL 2014-10-06T18:04:13Z josteink quit (Read error: Connection reset by peer) 2014-10-06T18:04:22Z clop quit (Remote host closed the connection) 2014-10-06T18:05:05Z innertracks quit (Ping timeout: 272 seconds) 2014-10-06T18:05:51Z Jesin quit (Quit: Leaving) 2014-10-06T18:06:11Z Hache_ quit (Remote host closed the connection) 2014-10-06T18:06:29Z tajjada quit (Quit: leaving) 2014-10-06T18:06:54Z tajjada joined #lisp 2014-10-06T18:10:42Z DGASAU quit (Ping timeout: 245 seconds) 2014-10-06T18:10:58Z ynniv joined #lisp 2014-10-06T18:11:04Z Jesin joined #lisp 2014-10-06T18:13:04Z fragamus joined #lisp 2014-10-06T18:14:48Z DGASAU joined #lisp 2014-10-06T18:18:10Z hitecnologys quit (Quit: hitecnologys) 2014-10-06T18:19:07Z ehu joined #lisp 2014-10-06T18:19:46Z ltbarcly joined #lisp 2014-10-06T18:19:54Z josteink joined #lisp 2014-10-06T18:20:24Z sroy_ quit (Quit: Leaving) 2014-10-06T18:21:57Z DGASAU` joined #lisp 2014-10-06T18:22:01Z felideon: dflkjaklj 2014-10-06T18:22:12Z felideon: pardon. 2014-10-06T18:22:21Z mrSpec quit (Remote host closed the connection) 2014-10-06T18:23:29Z Jesin quit (Quit: Leaving) 2014-10-06T18:24:04Z drewc: felideon: My cat types a similar language ... no idea what it means, but she does love typing. 2014-10-06T18:24:52Z DGASAU quit (Ping timeout: 245 seconds) 2014-10-06T18:25:59Z shka: drewc: maybe she codes perl? 2014-10-06T18:28:49Z felideon: :) 2014-10-06T18:28:58Z madrik quit (Quit: sleep) 2014-10-06T18:29:06Z ndrei joined #lisp 2014-10-06T18:29:14Z innertracks joined #lisp 2014-10-06T18:29:26Z DGASAU` is now known as DGASAU 2014-10-06T18:30:52Z drewc: shka: nah .. it is most likely Forth ... with an odd syntax true, but yeah. 2014-10-06T18:30:57Z blakbunnie27 quit (Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)) 2014-10-06T18:32:21Z Vutral quit (Ping timeout: 260 seconds) 2014-10-06T18:35:38Z nipra joined #lisp 2014-10-06T18:38:09Z macdice` joined #lisp 2014-10-06T18:39:44Z macdice quit (Ping timeout: 260 seconds) 2014-10-06T18:40:19Z dxtr joined #lisp 2014-10-06T18:41:28Z resttime joined #lisp 2014-10-06T18:41:31Z fragamus quit (Quit: Computer has gone to sleep.) 2014-10-06T18:45:55Z pnpuff joined #lisp 2014-10-06T18:47:54Z Vutral joined #lisp 2014-10-06T18:52:53Z tajjada quit (Ping timeout: 260 seconds) 2014-10-06T18:53:06Z ack006 joined #lisp 2014-10-06T18:54:50Z tajjada joined #lisp 2014-10-06T18:55:46Z Hache_ joined #lisp 2014-10-06T18:58:10Z shka quit (Quit: WeeChat 1.0.1) 2014-10-06T18:58:12Z innertracks quit (Ping timeout: 245 seconds) 2014-10-06T18:59:39Z MouldyOldBones quit (Ping timeout: 264 seconds) 2014-10-06T18:59:42Z denisrum quit (Ping timeout: 250 seconds) 2014-10-06T18:59:49Z ack006: Drakma rocks! :-) 2014-10-06T19:00:58Z ack006: testing it in slime with sbcl, really cool that returned parts end up as presentations, yay! 2014-10-06T19:01:29Z Xach: I almost always wrap the multiple values up into something else. I can't handle 8 things all the time. 2014-10-06T19:01:49Z ack006: :-) 2014-10-06T19:02:31Z jlongster joined #lisp 2014-10-06T19:05:38Z innertracks joined #lisp 2014-10-06T19:05:49Z H4ns: Xach: it only returns SEVEN values 2014-10-06T19:07:05Z boogie quit (Remote host closed the connection) 2014-10-06T19:07:30Z nyef quit (Ping timeout: 250 seconds) 2014-10-06T19:07:42Z boogie joined #lisp 2014-10-06T19:08:22Z Patzy quit (Ping timeout: 240 seconds) 2014-10-06T19:08:45Z innertracks quit (Client Quit) 2014-10-06T19:09:02Z Patzy joined #lisp 2014-10-06T19:10:01Z Xach: checkmate! 2014-10-06T19:10:11Z jainex joined #lisp 2014-10-06T19:11:52Z boogie quit (Ping timeout: 240 seconds) 2014-10-06T19:12:18Z pnpuff left #lisp 2014-10-06T19:13:51Z MouldyOldBones joined #lisp 2014-10-06T19:14:44Z fantazo quit (Ping timeout: 260 seconds) 2014-10-06T19:19:06Z nyef joined #lisp 2014-10-06T19:19:47Z Joreji quit (Ping timeout: 245 seconds) 2014-10-06T19:20:47Z josteink quit (Read error: Connection reset by peer) 2014-10-06T19:21:01Z josteink joined #lisp 2014-10-06T19:22:01Z svetlyak40wt joined #lisp 2014-10-06T19:22:39Z edgar-rft quit (Quit: continuation expired because of unknown reasons) 2014-10-06T19:23:36Z msx joined #lisp 2014-10-06T19:26:34Z svetlyak40wt quit (Ping timeout: 250 seconds) 2014-10-06T19:32:05Z boogie joined #lisp 2014-10-06T19:36:31Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-06T19:36:32Z boogie quit (Ping timeout: 250 seconds) 2014-10-06T19:37:16Z DTSCode joined #lisp 2014-10-06T19:37:35Z Jesin joined #lisp 2014-10-06T19:38:12Z slyrus quit (Ping timeout: 245 seconds) 2014-10-06T19:38:49Z angavrilov quit (Remote host closed the connection) 2014-10-06T19:40:45Z innertracks joined #lisp 2014-10-06T19:41:58Z jplankton joined #lisp 2014-10-06T19:42:33Z nug700 joined #lisp 2014-10-06T19:42:40Z rpg joined #lisp 2014-10-06T19:42:58Z girrig quit (Ping timeout: 244 seconds) 2014-10-06T19:43:52Z slyrus joined #lisp 2014-10-06T19:45:07Z girrig joined #lisp 2014-10-06T19:45:44Z boogie joined #lisp 2014-10-06T19:46:28Z pnpuff joined #lisp 2014-10-06T19:47:54Z pnpuff left #lisp 2014-10-06T19:48:40Z patojo joined #lisp 2014-10-06T19:50:16Z patojo quit (Read error: Connection reset by peer) 2014-10-06T19:50:27Z boogie quit (Ping timeout: 272 seconds) 2014-10-06T19:51:53Z boogie joined #lisp 2014-10-06T19:55:36Z TheMoonMaster left #lisp 2014-10-06T19:55:46Z boogie quit (Remote host closed the connection) 2014-10-06T19:56:10Z hardenedapple joined #lisp 2014-10-06T19:56:19Z boogie joined #lisp 2014-10-06T19:56:33Z nell joined #lisp 2014-10-06T19:57:09Z kuzy000_ joined #lisp 2014-10-06T20:00:40Z boogie quit (Ping timeout: 258 seconds) 2014-10-06T20:01:25Z gravicappa quit (Remote host closed the connection) 2014-10-06T20:02:28Z rpg quit (Remote host closed the connection) 2014-10-06T20:02:37Z rpg joined #lisp 2014-10-06T20:11:17Z jtza8 quit (Ping timeout: 260 seconds) 2014-10-06T20:11:22Z joneshf-laptop joined #lisp 2014-10-06T20:13:03Z innertracks quit (Quit: innertracks) 2014-10-06T20:13:32Z emma quit (Ping timeout: 245 seconds) 2014-10-06T20:15:42Z nug700 quit (Ping timeout: 245 seconds) 2014-10-06T20:16:15Z lduros joined #lisp 2014-10-06T20:17:42Z chu joined #lisp 2014-10-06T20:18:03Z dxtr_ joined #lisp 2014-10-06T20:18:12Z dxtr quit (Ping timeout: 260 seconds) 2014-10-06T20:19:04Z xenophon quit (Ping timeout: 258 seconds) 2014-10-06T20:19:15Z dim: Xach: btw I gave a try at porting over the http://www.obrezan.com/lisp/mysql/ mysql.lisp driver; got good enough results for a first session on it, but the behaviour is still really strange so I need to understand a thing or two 2014-10-06T20:19:17Z nowhere_man joined #lisp 2014-10-06T20:21:56Z dim: actually works nwo 2014-10-06T20:22:06Z dim: cool I might improve on it and try it in pgloader then 2014-10-06T20:22:50Z josteink quit (Read error: Connection reset by peer) 2014-10-06T20:23:09Z josteink joined #lisp 2014-10-06T20:25:17Z fikusz quit (Ping timeout: 272 seconds) 2014-10-06T20:27:59Z atgreen quit (Remote host closed the connection) 2014-10-06T20:28:29Z boogie joined #lisp 2014-10-06T20:28:35Z ARM9 joined #lisp 2014-10-06T20:28:49Z Xach: cool 2014-10-06T20:28:52Z Xach: make it separable! 2014-10-06T20:29:05Z grrk-bzzt joined #lisp 2014-10-06T20:29:51Z dim: sure 2014-10-06T20:30:02Z dim: it's its own QL loadable project already 2014-10-06T20:30:10Z dim: I just need to find a name for it before I push it to github 2014-10-06T20:30:22Z ft quit (Ping timeout: 272 seconds) 2014-10-06T20:30:30Z dim: cl-mysql is already taken for a CFFI driver and this one is a pure-cl "native" driver 2014-10-06T20:31:01Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-06T20:31:18Z H4ns: cl-native-mysql 2014-10-06T20:31:22Z H4ns: there you go. 2014-10-06T20:31:41Z Xach: artistic-mysql 2014-10-06T20:31:43Z josteink quit (Ping timeout: 258 seconds) 2014-10-06T20:31:50Z H4ns: omg 2014-10-06T20:32:02Z H4ns: artisan-mysql 2014-10-06T20:32:25Z H4ns: or artsy-mysql (comes with hipster spectacles) 2014-10-06T20:33:17Z boogie quit (Remote host closed the connection) 2014-10-06T20:33:31Z normanrichards joined #lisp 2014-10-06T20:33:49Z dim: well I could go with cl-native-mysql 2014-10-06T20:33:57Z boogie joined #lisp 2014-10-06T20:34:19Z Xach: H4ns: artisan is quite nice 2014-10-06T20:34:45Z Xach: dim: sure, and you COULD make everyone drop dead of total boredom! 2014-10-06T20:34:57Z dim: I hear you, I hear you 2014-10-06T20:35:07Z ack006: dim: why not cl-mysql-native, that tab-completes better 2014-10-06T20:35:17Z dim: artisan-mysql it is 2014-10-06T20:35:17Z rme: Isn't "artisan mysql" sort of like "artisan hot dogs?" 2014-10-06T20:35:23Z H4ns: \o/ 2014-10-06T20:35:47Z Xach: artobrezanial just doesn't flow 2014-10-06T20:36:27Z ft joined #lisp 2014-10-06T20:37:46Z fikusz joined #lisp 2014-10-06T20:38:37Z boogie quit (Ping timeout: 258 seconds) 2014-10-06T20:39:06Z dim: https://github.com/dimitri/artisan-mysql 2014-10-06T20:39:37Z Xach: dim: don't forget to rename mysql.asd 2014-10-06T20:39:45Z dim: I need to add some features, like a map-like API and more things like that 2014-10-06T20:39:53Z dim: oh, I didn't try to load it locally. pfff 2014-10-06T20:39:54Z dim: on it 2014-10-06T20:41:04Z pjb: Grue`: have a look at com.informatimago.common-lisp.cesarum.utility:nsubseq 2014-10-06T20:41:10Z H4ns: dim: first link in readme points to nowhere 2014-10-06T20:41:34Z pjb: moore33: CL displaced arrays are pointers made correctly. Just use them! 2014-10-06T20:42:05Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-06T20:42:11Z dlowe: it's kind of a shame that the syntax is so cumbersome 2014-10-06T20:45:25Z AeroNotix_: hq1_test: ah 2014-10-06T20:46:58Z dim: H4ns: thanks, fixed 2014-10-06T20:48:07Z slyrus: rme: these are pretty tasty: http://www.letsbefrankdogs.com/ 2014-10-06T20:54:57Z bob2819 joined #lisp 2014-10-06T20:56:38Z drmeister: But, but, but - hotdogs are where I get my nitrates from. 2014-10-06T20:58:56Z innertracks joined #lisp 2014-10-06T20:59:07Z jtza8 joined #lisp 2014-10-06T20:59:21Z normanrichards quit (Ping timeout: 260 seconds) 2014-10-06T20:59:27Z Beluki joined #lisp 2014-10-06T20:59:58Z xenophon joined #lisp 2014-10-06T21:01:15Z nydel quit (Remote host closed the connection) 2014-10-06T21:02:10Z jtza8 quit (Remote host closed the connection) 2014-10-06T21:03:14Z xenophon quit (Remote host closed the connection) 2014-10-06T21:05:47Z thawes quit (Quit: Konversation terminated!) 2014-10-06T21:06:02Z Hache_ quit (Remote host closed the connection) 2014-10-06T21:06:18Z mingvs quit (Ping timeout: 246 seconds) 2014-10-06T21:07:00Z ahungry_ quit (Quit: leaving) 2014-10-06T21:07:45Z k-stz quit (Remote host closed the connection) 2014-10-06T21:08:47Z mingvs joined #lisp 2014-10-06T21:09:34Z mrSpec joined #lisp 2014-10-06T21:09:40Z ehu quit (Ping timeout: 258 seconds) 2014-10-06T21:09:56Z mingvs quit (Client Quit) 2014-10-06T21:10:05Z jordonbiondo quit (Ping timeout: 260 seconds) 2014-10-06T21:11:27Z innertracks quit (Ping timeout: 245 seconds) 2014-10-06T21:11:44Z lduros quit (Remote host closed the connection) 2014-10-06T21:14:09Z mingvs joined #lisp 2014-10-06T21:15:26Z dxtr_ quit (Quit: .) 2014-10-06T21:15:27Z ARM9 quit (Ping timeout: 244 seconds) 2014-10-06T21:18:34Z dxtr joined #lisp 2014-10-06T21:19:02Z Bicyclidine joined #lisp 2014-10-06T21:20:55Z dxtr quit (Client Quit) 2014-10-06T21:22:04Z dxtr joined #lisp 2014-10-06T21:22:32Z bob2819 left #lisp 2014-10-06T21:33:15Z nipra quit (Read error: Connection reset by peer) 2014-10-06T21:33:49Z wilfredh joined #lisp 2014-10-06T21:37:49Z nipra joined #lisp 2014-10-06T21:39:09Z fikusz quit (Ping timeout: 272 seconds) 2014-10-06T21:40:01Z ehu joined #lisp 2014-10-06T21:41:30Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-06T21:48:17Z mishoo quit (Ping timeout: 260 seconds) 2014-10-06T21:51:24Z fikusz joined #lisp 2014-10-06T21:51:26Z rpg quit (Quit: rpg) 2014-10-06T21:59:51Z Bicyclidine quit (Ping timeout: 246 seconds) 2014-10-06T22:00:55Z jainex quit (Ping timeout: 272 seconds) 2014-10-06T22:02:13Z Hache_ joined #lisp 2014-10-06T22:02:30Z Poenikatu left #lisp 2014-10-06T22:04:26Z Jesin quit (Quit: Leaving) 2014-10-06T22:06:19Z Jesin joined #lisp 2014-10-06T22:07:40Z joneshf-laptop quit (Remote host closed the connection) 2014-10-06T22:08:50Z ggole quit 2014-10-06T22:08:51Z SvenGek joined #lisp 2014-10-06T22:10:10Z nell quit (Quit: WeeChat 1.1-dev) 2014-10-06T22:10:57Z nug700 joined #lisp 2014-10-06T22:11:27Z LiamH quit (Ping timeout: 272 seconds) 2014-10-06T22:11:47Z bcoburn joined #lisp 2014-10-06T22:13:32Z attila_lendvai quit (Quit: Leaving.) 2014-10-06T22:20:41Z Beluki quit (Read error: Connection reset by peer) 2014-10-06T22:21:49Z tankrim joined #lisp 2014-10-06T22:21:59Z spacebat quit (Quit: WeeChat 0.3.2) 2014-10-06T22:23:09Z ARM9 joined #lisp 2014-10-06T22:23:32Z axion: if i use loop/collect to create a list of plists, how can i add a single key/value to the outer list? is there a way to do this within the loop construct, or must i process it before/after? 2014-10-06T22:24:04Z pjb: axion: your question is illogical. 2014-10-06T22:24:20Z pjb: axion: a list of plist doesn't contain key/value. It contains plists. 2014-10-06T22:24:34Z Longlius joined #lisp 2014-10-06T22:25:47Z pjb: axion: I've got a truck load of bags of socks. I want to add socks in my truck. What shall I do? 2014-10-06T22:26:22Z spacebat joined #lisp 2014-10-06T22:26:28Z Xach: luis: darn, i wish i had coordinated a bit better. 2014-10-06T22:27:18Z axion: point taken 2014-10-06T22:28:19Z pjb: You could add the key/value into the first plist in the list. 2014-10-06T22:30:19Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-06T22:30:37Z drewc: axion: :collect into bar :finally (return (prog1 bar) (setf (car bar) (list* :baz 'bat (car bar)))) 2014-10-06T22:31:14Z drewc: errr ... minus a #\) where it should not have been 2014-10-06T22:31:40Z drewc: s/bar)/bar/ 2014-10-06T22:31:52Z innertracks joined #lisp 2014-10-06T22:34:35Z innertracks quit (Client Quit) 2014-10-06T22:35:16Z Grue``: i feel like axion actually needs to append or nconc his plists instead of collect 2014-10-06T22:35:30Z Grue`` is now known as Grue` 2014-10-06T22:36:29Z axion: stupid question. please ignore. coming back to lisp after a 3 month contract with python 2014-10-06T22:36:44Z axion: solved 2014-10-06T22:37:07Z vaporatorius quit (Remote host closed the connection) 2014-10-06T22:43:49Z ARM9 quit (Quit: swi 0x06) 2014-10-06T22:43:57Z kuzy000_ quit (Ping timeout: 245 seconds) 2014-10-06T22:46:41Z Vutral quit (Ping timeout: 260 seconds) 2014-10-06T22:46:54Z nell joined #lisp 2014-10-06T22:48:44Z innertracks joined #lisp 2014-10-06T22:48:56Z ltbarcly joined #lisp 2014-10-06T22:49:13Z innertracks quit (Client Quit) 2014-10-06T22:49:30Z ltbarcly quit (Client Quit) 2014-10-06T22:52:43Z mrSpec quit (Remote host closed the connection) 2014-10-06T22:52:43Z defaultxr joined #lisp 2014-10-06T22:56:44Z ltbarcly joined #lisp 2014-10-06T22:58:42Z bgs100 joined #lisp 2014-10-06T22:58:59Z bgs100 quit (Client Quit) 2014-10-06T22:59:51Z bgs100 joined #lisp 2014-10-06T23:05:04Z Vutral joined #lisp 2014-10-06T23:07:50Z svetlyak40wt joined #lisp 2014-10-06T23:07:53Z svetlyak40wt quit (Remote host closed the connection) 2014-10-06T23:09:10Z svetlyak40wt joined #lisp 2014-10-06T23:09:21Z robot-beethoven joined #lisp 2014-10-06T23:11:43Z kwc left #lisp 2014-10-06T23:12:44Z DGASAU quit (Remote host closed the connection) 2014-10-06T23:13:01Z Bicyclidine joined #lisp 2014-10-06T23:13:46Z EvW quit (Ping timeout: 272 seconds) 2014-10-06T23:13:49Z DGASAU joined #lisp 2014-10-06T23:17:40Z pjb: axion: so it's proven, python makes you forget programming. :-p 2014-10-06T23:17:52Z ehu quit (Ping timeout: 260 seconds) 2014-10-06T23:18:33Z axion: python makes me forget programming is fun 2014-10-06T23:27:47Z DGASAU quit (Ping timeout: 245 seconds) 2014-10-06T23:27:58Z gjvc: pjb: i am coming around to your way of thinking 2014-10-06T23:29:30Z ack006: a friend saw a small python script i had hacked up, commented: if instead of trying to make python code look like lisp, you should have written the thing in lisp in the first place ;) 2014-10-06T23:30:10Z KarlDscc quit (Remote host closed the connection) 2014-10-06T23:30:12Z oGMo: if you're going to write any language, you should write it as itself :P 2014-10-06T23:30:33Z ack006: oGMo: amen! :) 2014-10-06T23:30:48Z oGMo: unfortunately sometimes there aren't languages to express what you want, but at least in CL you can approximate some of them ;) 2014-10-06T23:38:57Z DGASAU joined #lisp 2014-10-06T23:48:10Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-06T23:54:02Z DGASAU quit (Ping timeout: 245 seconds) 2014-10-06T23:54:03Z nisstyre joined #lisp 2014-10-06T23:55:00Z nisstyre quit (Changing host) 2014-10-06T23:55:00Z nisstyre joined #lisp 2014-10-06T23:56:43Z ltbarcly joined #lisp 2014-10-06T23:58:39Z tkhoa2711 joined #lisp 2014-10-06T23:59:09Z rme quit (Quit: rme) 2014-10-06T23:59:09Z rme quit (Quit: rme)