2014-10-16T00:00:33Z Bicyclidine: mm, none in http://www.lispworks.com/documentation/HyperSpec/Body/06_afa.htm though, shame 2014-10-16T00:00:53Z faheem___: so, and would work? 2014-10-16T00:00:58Z sabalaba quit (Remote host closed the connection) 2014-10-16T00:01:04Z faheem___: so, AND would work? 2014-10-16T00:01:05Z Bicyclidine: if you want to do multiple things in the same condition, yeah 2014-10-16T00:01:14Z Bicyclidine: maybe i'm not sure what you're asking for 2014-10-16T00:01:42Z faheem___: Bicyclidine: hmm. looking for numbers satisfying both condition A and B. 2014-10-16T00:02:08Z faheem___: (loop for i from 1 to x when (and A B) sum i)? 2014-10-16T00:02:26Z faheem___: never mind, i'll experiement. trying to remember the keywords 2014-10-16T00:02:34Z faheem___: *experiment* 2014-10-16T00:02:35Z jtza8 quit (Remote host closed the connection) 2014-10-16T00:02:39Z innertracks joined #lisp 2014-10-16T00:04:48Z Qudit2 quit (Remote host closed the connection) 2014-10-16T00:05:44Z Bicyclidine quit (Ping timeout: 260 seconds) 2014-10-16T00:06:36Z Qudit2 joined #lisp 2014-10-16T00:07:29Z Qudit2 quit (Remote host closed the connection) 2014-10-16T00:07:57Z Qudit2 joined #lisp 2014-10-16T00:09:19Z Qudit2 quit (Client Quit) 2014-10-16T00:09:40Z Qudit2 joined #lisp 2014-10-16T00:11:04Z harish quit (Ping timeout: 265 seconds) 2014-10-16T00:11:48Z Bike: faheem___: oh, that would just be using and in the condition, yeah. 2014-10-16T00:13:02Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-10-16T00:16:00Z varjag_ quit (Quit: Connection closed for inactivity) 2014-10-16T00:18:37Z nand1` quit (Remote host closed the connection) 2014-10-16T00:19:13Z nand1 joined #lisp 2014-10-16T00:19:43Z nand1 quit (Remote host closed the connection) 2014-10-16T00:22:37Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T00:22:43Z nand1 joined #lisp 2014-10-16T00:22:44Z cpt_nemo joined #lisp 2014-10-16T00:22:48Z nand1 quit (Remote host closed the connection) 2014-10-16T00:22:54Z fortitude quit (Quit: leaving) 2014-10-16T00:23:24Z nand1 joined #lisp 2014-10-16T00:24:18Z nand1 quit (Remote host closed the connection) 2014-10-16T00:25:24Z nand1 joined #lisp 2014-10-16T00:25:24Z nand1 quit (Read error: Connection reset by peer) 2014-10-16T00:26:41Z cmack quit (Ping timeout: 244 seconds) 2014-10-16T00:26:53Z nand1` joined #lisp 2014-10-16T00:26:59Z rme joined #lisp 2014-10-16T00:27:47Z slyrus joined #lisp 2014-10-16T00:27:51Z zz_karupa is now known as karupa 2014-10-16T00:30:05Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T00:30:17Z dagnachew joined #lisp 2014-10-16T00:31:23Z faheem___: Bike: yes. thanks. 2014-10-16T00:31:29Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T00:32:12Z cpt_nemo joined #lisp 2014-10-16T00:32:35Z impulse quit (Ping timeout: 272 seconds) 2014-10-16T00:32:37Z pkkm joined #lisp 2014-10-16T00:33:53Z impulse joined #lisp 2014-10-16T00:34:46Z clop2 quit (Ping timeout: 255 seconds) 2014-10-16T00:41:09Z impulse quit (Ping timeout: 255 seconds) 2014-10-16T00:42:57Z impulse joined #lisp 2014-10-16T00:44:20Z jusss joined #lisp 2014-10-16T00:47:14Z faheem___: i see from the clhs that (if i understand correctly) that equal automatically specialises to the correct thing for particular scenarios. so,is that recommended for general use? e.g. numbers use eql, it seems. so, for number, use equal or eql? 2014-10-16T00:48:08Z faheem___: i see from the CLHS that (if i understand correctly) that EQUAL automatically specialises to the correct thing for particular scenarios. so,is that recommended for general use? e.g. numbers use EQL, it seems. so, for numbers, use EQUAL or EQL? 2014-10-16T00:51:18Z a20141015 joined #lisp 2014-10-16T00:53:14Z drdanmaku joined #lisp 2014-10-16T00:55:31Z InvalidCo: faheem___: the correct use depends a lot on the context 2014-10-16T00:55:33Z pillton: Object equality is specific to the problem at hand. I recommend writing a function MY-PROBLEM-OBJECTS-EQUAL-P. 2014-10-16T00:56:05Z InvalidCo: well, not correct, but good use of style 2014-10-16T00:56:20Z InvalidCo: pillton is right 2014-10-16T00:56:34Z xyjprc joined #lisp 2014-10-16T00:56:36Z faheem___: well, assume the context is only numbers. 2014-10-16T00:56:39Z InvalidCo: for example, with characters, you COULD use eq 2014-10-16T00:56:48Z InvalidCo: but I usually use char= 2014-10-16T00:56:59Z InvalidCo: because it not only reads as comparing characters 2014-10-16T00:57:05Z pillton: If the problem is only number then use =. 2014-10-16T00:57:14Z InvalidCo: but also enforces the type 2014-10-16T00:57:22Z faheem___: pillton: oh. ok. 2014-10-16T00:57:33Z faheem___: not equal or eql? 2014-10-16T00:57:40Z pillton: Think of yourself 6 months from now. You'll appreciate yourself more. 2014-10-16T00:57:52Z InvalidCo: (equal/eql 0.0 0) => nil 2014-10-16T00:57:56Z InvalidCo: (= 0.0 0) => t 2014-10-16T00:58:01Z pillton: = communicates to the reader that this function works with numbers. 2014-10-16T00:58:30Z InvalidCo: faheem___: most cases, you'll want = 2014-10-16T00:58:42Z faheem___: i see. thank you. 2014-10-16T00:59:00Z InvalidCo: the only exemption would be financial applications, where you want to handle monetary types, which you don't want to be floating point ;) 2014-10-16T00:59:24Z faheem___: InvalidCo: i don't; follow 2014-10-16T00:59:32Z pillton: InvalidCo: = is specialised for monetary types. 2014-10-16T00:59:40Z pillton: s/is/isn't/ 2014-10-16T00:59:45Z pillton apologises. 2014-10-16T00:59:47Z InvalidCo: pillton: exactly 2014-10-16T01:00:02Z InvalidCo: faheem___: floating points are not exact 2014-10-16T01:00:07Z faheem___: InvalidCo: true 2014-10-16T01:00:13Z zRecursive: Can '=' be implemented polymorphic ? 2014-10-16T01:00:31Z InvalidCo: monetary values, depending on your application, may go very high 2014-10-16T01:00:41Z InvalidCo: if they do, you lose precision if those are implemented in floating point 2014-10-16T01:00:41Z faheem___: InvalidCo: also true 2014-10-16T01:00:51Z faheem___: InvalidCo: right 2014-10-16T01:01:02Z InvalidCo: the hardware specifics are a bit odd to comprehend at first 2014-10-16T01:01:08Z faheem___: so, bignum? 2014-10-16T01:01:11Z InvalidCo: yes 2014-10-16T01:01:12Z faheem___: or something like that? 2014-10-16T01:01:19Z InvalidCo: that's what you want to use when handling currency 2014-10-16T01:01:23Z faheem___: InvalidCo: ok 2014-10-16T01:01:41Z InvalidCo: bitcoin websites usually boast about their non-floating-point software 2014-10-16T01:01:44Z faheem___: but i guess there is a performance hit 2014-10-16T01:01:49Z sabalaba joined #lisp 2014-10-16T01:01:57Z InvalidCo: because there are lots of big numbers involved 2014-10-16T01:02:19Z InvalidCo: and it's bad to have account balances rounded off 2014-10-16T01:02:36Z faheem___: InvalidCo: right 2014-10-16T01:02:47Z zRecursive: (defmacro = (a b) (cond ((charp ...) (numberp ...) ...)) ? 2014-10-16T01:02:50Z InvalidCo: I wouldn't trust a teller who approximated my account for want of faster deposits and withdrawals 2014-10-16T01:03:02Z InvalidCo: zRecursive: you'll have to shadow = if you want to do stuff like that 2014-10-16T01:03:09Z defaultxr joined #lisp 2014-10-16T01:03:14Z InvalidCo: and even then, you probably don't want to implement it as a macro 2014-10-16T01:04:02Z zRecursive: how about defun ? 2014-10-16T01:04:09Z InvalidCo: for example, yes 2014-10-16T01:04:42Z InvalidCo: I would probably use clos and defmethods 2014-10-16T01:04:53Z InvalidCo: but your needs may differ 2014-10-16T01:04:54Z zRecursive: then i donot need to care those annoying eql,equal stuffs 2014-10-16T01:05:42Z InvalidCo: do you come from a javascript/php background? 2014-10-16T01:05:59Z zRecursive: Just C 2014-10-16T01:06:04Z InvalidCo: ahhh 2014-10-16T01:06:28Z sabalaba quit (Ping timeout: 244 seconds) 2014-10-16T01:06:54Z wws joined #lisp 2014-10-16T01:06:54Z InvalidCo: the different equality-operators are there because type mismatch can produce surprising results 2014-10-16T01:07:00Z InvalidCo: it happens more often than you think 2014-10-16T01:07:49Z InvalidCo: C compilers, of course, warn and errorize all your attempts to check for object/whatever equality with == 2014-10-16T01:07:49Z faheem___: InvalidCo: possibly dumb question, but isn't it possible to have one equality thingy which always does the right thing depending on type? 2014-10-16T01:07:58Z zRecursive: In C, there is only ==/!=, right ? 2014-10-16T01:08:29Z Bike: if you never want to compare compound structures, sure 2014-10-16T01:08:40Z faheem___: Bike: was that a reply to me? 2014-10-16T01:08:48Z Bike: no 2014-10-16T01:08:53Z wws quit (Ping timeout: 188 seconds) 2014-10-16T01:09:08Z InvalidCo: zRecursive: well, I'm reminded of <= & >= 2014-10-16T01:09:15Z zRecursive: sure 2014-10-16T01:09:39Z InvalidCo: but in C, you use, for example, strcmp to compare strings 2014-10-16T01:09:43Z Bike: with a single equality operator, the thing is that sometimes you want two things to compare equal and for other applications you might want those same things to not compare equal. 2014-10-16T01:09:53Z billstclair quit (Ping timeout: 240 seconds) 2014-10-16T01:10:08Z Khisanth quit (Ping timeout: 258 seconds) 2014-10-16T01:10:29Z InvalidCo: consider equal the strcmp of lisp 2014-10-16T01:10:43Z zRecursive: Bike: according to its type 2014-10-16T01:10:49Z InvalidCo: you wouldn't use == to compare strings in c and you wouldn't use eq to compare strings in lisp 2014-10-16T01:11:29Z zRecursive: ok 2014-10-16T01:11:55Z cmack joined #lisp 2014-10-16T01:12:19Z InvalidCo: faheem___: there is no one way to compare equality 2014-10-16T01:12:19Z cmack is now known as Guest25664 2014-10-16T01:12:59Z Khisanth joined #lisp 2014-10-16T01:12:59Z InvalidCo: that is why there are multiple operators 2014-10-16T01:13:13Z InvalidCo: (= -0.0 0.0) => t 2014-10-16T01:13:22Z InvalidCo: (eq -0.0 0.0) => nil 2014-10-16T01:14:09Z InvalidCo: for example, boxes might be equal in some regard if you look at their contents 2014-10-16T01:14:41Z InvalidCo: but if the boxes are two boxes, they would not be the same box 2014-10-16T01:14:58Z Guest256` joined #lisp 2014-10-16T01:14:58Z InvalidCo: sometimes you need to know if you are talking about the same box or an identical box 2014-10-16T01:15:50Z faheem___: InvalidCo: fair point. 2014-10-16T01:16:30Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T01:17:50Z Guest25664 quit (Ping timeout: 244 seconds) 2014-10-16T01:18:12Z csziacobus joined #lisp 2014-10-16T01:19:33Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T01:19:57Z jgoss quit (Quit: jgoss) 2014-10-16T01:21:08Z pkkm joined #lisp 2014-10-16T01:21:27Z defaultxr quit (Ping timeout: 244 seconds) 2014-10-16T01:21:59Z InvalidCo: this wikipedia article sheds some good light on the deceitful nature of floating point numbers http://en.wikipedia.org/wiki/IEEE_floating_point 2014-10-16T01:22:41Z slyrus_ joined #lisp 2014-10-16T01:22:52Z clop2 joined #lisp 2014-10-16T01:23:18Z defaultxr joined #lisp 2014-10-16T01:23:51Z faheem___: yes, floating point sucks 2014-10-16T01:24:17Z InvalidCo: and there's this http://www.h-schmidt.net/FloatConverter/IEEE754.html 2014-10-16T01:24:43Z slyrus quit (Ping timeout: 255 seconds) 2014-10-16T01:24:47Z InvalidCo: just type in, let's say, 0.1 in there and look at the actual value it is resolves to 2014-10-16T01:25:42Z harish joined #lisp 2014-10-16T01:25:43Z InvalidCo: it's just one of the pitfalls of programming 2014-10-16T01:25:57Z Bike: well, that's what you get for denoting binary floating point in decimal, eh. 2014-10-16T01:26:06Z jaminja quit (Ping timeout: 244 seconds) 2014-10-16T01:26:22Z InvalidCo: :) 2014-10-16T01:27:08Z wws quit (Ping timeout: 244 seconds) 2014-10-16T01:27:23Z slyrus_ quit (Ping timeout: 258 seconds) 2014-10-16T01:27:35Z innertracks quit (Quit: innertracks) 2014-10-16T01:27:52Z jaminja joined #lisp 2014-10-16T01:28:19Z faheem___: suppose i have the (invalid) expression (or form?) -> (loop for i from 1 to 10 collect (mod j i)) 2014-10-16T01:28:51Z faheem___: the idea is to return an expression that looks like ((mod j 1) (mod j 2)...). 2014-10-16T01:28:57Z faheem___: how would one do that? 2014-10-16T01:29:13Z Bike: ^what's invalid about it? 2014-10-16T01:29:18Z Bike: works fine for me, if j is bound. 2014-10-16T01:29:35Z faheem___: Bike: i want j to remain a symbol 2014-10-16T01:29:48Z InvalidCo: you need to quote the list 2014-10-16T01:29:49Z Bike: oh. then (loop for i from 1 to 10 collect `(mod j ,i)) 2014-10-16T01:29:53Z InvalidCo: exactly 2014-10-16T01:29:59Z faheem___: ok 2014-10-16T01:30:05Z faheem___: Bike: thanks 2014-10-16T01:35:22Z csziacobus quit (Quit: csziacobus) 2014-10-16T01:35:47Z faheem___: InvalidCo: thanks 2014-10-16T01:35:53Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T01:36:31Z faheem___: great, that works perfectly 2014-10-16T01:36:50Z faheem___: time to go and re-read quoting. 2014-10-16T01:37:40Z pkkm joined #lisp 2014-10-16T01:37:45Z ivan4th quit (Ping timeout: 260 seconds) 2014-10-16T01:39:01Z innertracks joined #lisp 2014-10-16T01:40:56Z innertracks quit (Client Quit) 2014-10-16T01:46:53Z svetlyak40wt joined #lisp 2014-10-16T01:49:19Z Hache_ quit (Remote host closed the connection) 2014-10-16T01:50:42Z csziacobus joined #lisp 2014-10-16T01:50:42Z csziacobus quit (Client Quit) 2014-10-16T01:56:49Z svetlyak40wt quit (Ping timeout: 272 seconds) 2014-10-16T02:00:09Z yuikov quit (Remote host closed the connection) 2014-10-16T02:02:26Z nipra quit (Quit: Leaving.) 2014-10-16T02:04:10Z nand1 joined #lisp 2014-10-16T02:07:15Z nand1` quit (Ping timeout: 258 seconds) 2014-10-16T02:07:18Z drl joined #lisp 2014-10-16T02:11:24Z drl quit (Client Quit) 2014-10-16T02:13:48Z Lycurgus quit (Quit: This computer has gone to sleep) 2014-10-16T02:15:41Z jplankton joined #lisp 2014-10-16T02:19:59Z castillo joined #lisp 2014-10-16T02:20:23Z castillo is now known as gmcastil 2014-10-16T02:24:05Z yrk quit (Remote host closed the connection) 2014-10-16T02:26:20Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.5) 2014-10-16T02:27:51Z karswell` is now known as karswell 2014-10-16T02:28:23Z ltbarcly joined #lisp 2014-10-16T02:28:37Z Khisanth quit (Ping timeout: 244 seconds) 2014-10-16T02:30:53Z stux|RC-only quit (Ping timeout: 240 seconds) 2014-10-16T02:36:02Z blackwolf quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-16T02:37:57Z mordocai quit (Read error: Connection reset by peer) 2014-10-16T02:40:41Z Khisanth joined #lisp 2014-10-16T02:48:36Z mcc joined #lisp 2014-10-16T02:49:02Z leo2007 joined #lisp 2014-10-16T02:50:16Z sabalaba joined #lisp 2014-10-16T02:54:43Z sabalaba quit (Ping timeout: 255 seconds) 2014-10-16T02:54:57Z stux|RC-only joined #lisp 2014-10-16T02:55:41Z harish quit (Ping timeout: 272 seconds) 2014-10-16T02:56:37Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T02:57:12Z pkkm joined #lisp 2014-10-16T02:57:35Z clop2 quit (Ping timeout: 272 seconds) 2014-10-16T03:04:50Z protist joined #lisp 2014-10-16T03:06:10Z beach joined #lisp 2014-10-16T03:06:19Z beach: Good morning everyone! 2014-10-16T03:08:53Z phao: midnight here =) 2014-10-16T03:09:29Z bb010g joined #lisp 2014-10-16T03:11:35Z innertracks joined #lisp 2014-10-16T03:16:04Z gendl quit (Read error: Connection reset by peer) 2014-10-16T03:16:13Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T03:16:26Z zRecursive: After `git pull`, i am glad to see that ECL has some updates now :) 2014-10-16T03:16:35Z cpt_nemo joined #lisp 2014-10-16T03:19:28Z stux|RC-only quit (Ping timeout: 250 seconds) 2014-10-16T03:20:02Z zRecursive I am curious if ECL can build runnable stumpwm now 2014-10-16T03:20:32Z fade quit (Ping timeout: 265 seconds) 2014-10-16T03:23:59Z stux|RC-only joined #lisp 2014-10-16T03:27:45Z tvaalen quit (Ping timeout: 258 seconds) 2014-10-16T03:34:12Z wooden quit (Ping timeout: 250 seconds) 2014-10-16T03:34:35Z gingerale joined #lisp 2014-10-16T03:34:52Z segmond joined #lisp 2014-10-16T03:37:00Z bgs100 quit (Quit: bgs100) 2014-10-16T03:38:02Z beach: I added some more MIR examples here: http://metamodular.com/MIR-Examples/index.html 2014-10-16T03:39:47Z beach: I was hoping I could interpret MIR directly, but I don't see how to implement non-local control transfer without some preprocessing first. 2014-10-16T03:40:40Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-10-16T03:40:45Z tvaalen joined #lisp 2014-10-16T03:43:34Z Zhivago: It doesn't support continuations? 2014-10-16T03:43:34Z Guest256` quit (Read error: Connection reset by peer) 2014-10-16T03:43:40Z Guest256` joined #lisp 2014-10-16T03:43:43Z sabalaba joined #lisp 2014-10-16T03:44:33Z beach: Well, the continuations of an instruction are the successor instructions. 2014-10-16T03:45:42Z beach: The problem is that when I translated from AST to MIR, I lost the explicit stack-frame part of the continuation. This information is still there in MIR, but it is implicit. 2014-10-16T03:46:18Z faheem___: Isn't there a missing bracket in the example here? 2014-10-16T03:46:21Z faheem___: http://clhs.lisp.se/Body/m_destru.htm 2014-10-16T03:46:37Z InvalidCo: beach: are you drawing these graphs by hand or code? 2014-10-16T03:46:48Z faheem___: i'm guessing this is a known issue, if so 2014-10-16T03:46:50Z beach: InvalidCo: Code!!! 2014-10-16T03:47:09Z Bike: faheem___: where? 2014-10-16T03:47:29Z spacebat: faheem___: no 2014-10-16T03:47:39Z sabalaba quit (Read error: Connection reset by peer) 2014-10-16T03:47:41Z faheem___: never mind, my error 2014-10-16T03:47:52Z sabalaba joined #lisp 2014-10-16T03:48:05Z InvalidCo: beach: is it yet available to the general public? 2014-10-16T03:49:00Z beach: InvalidCo: Everything I do is always available. It might not yet be in a form that it is convenient to use, but it will be I hope. What part are you referring to? 2014-10-16T03:50:14Z InvalidCo: beach: I'm just wondering about what kind of an algorithm you're using for the positioning of the different parts of the diagrams 2014-10-16T03:50:14Z Qudit2 quit (Remote host closed the connection) 2014-10-16T03:50:29Z beach: InvalidCo: Oh, for that I use Graphviz. 2014-10-16T03:50:46Z InvalidCo: ah, I'll have to look into that 2014-10-16T03:50:49Z beach: I generate a Graphviz program, and then I have Graphviz render it for me. 2014-10-16T03:51:33Z beach: InvalidCo: The point of these examples is not the graph drawing, but the MIR code that the examples generate. 2014-10-16T03:51:51Z Zhivago: Graphviz is in one of those local minima -- too horrible to fix and too hard to replicate. 2014-10-16T03:52:07Z spacebat: what's the benefit of the MIR code over AST - closer to the metal so easier to write a compiler for? 2014-10-16T03:52:08Z beach: Heh! 2014-10-16T03:52:34Z beach: spacebat: Pretty much all known optimization algorithms work on something similar to MIR. 2014-10-16T03:53:35Z InvalidCo: beach: sorry, I'm a bit more interested in the generation of visuals -side of programming ;) 2014-10-16T03:53:39Z beach: spacebat: Common subexpression elimination, partial redundancy elimination, value numbering, strength reduction, invariant code motion, ... 2014-10-16T03:53:41Z wooden joined #lisp 2014-10-16T03:54:01Z beach: InvalidCo: I found a paper about it. 2014-10-16T03:54:19Z InvalidCo: but I have been also curious about general optimization techniques lately... 2014-10-16T03:54:25Z InvalidCo: beach: you did? 2014-10-16T03:54:29Z beach: http://www.graphviz.org/Documentation/TSE93.pdf 2014-10-16T03:54:40Z beach: 33 pages. Seems fairly complete. 2014-10-16T03:54:43Z Zhivago: Invalid: Tracing seems to be flavour of the decade. 2014-10-16T03:54:45Z InvalidCo: thanks! 2014-10-16T03:55:59Z faheem___: is there an easy way to pass a list of function values to a function? 2014-10-16T03:56:10Z Bike: list of function values? 2014-10-16T03:56:12Z InvalidCo: faheem___: please elaborate 2014-10-16T03:56:55Z beach: faheem___: ( ) 2014-10-16T03:57:40Z faheem___: (defun foo (x y) (+ x y)) then say (foo 1 2). but suppos you wanted to pass (1 2) to foo instead 2014-10-16T03:57:55Z faheem___: *suppose*. 2014-10-16T03:58:14Z InvalidCo: beach: do you think it would be plausible (fast enough to be worth the wait) to map raw processor instructions to trees alike the ones your graphs depict, and then write a compiler which, instead of requiring human assistance in the writing of deftransforms, it would "figure it out"? 2014-10-16T03:58:16Z beach: clhs apply 2014-10-16T03:58:17Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_apply.htm 2014-10-16T03:58:27Z faheem___: beach: thank you 2014-10-16T03:58:37Z spacebat: faheem___: (let ((args '(1 2))) (apply 'foo args)) 2014-10-16T03:59:18Z InvalidCo: shouldn't that be #'foo? 2014-10-16T03:59:37Z beach: InvalidCo: I am afraid I don't understand what you mean. Sorry! 2014-10-16T03:59:41Z InvalidCo: heh 2014-10-16T03:59:41Z jlongster quit (Ping timeout: 272 seconds) 2014-10-16T03:59:43Z Bike: 'foo also works, if foo is a global function. 2014-10-16T03:59:45Z spacebat: Ideally, though I think that works 2014-10-16T03:59:47Z InvalidCo: ah 2014-10-16T03:59:51Z spacebat: yes 2014-10-16T03:59:58Z faheem___: so, (apply 'foo '(1 2)) 2014-10-16T04:00:20Z drmeister: Hello beach! I love the MIR examples - absolutely fantastic! 2014-10-16T04:00:33Z beach: drmeister: Glad you like them! 2014-10-16T04:00:37Z Qudit2 joined #lisp 2014-10-16T04:00:44Z pspace joined #lisp 2014-10-16T04:00:49Z drmeister: And just as I promised I thought of them while I was filling boxes. 2014-10-16T04:01:22Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-16T04:01:32Z faheem___: spacebat: thanks. R has something that is vaguely similar, but not really 2014-10-16T04:01:35Z drmeister: One question - would it make sense to label the ENTER node with the function name? 2014-10-16T04:01:43Z beach: InvalidCo: What does it mean to "map raw processor instructions to trees"? 2014-10-16T04:01:57Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T04:02:04Z beach: drmeister: Not all functions have names, and some have several. 2014-10-16T04:02:18Z InvalidCo: I guess I was trying to convey too much into one line :) 2014-10-16T04:02:29Z InvalidCo: let's say you create the same graphs for processor instructions 2014-10-16T04:02:36Z joneshf-laptop joined #lisp 2014-10-16T04:02:38Z beach: OK 2014-10-16T04:03:06Z InvalidCo: and then you use some fuzzy genetic-mapping-thingamabob to compile, straight into machine language 2014-10-16T04:03:27Z snafuchs joined #lisp 2014-10-16T04:03:50Z InvalidCo: of course, even the 6502 instructions have lots of side-effects 2014-10-16T04:03:57Z InvalidCo: and even moreso if you consider the ppu hardware 2014-10-16T04:04:06Z beach: InvalidCo: Not sure. However, the MIR you see gradually gets transformed into a graph of real machine instructions. No fuzzy stuff required. Then it is laid out to be sequential with jumps and such. 2014-10-16T04:04:06Z beach: 2014-10-16T04:04:08Z InvalidCo: which was my original motivation for trying to think this through 2014-10-16T04:04:24Z drmeister: Understood - it plays hell with backtraces. It's a minor point but in this case the "F" function that is called is the one that descends from ENTER - correct? http://metamodular.com/MIR-Examples/example2.png 2014-10-16T04:04:45Z InvalidCo: beach: is it transformed to machine instructions with a pattern-matcher/ruleset specified by a human? 2014-10-16T04:05:11Z beach: InvalidCo: A set of rules, yes. 2014-10-16T04:05:18Z InvalidCo: yes yes 2014-10-16T04:05:52Z InvalidCo: I've longed to write a cycle-counting assembler for a long time 2014-10-16T04:05:57Z beach: drmeister: I think all that stuff will be part of some "source information" that gets transmitted from form to AST to MIR. 2014-10-16T04:05:57Z InvalidCo: first in c, now in lisp 2014-10-16T04:06:12Z InvalidCo: but it still requires a full emulator 2014-10-16T04:07:41Z jusss quit (Ping timeout: 255 seconds) 2014-10-16T04:07:44Z InvalidCo: in effect, I think it would amount to a bizarre kind of a compiler 2014-10-16T04:08:30Z InvalidCo: an easy way out (something I did earlier on) was padding with nops 2014-10-16T04:08:36Z InvalidCo: but it's not that impressive a result 2014-10-16T04:08:48Z beach: InvalidCo: All that stuff is pretty standard. My MIR notation is just a graph version of what you see in most compiler books. The way it gets translated to machine-specific code is also pretty standard. 2014-10-16T04:08:52Z stux|RC-only quit (Ping timeout: 260 seconds) 2014-10-16T04:09:02Z drmeister: beach: I envision that this example http://metamodular.com/MIR-Examples/example2.png would generate two functions in LLVM-IR - one for the MIR that descends from ENCLOSE and the other that descends from ENTER. Does that sound consistent with your thinking? 2014-10-16T04:10:15Z beach: drmeister: I don't know the limitations of LLVM-IR, but it sounds plausible to me that it would require two functions. 2014-10-16T04:11:21Z beach: drmeister: You have to be careful though because with non-local control transfer as a result of GO or RETURN-FROM, there can be control arcs from one such "function" to an enclosing one. 2014-10-16T04:11:53Z InvalidCo: beach: you're talking about the stuff before the cycle-counting, right? 2014-10-16T04:12:08Z InvalidCo: I've run across some profiling code in compilers which spoke of that forbidden art 2014-10-16T04:12:16Z drmeister: There are modules that contain globals and functions, functions are made of basic blocks, basic blocks have an incoming and outgoing control flow. Basic blocks are made up of instructions. 2014-10-16T04:12:32Z InvalidCo: but I'm talking about architectures where it would have to be very precise in order to be useful 2014-10-16T04:12:36Z kcj joined #lisp 2014-10-16T04:12:55Z beach: InvalidCo: I must not be quite awake yet, because I am having a hard time understanding what you are talking about. Cycle counting could refer to processor cycles or to cycles in a graph. 2014-10-16T04:12:59Z InvalidCo: you know, to switch ppu registers at a specific point on the screen 2014-10-16T04:13:06Z InvalidCo: processor cycles 2014-10-16T04:13:34Z stux|RC-only joined #lisp 2014-10-16T04:13:46Z beach: drmeister: Like I said, it has to be possible to pass control from one such function to an enclosing one. 2014-10-16T04:14:29Z drmeister: beach: I have a FAR-GO and a LOCAL-GO as well as a FAR-RETURN-FROM and LOCAL-RETURN-FROM. The FAR-XXX constructs are for inter function non-local exits and they use C++ exceptions. the LOCAL-XXX constructs are for intra-function operation. 2014-10-16T04:14:40Z fade joined #lisp 2014-10-16T04:14:49Z drmeister: The local ones just cleanup and jump. 2014-10-16T04:14:58Z yuikov joined #lisp 2014-10-16T04:15:07Z beach: drmeister: Sounds like you have it figured out. 2014-10-16T04:15:15Z drmeister: The FAR-XXX ones unwind the stack, cleanup and are caught in a calling function. 2014-10-16T04:16:22Z beach: drmeister: How do you handle non-local transfer to a point that has "expired"? 2014-10-16T04:16:36Z drmeister: Currently I use FAR-GO and FAR-RETURN-FROM for everything. I was hoping that MIR would let me optimize and use the LOCAL-GO and LOCAL-RETURN-FROM. It appears I was on the right track. 2014-10-16T04:16:53Z drmeister: beach: I toggle the power button. 2014-10-16T04:17:01Z beach: As I recall, the Common Lisp HyperSpec says that the consequences are undefined, so you may not have to do anything. I am just curious. 2014-10-16T04:17:16Z drmeister: I'm kidding - what are you supposed to do in those cases? 2014-10-16T04:17:24Z yuikov quit (Remote host closed the connection) 2014-10-16T04:17:41Z beach: drmeister: In SICL I intend to detect it and signal an error. 2014-10-16T04:17:51Z drmeister: Well, there you go - it should be caught as an unhanded exception and throw you into the debugger. 2014-10-16T04:18:08Z beach: drmeister: Right. But I am curious as to how you do that. 2014-10-16T04:18:25Z drmeister: Let me see. 2014-10-16T04:19:04Z beach: drmeister: Cleavir figures out what control arcs represent non-local transfers. The other ones turn into jump instructions. 2014-10-16T04:19:28Z beach: ... or nothing at all if the target instruction follows next. 2014-10-16T04:21:51Z drmeister: Is this a good example of a non-local transfer to an expired location? 2014-10-16T04:21:56Z drmeister: https://www.irccloud.com/pastebin/qy4a7rXS 2014-10-16T04:22:34Z beach: Yes. 2014-10-16T04:22:57Z drmeister: Whew - it didn't go down in flames. 2014-10-16T04:23:41Z drmeister: So the debugger catches it. This is my debugging debugger - it's not pretty. 2014-10-16T04:24:49Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T04:25:15Z drmeister: Ok, I better get to bed. I need to make progress on a grant proposal on artificial antibodies but thinking about compilers is too much fun. 2014-10-16T04:25:29Z snafuchs joined #lisp 2014-10-16T04:25:30Z beach: sleep well. 2014-10-16T04:26:10Z wol joined #lisp 2014-10-16T04:34:08Z yuikov joined #lisp 2014-10-16T04:34:58Z yuikov quit (Remote host closed the connection) 2014-10-16T04:37:54Z yuikov joined #lisp 2014-10-16T04:39:22Z madrik joined #lisp 2014-10-16T04:39:58Z a20141015 quit (Quit: Page closed) 2014-10-16T04:41:37Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T04:42:05Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T04:42:31Z snafuchs joined #lisp 2014-10-16T04:43:05Z innertracks quit (Quit: innertracks) 2014-10-16T04:43:27Z pkkm joined #lisp 2014-10-16T04:49:10Z ThomasH left #lisp 2014-10-16T04:50:30Z lommm joined #lisp 2014-10-16T04:50:49Z gingerale quit (Ping timeout: 255 seconds) 2014-10-16T04:51:35Z jkaye joined #lisp 2014-10-16T04:52:43Z pspace left #lisp 2014-10-16T04:54:35Z svetlyak40wt joined #lisp 2014-10-16T04:56:23Z jkaye quit (Ping timeout: 244 seconds) 2014-10-16T04:57:29Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T04:57:52Z ggole joined #lisp 2014-10-16T04:59:01Z yuikov quit (Remote host closed the connection) 2014-10-16T04:59:03Z pkkm joined #lisp 2014-10-16T04:59:11Z tvaalen quit (Ping timeout: 272 seconds) 2014-10-16T05:03:42Z shortCircuit__ joined #lisp 2014-10-16T05:03:52Z TDog quit (Ping timeout: 255 seconds) 2014-10-16T05:04:24Z reb quit (Ping timeout: 260 seconds) 2014-10-16T05:05:10Z yuikov joined #lisp 2014-10-16T05:05:37Z tvaalen joined #lisp 2014-10-16T05:06:05Z zeebrah joined #lisp 2014-10-16T05:09:51Z lommm quit (Ping timeout: 264 seconds) 2014-10-16T05:09:53Z beach: I have an idea for the MIR "interpreter". Since it seems MIR can not be interpreted directly (i.e., it needs to be preprocessed) because of non-local control transfers, I might as well preprocess it by turning it into a Common Lisp program. Each "function" would be a tagbody with a tag for each MIR instruction. Each instruction would end with a GO. 2014-10-16T05:10:55Z TDog joined #lisp 2014-10-16T05:11:13Z beach: In fact, the result of that might actually be reasonably fast if the result of the preprocessing step is followed by a call to the native COMPILE. 2014-10-16T05:12:48Z psy quit (Quit: Leaving) 2014-10-16T05:13:30Z beach: As King Crimson said: "The more I look at it, the more I like it". 2014-10-16T05:13:32Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-16T05:15:16Z psy joined #lisp 2014-10-16T05:16:15Z DGASAU quit (Remote host closed the connection) 2014-10-16T05:17:31Z DGASAU joined #lisp 2014-10-16T05:17:33Z superjudge_ is now known as superjudge 2014-10-16T05:18:36Z xyjprc quit (Ping timeout: 244 seconds) 2014-10-16T05:18:42Z jusss joined #lisp 2014-10-16T05:19:08Z Harag joined #lisp 2014-10-16T05:19:37Z oleo__ quit (Quit: Verlassend) 2014-10-16T05:19:38Z rme quit (Quit: rme) 2014-10-16T05:19:38Z rme quit (Quit: rme) 2014-10-16T05:22:44Z sabalaba quit (Remote host closed the connection) 2014-10-16T05:23:37Z TDog quit (Ping timeout: 260 seconds) 2014-10-16T05:23:40Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T05:26:46Z svetlyak40wt joined #lisp 2014-10-16T05:28:46Z zeitue joined #lisp 2014-10-16T05:42:37Z harish joined #lisp 2014-10-16T05:43:35Z pranavrc joined #lisp 2014-10-16T05:43:35Z pranavrc quit (Changing host) 2014-10-16T05:43:35Z pranavrc joined #lisp 2014-10-16T05:44:28Z TDog joined #lisp 2014-10-16T05:46:01Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T05:47:02Z pkkm joined #lisp 2014-10-16T05:47:22Z kushal joined #lisp 2014-10-16T05:47:59Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T05:50:13Z yuikov quit (Remote host closed the connection) 2014-10-16T05:50:54Z yuikov joined #lisp 2014-10-16T05:53:57Z mcc quit (Quit: This computer has gone to sleep) 2014-10-16T05:54:03Z Bike: sounds like forth. 2014-10-16T05:55:17Z yuikov quit (Ping timeout: 244 seconds) 2014-10-16T05:58:27Z beach: How so? 2014-10-16T05:59:08Z Bike: http://en.wikipedia.org/wiki/Threaded_code 2014-10-16T05:59:17Z hiroakip joined #lisp 2014-10-16T06:00:04Z beach: I see. Not quite. It would be inline code. 2014-10-16T06:00:56Z Longlius joined #lisp 2014-10-16T06:00:57Z beach: Let me see if I can construct an example. 2014-10-16T06:02:13Z wizzo joined #lisp 2014-10-16T06:04:06Z Vutral_ quit (Ping timeout: 240 seconds) 2014-10-16T06:05:18Z yuikov joined #lisp 2014-10-16T06:08:29Z beach: This: http://paste.lisp.org/+335K would be the result of translating this: http://metamodular.com/MIR-Examples/example4.png 2014-10-16T06:09:07Z Bike: oh. 2014-10-16T06:10:08Z mrSpec joined #lisp 2014-10-16T06:10:37Z Grue`: what was the original code? 2014-10-16T06:11:04Z Skrylar quit (Ping timeout: 250 seconds) 2014-10-16T06:12:46Z beach quit (Ping timeout: 240 seconds) 2014-10-16T06:15:59Z defaultxr quit (Quit: gnight) 2014-10-16T06:16:49Z Vutral quit (Ping timeout: 260 seconds) 2014-10-16T06:16:54Z ggole: Might run into trouble with TCO (if you are aiming to support that, as the tailcall node suggests) 2014-10-16T06:17:43Z phao quit (Ping timeout: 272 seconds) 2014-10-16T06:20:09Z MrWoohoo joined #lisp 2014-10-16T06:20:17Z hiroakip quit (Ping timeout: 272 seconds) 2014-10-16T06:21:03Z vinleod joined #lisp 2014-10-16T06:21:20Z drewc quit (Ping timeout: 255 seconds) 2014-10-16T06:22:53Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T06:23:07Z beach joined #lisp 2014-10-16T06:23:32Z beach: Sorry, I was disconnected. 2014-10-16T06:23:55Z Vutral joined #lisp 2014-10-16T06:24:05Z beach: http://paste.lisp.org/+335K/1 corrects some mistakes. 2014-10-16T06:24:45Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T06:25:05Z pkkm joined #lisp 2014-10-16T06:25:06Z beach: Grue`: The original code can be seen here http://metamodular.com/MIR-Examples/index.html 2014-10-16T06:25:07Z cpt_nemo joined #lisp 2014-10-16T06:25:11Z jusss quit (Read error: No route to host) 2014-10-16T06:25:20Z beach: Example 4. 2014-10-16T06:25:29Z jusss joined #lisp 2014-10-16T06:26:09Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T06:26:23Z beach: ggole: For now, the sole purpose of the MIR "interpreter" is to debut the AST-to-MIR translator, so I am not concerned about performance. 2014-10-16T06:26:58Z beach: s/debut/debug/ 2014-10-16T06:27:24Z beach: OK, time to get to work. I'll read the logs in case there are more remarks. 2014-10-16T06:27:32Z beach left #lisp 2014-10-16T06:28:14Z snafuchs joined #lisp 2014-10-16T06:28:16Z pt1 joined #lisp 2014-10-16T06:28:30Z Bike: bet you could shorten things by using prog, heh heh. 2014-10-16T06:29:16Z ggole: beach: righto 2014-10-16T06:32:13Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T06:32:39Z slyrus joined #lisp 2014-10-16T06:34:36Z pkkm joined #lisp 2014-10-16T06:35:06Z freaksken joined #lisp 2014-10-16T06:35:49Z spacebat: hmm, I'd like to make a setf method of a generic function 2014-10-16T06:36:12Z drewc joined #lisp 2014-10-16T06:36:15Z spacebat: if that makes sense - a bit confused about syntax for that 2014-10-16T06:37:49Z macdice quit (Remote host closed the connection) 2014-10-16T06:39:39Z mishoo joined #lisp 2014-10-16T06:42:55Z patric joined #lisp 2014-10-16T06:47:24Z MutSbeta joined #lisp 2014-10-16T06:49:12Z slyrus quit (Ping timeout: 250 seconds) 2014-10-16T06:52:36Z jkaye joined #lisp 2014-10-16T06:53:13Z Lycurgus joined #lisp 2014-10-16T06:54:18Z pt1_ joined #lisp 2014-10-16T06:57:23Z pt1 quit (Ping timeout: 240 seconds) 2014-10-16T06:57:25Z andcs joined #lisp 2014-10-16T06:57:39Z andcs left #lisp 2014-10-16T06:57:39Z jkaye quit (Ping timeout: 272 seconds) 2014-10-16T06:58:32Z munksgaard joined #lisp 2014-10-16T06:58:52Z slyrus joined #lisp 2014-10-16T06:59:56Z vlnx quit (Read error: Connection reset by peer) 2014-10-16T07:01:56Z zRecursive quit (Remote host closed the connection) 2014-10-16T07:02:06Z vlnx joined #lisp 2014-10-16T07:02:10Z pt1_ quit (Remote host closed the connection) 2014-10-16T07:02:31Z pt1 joined #lisp 2014-10-16T07:09:55Z edgar-rft joined #lisp 2014-10-16T07:11:24Z DGASAU quit (Remote host closed the connection) 2014-10-16T07:12:50Z Cymew joined #lisp 2014-10-16T07:12:58Z DGASAU joined #lisp 2014-10-16T07:13:36Z rx14 joined #lisp 2014-10-16T07:13:38Z spacebat: right, for some reason I was tring to define a setf method inside a defgeneric for the reader 2014-10-16T07:14:14Z spacebat: but of course its a separate generic function 2014-10-16T07:17:18Z prxq joined #lisp 2014-10-16T07:19:06Z ggole quit (Ping timeout: 250 seconds) 2014-10-16T07:20:23Z ehu joined #lisp 2014-10-16T07:21:20Z bagackiz joined #lisp 2014-10-16T07:23:46Z DGASAU quit (Remote host closed the connection) 2014-10-16T07:23:52Z rx14 quit (Remote host closed the connection) 2014-10-16T07:23:54Z mvilleneuve joined #lisp 2014-10-16T07:25:00Z DGASAU joined #lisp 2014-10-16T07:25:10Z Cymew quit (Ping timeout: 255 seconds) 2014-10-16T07:26:46Z DGASAU quit (Read error: Connection reset by peer) 2014-10-16T07:27:46Z DGASAU joined #lisp 2014-10-16T07:31:08Z arenz joined #lisp 2014-10-16T07:32:06Z fr3aksken joined #lisp 2014-10-16T07:32:46Z ggole joined #lisp 2014-10-16T07:33:17Z Cymew joined #lisp 2014-10-16T07:34:02Z freaksken quit (Ping timeout: 245 seconds) 2014-10-16T07:34:02Z fr3aksken is now known as freaksken 2014-10-16T07:35:33Z Beetny joined #lisp 2014-10-16T07:38:27Z DGASAU quit (Ping timeout: 258 seconds) 2014-10-16T07:42:00Z psy quit (Quit: Leaving) 2014-10-16T07:42:37Z nalssee joined #lisp 2014-10-16T07:44:42Z sabalaba joined #lisp 2014-10-16T07:44:47Z fridim_ joined #lisp 2014-10-16T07:52:10Z munksgaard quit (Ping timeout: 265 seconds) 2014-10-16T07:54:20Z kaihansen joined #lisp 2014-10-16T07:57:20Z svetlyak40wt joined #lisp 2014-10-16T07:59:36Z munksgaard joined #lisp 2014-10-16T08:00:00Z psy joined #lisp 2014-10-16T08:00:00Z varjag joined #lisp 2014-10-16T08:02:31Z robot-beethoven joined #lisp 2014-10-16T08:03:28Z vinleod quit (Quit: Computer has gone to sleep.) 2014-10-16T08:03:34Z easye` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-16T08:03:41Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T08:04:01Z Perkol joined #lisp 2014-10-16T08:04:53Z snafuchs joined #lisp 2014-10-16T08:05:56Z nha joined #lisp 2014-10-16T08:06:48Z easye joined #lisp 2014-10-16T08:08:43Z ltbarcly joined #lisp 2014-10-16T08:09:17Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T08:09:25Z snafuchs joined #lisp 2014-10-16T08:09:26Z vinleod joined #lisp 2014-10-16T08:10:02Z DGASAU joined #lisp 2014-10-16T08:10:41Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T08:11:06Z pkkm joined #lisp 2014-10-16T08:14:11Z spacebat: is there a slime function I'm not aware of which browses a documentation URL for a package or the system that provided it? 2014-10-16T08:15:03Z dim: Quickdocs still is a separate project, IIUC 2014-10-16T08:16:36Z captcha joined #lisp 2014-10-16T08:17:25Z captcha quit (Client Quit) 2014-10-16T08:18:39Z shortnbread joined #lisp 2014-10-16T08:18:55Z resttime quit (Quit: resttime) 2014-10-16T08:19:01Z shortnbread: in C is the value of EOF -1 and/or \0? 2014-10-16T08:19:09Z InvalidCo: spacebat: I think you can get the CLHS for emacs straight from quicklisp 2014-10-16T08:19:15Z InvalidCo: at least that seems to be what I have 2014-10-16T08:19:26Z InvalidCo: of course, it has only limited use 2014-10-16T08:19:37Z InvalidCo: plus the default shortcut key is l'horrible 2014-10-16T08:19:38Z DGASAU quit (Read error: Connection reset by peer) 2014-10-16T08:19:56Z InvalidCo: C-c C-d h 2014-10-16T08:20:09Z mal_: shortnbread: can't be \0. that's a valid return for getchar. traditionally it's -1 but any negative number would work 2014-10-16T08:20:17Z DGASAU joined #lisp 2014-10-16T08:20:29Z spacebat: I mean things installed via asdf 2014-10-16T08:20:43Z InvalidCo: yep 2014-10-16T08:21:42Z spacebat: C-c C-d h is in my muscle memory but it is a bit of a dance 2014-10-16T08:21:42Z InvalidCo: I don't think anybody has even attempted to make an attempt at a uniform interface for doc urls 2014-10-16T08:22:19Z Perkol quit (Ping timeout: 255 seconds) 2014-10-16T08:22:26Z yuikov quit (Remote host closed the connection) 2014-10-16T08:22:44Z harish quit (Ping timeout: 260 seconds) 2014-10-16T08:23:14Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T08:24:01Z InvalidCo: it'd probably be relatively easy to add arbitrary stuff to the ready-made clhs package 2014-10-16T08:24:02Z spacebat: I think it was Xach told me once that though there's a place to put a doc url, few authors do it 2014-10-16T08:24:16Z InvalidCo: but you'd have to deal with not only that 2014-10-16T08:24:37Z InvalidCo: but also if you want to open a specific part of documentation... 2014-10-16T08:24:45Z InvalidCo: ah, cool 2014-10-16T08:25:01Z shortnbread: mal_: thanks 2014-10-16T08:25:04Z nostoi joined #lisp 2014-10-16T08:25:06Z shortnbread: getchar returns EOF, not -1, not -123 if there is no more input from the stream 2014-10-16T08:26:52Z svetlyak40wt joined #lisp 2014-10-16T08:28:02Z shortnbread: think i got it now 2014-10-16T08:28:57Z easye quit (Read error: Connection reset by peer) 2014-10-16T08:29:03Z easye joined #lisp 2014-10-16T08:29:54Z spacebat: expect I'll be asking more questions here soon as my next dayjob will be common lisp 2014-10-16T08:30:46Z nha quit (Ping timeout: 240 seconds) 2014-10-16T08:31:04Z cosmicexplorer joined #lisp 2014-10-16T08:33:47Z Perkol joined #lisp 2014-10-16T08:34:34Z Ralt joined #lisp 2014-10-16T08:37:59Z DGASAU quit (Quit: upgrade.) 2014-10-16T08:39:21Z farhaven joined #lisp 2014-10-16T08:43:34Z yuikov joined #lisp 2014-10-16T08:47:09Z yuikov quit (Remote host closed the connection) 2014-10-16T08:54:21Z DGASAU joined #lisp 2014-10-16T08:57:55Z vinleod quit (Quit: Computer has gone to sleep.) 2014-10-16T08:57:55Z angavrilov joined #lisp 2014-10-16T08:58:40Z nug700 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-16T08:59:49Z flip214: drmeister: IIRC you did refactor C sources via CL. was that using LLVM via FFI? do you have example sources? 2014-10-16T09:01:01Z vinleod joined #lisp 2014-10-16T09:02:11Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-16T09:04:26Z fr3aksken joined #lisp 2014-10-16T09:07:05Z freaksken quit (Ping timeout: 260 seconds) 2014-10-16T09:07:05Z fr3aksken is now known as freaksken 2014-10-16T09:07:58Z attila_lendvai joined #lisp 2014-10-16T09:07:58Z attila_lendvai quit (Changing host) 2014-10-16T09:07:58Z attila_lendvai joined #lisp 2014-10-16T09:09:39Z ovenpasta joined #lisp 2014-10-16T09:10:31Z rudi_ joined #lisp 2014-10-16T09:11:20Z wasamasa: C++ sources 2014-10-16T09:11:35Z wasamasa: doubt there would be much to refactor for C :P 2014-10-16T09:11:40Z rudi_ is now known as rudi 2014-10-16T09:19:09Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-16T09:20:26Z jtza8 joined #lisp 2014-10-16T09:21:19Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T09:23:38Z sabalaba quit (Read error: Connection reset by peer) 2014-10-16T09:23:58Z stepnem joined #lisp 2014-10-16T09:27:36Z faheem___: is "let over lamda" considered an advanced textbook? or maybe not a textbook at all? 2014-10-16T09:28:06Z H4ns: faheem___: it is a crap book 2014-10-16T09:29:19Z ovenpasta1 joined #lisp 2014-10-16T09:29:52Z ovenpasta quit (Ping timeout: 245 seconds) 2014-10-16T09:30:52Z wasamasa: flip214: he was using his own CL implementation btw, here's the demonstration you probably have in mind: http://youtu.be/h31pURzgYX8 2014-10-16T09:31:03Z wasamasa: H4ns: I still haven't come across a clear explanation why 2014-10-16T09:31:11Z wasamasa: H4ns: is it because it suggest there's no real need for CLOS? 2014-10-16T09:31:27Z flip214: wasamasa: thanks, but are the sources to _parse_ c available somewhere? 2014-10-16T09:31:42Z H4ns: wasamasa: everybody is entitled to their own opinion. i find the writing and the code that is exposed in the book terrible. 2014-10-16T09:31:47Z faheem___: H4ns: is that the general opinion? 2014-10-16T09:31:56Z H4ns: faheem___: i am speaking only for myself. 2014-10-16T09:32:10Z harish joined #lisp 2014-10-16T09:32:21Z flip214: faheem___: I enjoyed reading it... 2014-10-16T09:32:39Z mal_: faheem___: it's rather an idiosyncratic view of CL development and I wouldn't want to maintain stuff like that. 2014-10-16T09:33:21Z wasamasa: flip214: hmm, there's a good chance it's somewhere in its sources 2014-10-16T09:33:44Z wasamasa: flip214: I suggest you to /join #clasp, speaking directly with drmeister will give you better chances 2014-10-16T09:36:07Z tessier quit (Ping timeout: 245 seconds) 2014-10-16T09:36:13Z wasamasa: flip214: or maybe not 2014-10-16T09:36:21Z wasamasa: flip214: "It's not available yet, but it will be. I'm first using Improve to clean up the C++ code and add semi-precise (precise heap/conservative stack) garbage collection to "Clasp", the Common Lisp compiler/system that I wrote that Improve runs on.. I'm hoping it will be out in a couple of months - and yes, it will be open source. Watch this channel." 2014-10-16T09:36:34Z wasamasa: flip214: anyways, ask him on his channel for updated news on this 2014-10-16T09:37:22Z flip214: ack, thank you. 2014-10-16T09:38:12Z flip214: mal_: I wouldn't go as far in production, too, but I found it interesting to see such a macro-mostly approach. 2014-10-16T09:38:18Z zacharias joined #lisp 2014-10-16T09:38:31Z H4ns: "interesting" 2014-10-16T09:38:33Z nostoi quit (Quit: Verlassend) 2014-10-16T09:39:06Z wasamasa: "Don't you ever use this in your code" 2014-10-16T09:39:32Z jusss quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2014-10-16T09:39:35Z gtasso` quit (Remote host closed the connection) 2014-10-16T09:39:48Z gtasso` joined #lisp 2014-10-16T09:40:28Z H4ns: i think "on lisp" is in the similar ballpark as let over lambda, but graham writes well, and the code can be read as satire or as prose. 2014-10-16T09:40:37Z mal_: flip214: still a useful guideline is never to use a macro where a function will suffice 2014-10-16T09:41:07Z H4ns: mal_: BUT MACROS ARE MORE AWESOME! 2014-10-16T09:41:39Z Zhivago: Or to use a macro for trivial syntactic sugar for a function call. 2014-10-16T09:41:45Z flip214: mal_: right, and that's what the book clearly expresses, multiple times, in various forms ;) 2014-10-16T09:41:59Z mal_: SURE. FOR MAXIMAL EFFICIENCY, COMBINE READER MACROS, COMPILER MACROS AND REGULAR MACROS AND DO ALL YOUR COMPUTATION AT COMPILE TIME 2014-10-16T09:42:08Z Zhivago: Macros are essentially completely brain-damaged compilers working in the dark. 2014-10-16T09:42:16Z H4ns: :D 2014-10-16T09:42:31Z Zhivago: If they were less terrible compilers, they would be safer to use for more interesting things. 2014-10-16T09:42:38Z Krystof: I wonder whether there's currently a reaction against a whole-hog "build your DSL to solve your problem in" approach in CL 2014-10-16T09:42:45Z mal_: yeah. the CLtL2 environments stuff helps a bit 2014-10-16T09:43:02Z Krystof: maybe because of a tendency to work in larger teams or on larger projects? 2014-10-16T09:43:42Z Zhivago: Well, macros require deeper literacy in the given project. 2014-10-16T09:43:49Z Krystof: or maybe because the DSL/wacky macro approach doesn't compose nicely? 2014-10-16T09:44:08Z flip214: mal_: isn't "doing everything at compile time" what C++ likes to do with templates? 2014-10-16T09:44:11Z mal_: language design is hard. few people are good at it. 2014-10-16T09:44:22Z cibs quit (Ping timeout: 276 seconds) 2014-10-16T09:44:36Z Krystof: also, clearly I need to be much more controversial in blog posts if I am to get any feedback 2014-10-16T09:45:03Z flip214: Krystof: "still working on reproducible builds"? 2014-10-16T09:45:07Z mal_: I'm all in favor of a good DSL with proper parsing and error reporting, with correct specification and attention to corner cases. But that's a lot of work. 2014-10-16T09:45:34Z Krystof: yeah 2014-10-16T09:46:05Z Krystof: but more generally also. I can tell people are reading the posts, or at least downloading the html :) 2014-10-16T09:46:18Z Krystof: but there's little onward discussion 2014-10-16T09:46:32Z Krystof: maybe everyone's too busy 2014-10-16T09:48:38Z svetlyak40wt joined #lisp 2014-10-16T09:50:32Z flip214: Krystof: I guess bitwise identical output might be easier by adding another compiler pass ;) 2014-10-16T09:51:14Z faheem___: so, to summarize, the message of "let over lambda" is. compilers are awesome, use them mote? 2014-10-16T09:51:49Z fr3aksken joined #lisp 2014-10-16T09:51:49Z wasamasa: I dunno, personally I've found the explanation of wrapping lambda with let very useful 2014-10-16T09:52:15Z faheem___: sorry, i mean, macros are useful, use them more 2014-10-16T09:52:57Z wasamasa: except if rather feeling like a thing I'd use in scheme than CL to me 2014-10-16T09:53:37Z faheem___: as i understand it, the sensible thing is to use CL macros if you really need to. otherwise no. 2014-10-16T09:53:59Z freaksken quit (Ping timeout: 244 seconds) 2014-10-16T09:53:59Z fr3aksken is now known as freaksken 2014-10-16T09:55:10Z tali713 quit (*.net *.split) 2014-10-16T09:55:10Z pillton quit (*.net *.split) 2014-10-16T09:56:01Z faheem___: Krystof: what blog posts? 2014-10-16T09:56:27Z CrazyEddy quit (Ping timeout: 258 seconds) 2014-10-16T09:59:44Z Perkol quit (Quit: Leaving) 2014-10-16T10:00:32Z sz0 quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-16T10:00:43Z pillton joined #lisp 2014-10-16T10:00:48Z cmatei_ quit (Remote host closed the connection) 2014-10-16T10:01:40Z tali713 joined #lisp 2014-10-16T10:02:41Z cibs joined #lisp 2014-10-16T10:03:12Z cmatei joined #lisp 2014-10-16T10:10:04Z kushal quit (Quit: Leaving) 2014-10-16T10:13:35Z lommm_ joined #lisp 2014-10-16T10:15:36Z przl joined #lisp 2014-10-16T10:15:52Z CrazyEddy joined #lisp 2014-10-16T10:15:56Z przl quit (Client Quit) 2014-10-16T10:17:03Z przl joined #lisp 2014-10-16T10:17:23Z przl quit (Client Quit) 2014-10-16T10:17:41Z przl joined #lisp 2014-10-16T10:18:15Z przl quit (Client Quit) 2014-10-16T10:18:28Z Blaguvest quit 2014-10-16T10:18:29Z przl joined #lisp 2014-10-16T10:21:07Z Karl_Dscc joined #lisp 2014-10-16T10:23:28Z tessier joined #lisp 2014-10-16T10:24:58Z urandom__ joined #lisp 2014-10-16T10:28:46Z heddwch quit (Ping timeout: 265 seconds) 2014-10-16T10:31:58Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-10-16T10:35:22Z heddwch joined #lisp 2014-10-16T10:35:59Z sz0 joined #lisp 2014-10-16T10:38:42Z Blaguvest joined #lisp 2014-10-16T10:42:09Z ZabaQ joined #lisp 2014-10-16T10:48:12Z CrazyEddy quit (Ping timeout: 245 seconds) 2014-10-16T10:49:07Z stassats joined #lisp 2014-10-16T10:49:33Z psy quit (Quit: Leaving) 2014-10-16T10:56:24Z sabalaba joined #lisp 2014-10-16T10:59:32Z przl quit (Ping timeout: 260 seconds) 2014-10-16T10:59:41Z Karl_Dscc quit (Remote host closed the connection) 2014-10-16T11:00:56Z sabalaba quit (Ping timeout: 260 seconds) 2014-10-16T11:02:59Z hitecnologys joined #lisp 2014-10-16T11:03:38Z CrazyEddy joined #lisp 2014-10-16T11:07:26Z Guest256` is now known as cmack 2014-10-16T11:09:54Z Cymew: H4ns: You must be the first one I've heard that does not like On Lisp. 2014-10-16T11:10:21Z rtra` joined #lisp 2014-10-16T11:10:31Z H4ns: Cymew: i did not mean to express that, to the contrary. i like it, as a satire or as prose. not as instructional textbook. 2014-10-16T11:10:54Z H4ns: Cymew: i do not like let over lambda. it is a crappy text around crappy code. 2014-10-16T11:11:01Z lommm_ quit (Quit: leaving) 2014-10-16T11:11:19Z Cymew: Yeah, LoL I've not heard that much about, in general. 2014-10-16T11:11:21Z H4ns: Cymew: in fact, i have heard many people here express that they hate on lisp. 2014-10-16T11:11:43Z yuikov joined #lisp 2014-10-16T11:11:49Z Cymew: I guess it's a question of selected perception on my part 2014-10-16T11:11:56Z H4ns: Cymew: i'm not one of them. i'm an adult and i can read stuff, keep my distance and still enjoy :) 2014-10-16T11:12:12Z hugoduncan quit (Read error: Connection reset by peer) 2014-10-16T11:12:22Z Blaguvest quit (Ping timeout: 245 seconds) 2014-10-16T11:12:24Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T11:12:39Z Cymew: So, you think it's working as satire, as in it's showing you how bad it can be as you go overboard? 2014-10-16T11:12:49Z hugoduncan joined #lisp 2014-10-16T11:12:54Z Cymew: I agree Graham writes well, and that he has a peculiar lisp style... 2014-10-16T11:13:01Z psy joined #lisp 2014-10-16T11:14:00Z rtra quit (Ping timeout: 260 seconds) 2014-10-16T11:14:00Z rtra` is now known as rtra 2014-10-16T11:14:17Z stassats: can i join in on the on lisp disliking? 2014-10-16T11:14:24Z H4ns: Cymew: it is working as a joyful read that involves lisp, yes. i don't think that graham wrote it to show how bad you can be, but i don't care much what his intention was :) 2014-10-16T11:14:28Z H4ns: stassats: there you go 2014-10-16T11:15:20Z stassats: i don't think i ever use most of the things described in on lisp, it may be cute, but not really that practical 2014-10-16T11:15:41Z Cymew: H4ns: I'm not sure I undertand your remark about satire, still. 2014-10-16T11:15:48Z H4ns: stassats: precisely my thinking. 2014-10-16T11:15:53Z Cymew: stassats: That standpoint I understand 2014-10-16T11:16:04Z H4ns: Cymew: i read it as satire, even though graham did not mean it as such 2014-10-16T11:16:42Z Cymew: In light of Stas remark, and you reply I guess I do get your poiunt, H4ns. 2014-10-16T11:16:49Z dlowe quit (Ping timeout: 260 seconds) 2014-10-16T11:16:57Z Cymew: argh. s/poiunt/point/ 2014-10-16T11:17:24Z Cymew: It probably reflect my own use of macros then 2014-10-16T11:17:49Z dlowe joined #lisp 2014-10-16T11:19:52Z przl joined #lisp 2014-10-16T11:22:46Z Krystof: I think it's hard to write a text that gives an idea of what you _could_ do with Lisp, using only examples that are in good taste and demonstrate what you _should_ do 2014-10-16T11:23:13Z Xach: Krystof: i was thinking yesterday about using ~R in the build process and how implementations might differ in output 2014-10-16T11:23:55Z Krystof: I also think it's sad if we as a language community lose sight of the neat thing that Lisp lets us manipulate the language itself in various controlled or uncontrolled ways 2014-10-16T11:25:13Z Xach: I don't like On Lisp when it has stuff like "tail recursion is the way to write fast common lisp code" 2014-10-16T11:26:04Z Xach: I like PAIP when it says things like "Here are some of the potential performance characteristics of various features, check with your implementation" 2014-10-16T11:26:46Z Krystof: Xach: I thought I remembered that at some point clisp had localized ~R 2014-10-16T11:26:54Z Krystof: but at least I can't make it do something silly now 2014-10-16T11:27:16Z jaseemabid joined #lisp 2014-10-16T11:27:18Z Krystof: my very first lisp patch was ~R-related, I think 2014-10-16T11:27:30Z gravicappa joined #lisp 2014-10-16T11:28:37Z faheem___: What is ~R? 2014-10-16T11:28:53Z Xach: faheem___: format directive to write numbers out as words 2014-10-16T11:29:04Z Xach: err, no 2014-10-16T11:29:14Z Xach: potentially 2014-10-16T11:29:30Z Karl_Dscc joined #lisp 2014-10-16T11:29:32Z faheem___: potentially? 2014-10-16T11:29:35Z Krystof: clisp and cmucl differ on (format nil "~R" 101) 2014-10-16T11:29:48Z Xach: faheem___: http://l1sp.org/cl/~R has the scoop 2014-10-16T11:29:57Z faheem___: oh, right, a format thing. 2014-10-16T11:30:47Z thawes joined #lisp 2014-10-16T11:31:14Z dim: I find that the usual main difference between textbook code and real code is all about error handling and input sanitizing, and I feel like it would be less problematic to include that in short lisp examples 2014-10-16T11:31:34Z Krystof: (I prefer PAIP to On Lisp too, but they are I think different in the philosophy they're aiming for as well: PAIP is, I think, a practical book -- "look what we can achieve with Lisp" -- while On Lisp is, I think, a theory book -- "look what the potential of this language is") 2014-10-16T11:31:37Z dim: because you can always just handler-care or handler-bind and report/log 2014-10-16T11:31:51Z dim: and there's ignore-errors and unwind-protect 2014-10-16T11:32:01Z dim: so you can still write short code with decent error handling 2014-10-16T11:32:05Z H4ns: ignore-errors is there to be avoided. 2014-10-16T11:32:29Z dim: it's useful in cases 2014-10-16T11:32:55Z dim: (ignore-errors (parse-integer date-string-or-integer)) 2014-10-16T11:32:59Z H4ns: dim: haha 2014-10-16T11:33:07Z H4ns: dim: that is precisely where it is not useful. 2014-10-16T11:33:09Z stassats: what about junk-allowed t? 2014-10-16T11:33:39Z dim: well in that case either it's a string or an integer, it's not allowed to be a string with some integers in it 2014-10-16T11:33:41Z stassats: ignore-errors is a nice way to make your debugging harder 2014-10-16T11:34:04Z stassats: dim: we have stringp 2014-10-16T11:34:08Z dim: (let ((maybe-integer (ignore-errors (parse-integer date-string-or-integer)))) (cond ... )) 2014-10-16T11:34:12Z dim: I should have pasted that 2014-10-16T11:34:33Z H4ns: dim: i'd reject that code in a review. "please rewrite it properly, without using ignore-errors" 2014-10-16T11:34:35Z dim: stassats: the date-string-or-integer comes from a CSV file or maybe a SQLite database 2014-10-16T11:34:49Z dim: H4ns: fair enough, how would you rewrite it? 2014-10-16T11:35:07Z H4ns: dim: :junk-allowed and type checks, as stassats says. 2014-10-16T11:35:13Z Krystof: :junk-allowed is exactly wrong 2014-10-16T11:35:27Z easye quit (Read error: Connection reset by peer) 2014-10-16T11:35:32Z Krystof: or rather, if you use it, you then also have to check the second return value from parse-integer 2014-10-16T11:35:34Z easye joined #lisp 2014-10-16T11:35:37Z dim: in my purpose it's as Krystof says, I really want NOT to use :junk-allowed 2014-10-16T11:35:37Z H4ns: Krystof: applied wrong, it is wrong :) 2014-10-16T11:35:47Z Krystof: (parse-integer "2014/01/01" :junk-allowed t) gives you 2014 2014-10-16T11:35:54Z Krystof: which is almost certainly not a the right answer 2014-10-16T11:36:17Z H4ns: dim: ignore-errors is just sloppy programming 2014-10-16T11:36:21Z Blaguvest joined #lisp 2014-10-16T11:36:27Z Krystof: in this instance, I strongly disagree 2014-10-16T11:37:07Z Krystof: let's see the rewrite 2014-10-16T11:37:09Z H4ns: Krystof: this is a free channel. we even tolerate people who like let over lambda here. 2014-10-16T11:37:41Z H4ns: Krystof: i'm not in the business of proving anything. if i see people breaking my debugging with no good reason and i'm the reviewer, i tell them to fix it. 2014-10-16T11:37:58Z dim: full context at https://github.com/dimitri/pgloader/blob/master/src/utils/transforms.lisp#L198 2014-10-16T11:38:21Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T11:38:31Z cpt_nemo joined #lisp 2014-10-16T11:38:49Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T11:39:03Z H4ns: dim: so you want to parse a string as integer if it is an integer? then use :junk-allowed, and look at the second value returned by parse-integer to see if the string was completely consumed. 2014-10-16T11:39:04Z Krystof: ignore-errors is the way to convert between return conventions: a return value to indicate an error, or signalling a condition to indicate an error. Usually, you want the second one, because it's much less error-prone 2014-10-16T11:40:05Z Krystof: in the case of a standardized function, with an extremely restricted number of ways that it can (is likely to) signal an error, it can be more straightforward to exclude the other ways and then use ignore-errors 2014-10-16T11:40:06Z dim: H4ns: the SQLite "date" type accepts "2014" as a value, which must be converted to "2014-01-01" when sent as a date to PostgreSQL; and the cl-sqlite driver will give me an integer here 2014-10-16T11:40:30Z H4ns: Krystof: that is one way to look at it. i see error conditions as being used for signalling errors, exclusively. 2014-10-16T11:40:35Z pkkm joined #lisp 2014-10-16T11:41:05Z H4ns: dim: so? 2014-10-16T11:41:08Z dim: ok, but here it's not (ignore-errors (huge (call (stack (of (code)))))) 2014-10-16T11:41:21Z dim: it's (ignore-errors (standardized-function)) 2014-10-16T11:41:27Z H4ns: dim: it still breaks *break-on-signals* 2014-10-16T11:41:32Z Krystof: no it doesn't 2014-10-16T11:41:35Z H4ns: dim: and that is how it breaks debugging for me 2014-10-16T11:41:43Z H4ns: Krystof: aha? 2014-10-16T11:41:54Z dim has so many things to learn still in the area of debugging 2014-10-16T11:42:04Z Krystof: oh, sorry, you mean that if you set *break-on-signals* you'll get a signal even though it'll be handled immediately? That's true 2014-10-16T11:42:07Z dim: I didn't know about *break-on-signals*, sounds useful 2014-10-16T11:42:32Z Krystof: (not what I thought you meant by "breaks" *break-on-signals*, but I agree that's something that can happen) 2014-10-16T11:42:38Z H4ns: dim: once you learn to appreciate *break-on-signals*, you begin to hate people who are too lazy to parse their integers properly :) 2014-10-16T11:42:58Z Krystof: I use *break-on-signals* to see all signals (of a particular type), and rely on the debugger to show me unhandled signals 2014-10-16T11:43:13Z Krystof: H4ns: how do you use *break-on-signals*? 2014-10-16T11:43:21Z kaihansen quit (Quit: Leaving) 2014-10-16T11:43:25Z Krystof: in a way that (ignore-errors ...) makes you unhappy? 2014-10-16T11:43:32Z dim: H4ns: in that case tho I expect parse-integer failures 2014-10-16T11:43:40Z dim: I'm not sure I get it yet 2014-10-16T11:43:51Z H4ns: Krystof: i use it to intercept signal handling so that i can look at the code position where the condition is signalled, before it is handled. 2014-10-16T11:44:18Z H4ns: Krystof: and if i have code that signals a lot of error conditions in non-exceptional circumstances, it annoys me a lot. 2014-10-16T11:45:03Z urandom__ quit (Quit: Konversation terminated!) 2014-10-16T11:45:33Z stassats: Krystof: parse-integer returns two values, when i want to parse a string exactly i have ensure-parse-integer 2014-10-16T11:45:35Z dim: oh so you never use conditions as a way to pass information around? 2014-10-16T11:45:43Z stassats: it's (defun ensure-parse-integer (value) (typecase value (string (multiple-value-bind (integer position) (parse-integer value :junk-allowed t) (when (= (length value) position) integer))) (integer value))) 2014-10-16T11:45:47Z H4ns: dim: i never use error conditions for that. 2014-10-16T11:45:50Z thawes quit (Quit: Konversation terminated!) 2014-10-16T11:45:57Z Krystof: H4ns: hm, I think I have two followup questions 2014-10-16T11:46:00Z H4ns: stassats: \o/ 2014-10-16T11:46:05Z dim: I'm yet to do it, apart from that very example, but I've been hinted that it's useful 2014-10-16T11:46:25Z Krystof: dim: it is useful, but you might not be using subclasses of error if it's just for communication 2014-10-16T11:46:55Z dim: that's very true, but I guess *break-on-signals* would still activate? 2014-10-16T11:47:05Z Krystof: dim: no, you can give *break-on-signals* a type specifier 2014-10-16T11:47:06Z H4ns: dim: you can (setf *break-on-signals* 'error) 2014-10-16T11:47:20Z dim: stassats: what about perfs of ensure-parse-integer vs ignore-errors? should I even be allowed to think about it? 2014-10-16T11:47:37Z Krystof: H4ns: first one: by default, the debugger comes along at the code position where the condition is signalled, assuming that the condition is not handled -- so what that suggests to me is that you normally have an outer "handle everything" handler or similar? 2014-10-16T11:47:44Z H4ns: dim: do you actually know the cost of signalling and catching conditions? 2014-10-16T11:47:45Z stassats: signalling conditions is slower 2014-10-16T11:48:03Z stassats: you have to cons up the condition object at the least 2014-10-16T11:48:04Z H4ns: Krystof: i often do, like in hunchentoot 2014-10-16T11:48:10Z dim: H4ns: no, hence the question ;-) 2014-10-16T11:48:22Z stassats: then walk the stack to find a handler 2014-10-16T11:48:23Z Krystof: H4ns: it feels like it would be easier to turn off that "handle everything" handler 2014-10-16T11:48:34Z stassats: then walk the stack to find the unwind clean up forms 2014-10-16T11:48:40Z dim: I'm also quite fuzzy on the cost of length, is it O(1) (like stored in the array header or something) or O(N) 2014-10-16T11:48:49Z Lycurgus quit (Quit: This computer has gone to sleep) 2014-10-16T11:48:51Z stassats: length on arrays is 1 2014-10-16T11:48:54Z stassats: strings is N, easy 2014-10-16T11:48:59Z H4ns: Krystof: not at all - in many cases, it is precisely the error handling that i need to debug when using *break-on-signals* 2014-10-16T11:49:01Z rick-monster quit (Ping timeout: 260 seconds) 2014-10-16T11:49:05Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T11:49:34Z snafuchs joined #lisp 2014-10-16T11:49:52Z H4ns: dim: just make a simple measurement to find out what the difference between (ignore-errors (parse-integer ..)) and (ensure-parse-integer ..) is 2014-10-16T11:49:54Z dim is including ensure-parse-integer in pgloader code base 2014-10-16T11:49:54Z Krystof: second one: do you normally have an application/library-specific condition superclass to use as a type-specifier to *break-on-signals*, rather than 'error? 2014-10-16T11:50:16Z Krystof: a hunchentoot-condition mixin, for example 2014-10-16T11:50:17Z H4ns: Krystof: normally, i set it to t, sometimes to error. 2014-10-16T11:50:42Z H4ns: Krystof: as i reserve signalling errors to exceptional circumstances, this approach works pretty well. 2014-10-16T11:50:46Z dim: H4ns: measuring is a thing, understanding is another 2014-10-16T11:50:53Z Krystof: (there being a difference in kind between language errors and application errors) 2014-10-16T11:50:53Z Krystof: anyway 2014-10-16T11:50:59Z H4ns: unless someone is too lazy to parse integers properly :) 2014-10-16T11:51:10Z stassats: one difference, ensure-parse-integer declines to parse "123 " 2014-10-16T11:51:52Z H4ns: Krystof: if there was a 'cl:integer-not-parseable condition class, life would be easier. 2014-10-16T11:52:36Z yuikov quit (Remote host closed the connection) 2014-10-16T11:52:52Z stassats: if there were fine conditions for all errors, life would be really easy 2014-10-16T11:53:04Z Zhivago: Then you'd need to handle them ... 2014-10-16T11:53:17Z john_minetest joined #lisp 2014-10-16T11:53:21Z john_minetest: hi 2014-10-16T11:53:29Z stassats: Zhivago: if you already do 2014-10-16T11:55:24Z dim is that lazy ;-) 2014-10-16T11:56:32Z dim: still, https://github.com/dimitri/pgloader/commit/1bc467f1a480963449f0259dee1c352f186e7a05 2014-10-16T11:57:29Z H4ns: cond? 2014-10-16T11:57:44Z H4ns: ah, code follows, sorry 2014-10-16T11:57:49Z sabalaba joined #lisp 2014-10-16T11:58:32Z theos quit (Disconnected by services) 2014-10-16T11:59:05Z theos joined #lisp 2014-10-16T11:59:07Z dim: date representations in MySQL and SQLite are quite awful 2014-10-16T11:59:44Z nalssee joined #lisp 2014-10-16T11:59:58Z kushal joined #lisp 2014-10-16T12:01:28Z stassats: protip (and maybe-integer (= 0 maybe-integer)) => (eql maybe-integer 0) 2014-10-16T12:01:52Z Blaguvest quit (Ping timeout: 240 seconds) 2014-10-16T12:02:38Z sabalaba quit (Ping timeout: 244 seconds) 2014-10-16T12:02:56Z jusss joined #lisp 2014-10-16T12:05:51Z ZabaQ quit (Quit: Leaving.) 2014-10-16T12:08:33Z atgreen joined #lisp 2014-10-16T12:11:06Z ovenpasta1 is now known as ovenpasta 2014-10-16T12:12:18Z Beetny quit (Read error: Connection reset by peer) 2014-10-16T12:12:31Z antoszka: when I make numerous consecutive GET/HEAD requests using Drakma how do I make sure it actually reuses the connection? I have :keepalive t :close nil, but my open connection list grows quickly and I run of filedescriptors (or some other resource limit). 2014-10-16T12:12:50Z stassats: you need to reuse the stream 2014-10-16T12:13:04Z fantazo joined #lisp 2014-10-16T12:13:11Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T12:13:13Z svetlyak40wt quit (Read error: Connection timed out) 2014-10-16T12:14:04Z antoszka: stassats: is that explained in the Drakma manual? or some other tutorial? 2014-10-16T12:14:07Z svetlyak40wt joined #lisp 2014-10-16T12:14:11Z stassats: it is 2014-10-16T12:14:54Z antoszka: okay, I'll try to see how that's done, thanks. 2014-10-16T12:15:00Z H4ns: step #1: check out the manual 2014-10-16T12:15:08Z stassats: step #0 2014-10-16T12:16:01Z H4ns: antoszka: anything that is not explained in the drakma manual is not a drakma feature :) 2014-10-16T12:16:07Z antoszka: :) 2014-10-16T12:16:18Z stassats: a bug, then? 2014-10-16T12:16:50Z H4ns: well. if drakma does something unexpected and it is not explained in the manual, it is a bug. for some value of "unexpected" 2014-10-16T12:16:53Z tadni` joined #lisp 2014-10-16T12:18:08Z Grue`: no, if it *contradicts* something explained in the manual that's a bug; otherwise it's just undefined behavior 2014-10-16T12:18:08Z antoszka: Yeah, I think once I saw :keepalive/:close I stopped looking further hoping that'd do what I had in mind. 2014-10-16T12:18:22Z antoszka: http://weitz.de/drakma/#ex-reuse-connection ← while the solution is right there 2014-10-16T12:18:22Z stassats: if you find any bugs, you can feed them to hunchentoot 2014-10-16T12:18:58Z reb joined #lisp 2014-10-16T12:19:26Z stassats: and you have to close it eventually 2014-10-16T12:19:35Z jaseemabid left #lisp 2014-10-16T12:19:41Z antoszka: yep 2014-10-16T12:20:02Z antoszka: it won't close automatically when I leave the block with the stream? 2014-10-16T12:20:08Z tadni` quit (Remote host closed the connection) 2014-10-16T12:20:13Z stassats: what block? 2014-10-16T12:20:16Z EvW joined #lisp 2014-10-16T12:20:49Z tadni quit (Ping timeout: 255 seconds) 2014-10-16T12:20:51Z tadni` joined #lisp 2014-10-16T12:20:52Z antoszka: (let ((stream (http-request …))) ) 2014-10-16T12:21:00Z antoszka: this block I meant 2014-10-16T12:21:17Z stassats: this is not a block 2014-10-16T12:21:23Z |3b|: clhs w-o-s 2014-10-16T12:21:24Z specbot: with-open-stream: http://www.lispworks.com/reference/HyperSpec/Body/m_w_op_1.htm 2014-10-16T12:21:50Z antoszka: ok, cool 2014-10-16T12:21:54Z antoszka: ty 2014-10-16T12:22:05Z apathor joined #lisp 2014-10-16T12:23:04Z antoszka: but that makes me wonder – there's some background machinery that makes drakma close the TCP connection when I'm done with w-o-s? 2014-10-16T12:23:08Z yuikov joined #lisp 2014-10-16T12:23:46Z stassats: it's not drakma that closes the tcp connection, it's with-open-stream 2014-10-16T12:25:36Z dim: stassats: thanks for the tip, will see about that ;-) 2014-10-16T12:25:41Z antoszka: ok 2014-10-16T12:26:35Z Perkol joined #lisp 2014-10-16T12:26:43Z dim remembered not to use 'eq on numbers, 'eql is another story, yet something else to dive in 2014-10-16T12:27:17Z stassats: eql is fine for integers 2014-10-16T12:27:46Z yuikov quit (Ping timeout: 240 seconds) 2014-10-16T12:29:03Z Grue`: antoszka: a specialized stream can have a method defined on it, to be executed when it closes 2014-10-16T12:29:12Z antoszka: right 2014-10-16T12:29:20Z antoszka: that's what I was thinking 2014-10-16T12:29:23Z tadni` quit (Remote host closed the connection) 2014-10-16T12:30:06Z kcj quit (Ping timeout: 246 seconds) 2014-10-16T12:30:43Z Grue`: it's not really CL standard though, but most implementations support "Gray streams" extension that allows to do such things 2014-10-16T12:30:50Z yuikov joined #lisp 2014-10-16T12:31:04Z tadni` joined #lisp 2014-10-16T12:31:15Z antoszka: thx 2014-10-16T12:32:01Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T12:32:06Z Perkol quit (Ping timeout: 240 seconds) 2014-10-16T12:32:29Z easye quit (Ping timeout: 260 seconds) 2014-10-16T12:33:10Z H4ns: drakma uses gray streams underneath, but streams must be closed explicitly. drakma never closes a stream that it has received as :stream argument. 2014-10-16T12:33:36Z cpt_nemo joined #lisp 2014-10-16T12:33:50Z Grue`: yeah but with-open-stream does close it 2014-10-16T12:34:04Z H4ns: that is the purpose of it, true 2014-10-16T12:34:56Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-10-16T12:37:37Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T12:38:15Z pkkm joined #lisp 2014-10-16T12:42:17Z yuikov quit (Remote host closed the connection) 2014-10-16T12:44:48Z Perkol joined #lisp 2014-10-16T12:44:54Z jusss quit (Remote host closed the connection) 2014-10-16T12:45:10Z jusss joined #lisp 2014-10-16T12:46:57Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T12:47:10Z pkkm joined #lisp 2014-10-16T12:47:16Z eudoxia joined #lisp 2014-10-16T12:49:26Z Xach left #lisp 2014-10-16T12:49:33Z Xach joined #lisp 2014-10-16T12:49:49Z Xach feels the excitement of another day of Lisp! 2014-10-16T12:49:56Z Xach: darn, no spammer today. 2014-10-16T12:50:28Z H4ns: did you have a surprise for them? 2014-10-16T12:50:29Z john_minetest: Spammers? 2014-10-16T12:50:50Z wasamasa: john_minetest: there is a bot that /query-spams you once you speak up on a channel you're on 2014-10-16T12:51:03Z wasamasa: john_minetest: I've told #freenode about it and some other people, too 2014-10-16T12:51:10Z john_minetest: ah. 2014-10-16T12:51:25Z wasamasa: s/you're on/it's on/ 2014-10-16T12:52:28Z john_minetest: Is it somehow possible to compile (common) lisp to .o files and link them with other things later, btw? 2014-10-16T12:53:25Z john_minetest: I found out that there is some (not so easy) way to make executables (ELF) but I couldn't find out how to just make .o files for later linking with some other stuff. 2014-10-16T12:53:40Z Xach: john_minetest: it depends on the implementation. 2014-10-16T12:53:46Z H4ns: john_minetest: ecl can produce .o files. 2014-10-16T12:53:47Z Xach: most implementations make it pretty easy to make executables. 2014-10-16T12:54:09Z Xach: I think one or more of the commercial implementations can produce shared libraries, too. 2014-10-16T12:54:21Z jkaye joined #lisp 2014-10-16T12:54:26Z john_minetest: Ah, ecl compiles to c. 2014-10-16T12:54:31Z john_minetest: Interesting. 2014-10-16T12:54:31Z thawes joined #lisp 2014-10-16T12:54:48Z sbryant quit (Ping timeout: 260 seconds) 2014-10-16T12:55:28Z ndrei quit (Ping timeout: 255 seconds) 2014-10-16T12:56:24Z sbryant joined #lisp 2014-10-16T12:57:56Z nipra joined #lisp 2014-10-16T12:59:09Z jkaye quit (Ping timeout: 246 seconds) 2014-10-16T12:59:55Z pjb: Krystof: it wasn't exactly localized, it used British English. But it was resolved that the ANSI CL standard specified Usian English. 2014-10-16T13:00:16Z gniourf quit (Quit: Leaving) 2014-10-16T13:02:41Z gniourf joined #lisp 2014-10-16T13:03:38Z jusss quit (Remote host closed the connection) 2014-10-16T13:07:21Z jkaye joined #lisp 2014-10-16T13:07:26Z svetlyak40wt quit (Read error: Connection timed out) 2014-10-16T13:08:30Z jtza8 quit (Ping timeout: 258 seconds) 2014-10-16T13:08:39Z svetlyak40wt joined #lisp 2014-10-16T13:09:02Z sshirokov quit (Ping timeout: 245 seconds) 2014-10-16T13:10:06Z sshirokov joined #lisp 2014-10-16T13:10:59Z eudoxia quit (Quit: Lost terminal) 2014-10-16T13:11:58Z clop2 joined #lisp 2014-10-16T13:16:00Z wizzo quit (Ping timeout: 244 seconds) 2014-10-16T13:20:17Z Lefeni joined #lisp 2014-10-16T13:22:04Z drmeister: john_minetest: I have developed a new implementation of CL that generates .o files. 2014-10-16T13:22:11Z vaporatorius joined #lisp 2014-10-16T13:22:44Z drmeister: It also generates shared libraries. 2014-10-16T13:23:21Z drmeister: GitHub.com/drmeister/clasp 2014-10-16T13:23:53Z john_minetest: thx. bookmarked it. 2014-10-16T13:25:30Z karupa is now known as zz_karupa 2014-10-16T13:25:42Z oleo joined #lisp 2014-10-16T13:26:04Z flip214: drmeister: IIRC you did refactor C sources via CL. was that using LLVM via FFI? do you have example sources? 2014-10-16T13:26:27Z flip214: I'd like to get a AST from C files, and play around with that 2014-10-16T13:26:59Z nalssee joined #lisp 2014-10-16T13:29:38Z faheem___: i keep forgetting what AST means 2014-10-16T13:30:04Z stassats: minion: what does AST stand for? 2014-10-16T13:30:05Z minion: Adenofibrosis Shafting Tiger 2014-10-16T13:30:12Z stassats: no wonder you can't remember that 2014-10-16T13:30:14Z faheem___: stassats: no 2014-10-16T13:31:03Z rme joined #lisp 2014-10-16T13:32:13Z clop2 quit (Ping timeout: 260 seconds) 2014-10-16T13:32:43Z gravicappa quit (Remote host closed the connection) 2014-10-16T13:33:36Z faheem___: ah, Abstract Syntax Tree. 2014-10-16T13:34:01Z faheem___ wishes the world had less acronyms. 2014-10-16T13:35:16Z Perkol quit (Remote host closed the connection) 2014-10-16T13:37:20Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T13:37:49Z drmeister: flip214: I exposed the clang refactoring library to Clasp. Not through an ffi. The only sample code I have at the moment is a full blown application. 2014-10-16T13:38:33Z hardenedapple joined #lisp 2014-10-16T13:38:35Z flip214: drmeister: okay... 2014-10-16T13:39:00Z flip214: I'd have hoped to just load something via quicklisp into sbcl, and run from there. 2014-10-16T13:39:28Z drmeister: flip214: the clang AST is extremely complicated. I exposed the clang astmatcher library to clasp to deal with it. 2014-10-16T13:39:33Z john_minetest: faheem___: Acronyms are useful. I don't want to say GNU is not unix/Linux all the time. 2014-10-16T13:40:02Z joga: recursive acronyms would take quite a while to spell out 2014-10-16T13:40:13Z john_minetest: Also not "Common LISt Processing" :P 2014-10-16T13:40:33Z stassats: except that it isn't an acronym 2014-10-16T13:40:54Z john_minetest: Yeah, actually "GNU is not Unix" is also short for "GNU is not unix is not Unix" 2014-10-16T13:41:02Z drmeister: flip214: what you are asking for took me three years of hard work to deliver and it cannot work inside of SBCL. It is inside of clasp. 2014-10-16T13:42:55Z drmeister: In the coming months I will post example code. At the moment other things are demanding my attention. 2014-10-16T13:45:02Z ynniv joined #lisp 2014-10-16T13:45:23Z svetlyak40wt quit (Read error: Connection timed out) 2014-10-16T13:45:31Z jlongster joined #lisp 2014-10-16T13:45:41Z manfoo7 joined #lisp 2014-10-16T13:45:49Z Hache_ joined #lisp 2014-10-16T13:46:08Z svetlyak40wt joined #lisp 2014-10-16T13:46:17Z malice joined #lisp 2014-10-16T13:46:29Z malice: Hello, is there a function that would allow me to list all slots of class? 2014-10-16T13:46:36Z malice: (returning list of all slots of class) 2014-10-16T13:46:54Z malice: so that instead of writing all slots of class by myself in with-slots, I could use this function 2014-10-16T13:47:26Z Krystof: there are a couple of problems with what you are asking for 2014-10-16T13:47:35Z yeticry quit (Read error: Connection reset by peer) 2014-10-16T13:47:46Z tadni` quit (Remote host closed the connection) 2014-10-16T13:47:53Z malice: Krystof, why? 2014-10-16T13:48:05Z pjb: malice: you can use the MOP to get the list of all slots of a class. 2014-10-16T13:48:15Z pjb: malice: because compilation-time vs. run-time. 2014-10-16T13:48:19Z Krystof: the main one is that in principle you don't know what the class of the object your code receives is until run-time 2014-10-16T13:48:31Z Krystof: but the code transformation in with-slots must happen at compile-time 2014-10-16T13:48:38Z malice: pjb, I am sorry for my ignorance, but I'm completly new to this: what is MOP? 2014-10-16T13:48:49Z pranavrc quit 2014-10-16T13:49:05Z billstclair joined #lisp 2014-10-16T13:49:11Z pjb: Meta Object Protocol. 2014-10-16T13:49:15Z yuikov joined #lisp 2014-10-16T13:49:21Z malice: Krystof, I'm not sure, but I am certain that the list of class instances will have instances of the only class I have defined. If it's otherwise then whole application is broken anyway 2014-10-16T13:49:31Z malice: pjb, looking it up 2014-10-16T13:49:32Z Krystof: malice: if you are completely new to this, don't try to rewrite the language yet 2014-10-16T13:49:45Z Krystof: malice: what about if someone later subclasses your class, with some extra slots? 2014-10-16T13:50:03Z pjb: malice: if you want to process the slots of an instance at run-time, you won't be using with-slots at all. 2014-10-16T13:50:04Z Krystof: should that suddenly turn a variable reference into a slot reference? 2014-10-16T13:50:17Z Krystof: what about if someone later redefines your class, removing some slots 2014-10-16T13:50:25Z Krystof: should a slot reference suddenly turn into a variable reference? 2014-10-16T13:50:35Z pjb: Which can occur at run-time! (The removing or adding of slots). 2014-10-16T13:51:19Z jusss joined #lisp 2014-10-16T13:51:44Z malice: Yes, but I don't consider this option - the application is simple, its aim is to provide easy way to find some of abilities that characters can use in RPG 2014-10-16T13:51:47Z Krystof: malice: with-slots is a very simple, practically textual transformation of code 2014-10-16T13:52:03Z Krystof: what you propose is a very complicated transformation of code, in general 2014-10-16T13:52:08Z flip214: drmeister: thank you. 2014-10-16T13:52:24Z Krystof: if you have highly specific knowledge, just use it: you know the list of slot names, so embed it somewhere and use it 2014-10-16T13:52:32Z malice: okay 2014-10-16T13:52:39Z malice: Just wanted to know if there's a simpler way 2014-10-16T13:52:49Z malice: Thought there would be something like that, but turns out I was a bit mistaken 2014-10-16T13:52:52Z malice: Thanks anyway :) 2014-10-16T13:52:55Z Grue`: seems like your OOP design is just bad 2014-10-16T13:52:57Z Krystof: (defmacro with-my-instance-slots (&body body) `(with-slots ((a a) ...) ,@body)) 2014-10-16T13:53:04Z Grue`: there shouldnt be a different slot for each ability 2014-10-16T13:53:35Z yeticry joined #lisp 2014-10-16T13:54:25Z stepnem quit (Ping timeout: 255 seconds) 2014-10-16T13:54:57Z phao joined #lisp 2014-10-16T13:55:03Z stepnem joined #lisp 2014-10-16T13:55:40Z lisper29 joined #lisp 2014-10-16T13:56:52Z nalssee joined #lisp 2014-10-16T13:57:22Z kanru` joined #lisp 2014-10-16T13:58:53Z john_minetest: TIL: PHP and XNA are recursive acronyms. 2014-10-16T13:59:22Z joga: what does php stand for? 2014-10-16T13:59:46Z joga: PHP's Hopeless Poo? 2014-10-16T13:59:47Z Grue`: malice: i.e. instead of a slot for each skill use one slot "skills" which contains mapping from skill keyword to the value of skill; then you can easily get all skills the character has 2014-10-16T14:00:02Z john_minetest: PHP: Hypertext Preprocessor and XNA's Not Acronymed 2014-10-16T14:00:56Z malice: Grue`, where are you from? 2014-10-16T14:01:53Z Jesin quit (Quit: Leaving) 2014-10-16T14:02:00Z Grue`: does it matter? 2014-10-16T14:02:05Z ndrei joined #lisp 2014-10-16T14:02:33Z malice: Actually not, you misunderstood what I mean 2014-10-16T14:02:46Z malice: Skill is a class which contains slots: name, action, description, etc. 2014-10-16T14:02:54Z malice: But I have a global list of objects of this class 2014-10-16T14:03:15Z malice: And it's not intended to be used in game, but to find certain slots in this database 2014-10-16T14:03:24Z malice: These are skills from paper RPG game 2014-10-16T14:03:25Z malice: :) 2014-10-16T14:03:30Z malice: Unless I misunderstood you 2014-10-16T14:03:31Z varjag quit (Quit: Leaving) 2014-10-16T14:03:32Z malice: Then I'm sorry 2014-10-16T14:03:57Z loke_ joined #lisp 2014-10-16T14:04:02Z Hache_: well 2014-10-16T14:04:06Z Grue`: no, I'm just sensing that you're trying to use objects as a mapping 2014-10-16T14:04:22Z Grue`: and something like hash-table or alist is a better fit for a mapping 2014-10-16T14:04:25Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T14:04:26Z Hache_: dont you already know the slots then? 2014-10-16T14:04:32Z cpt_nemo joined #lisp 2014-10-16T14:05:10Z cr`nge joined #lisp 2014-10-16T14:05:49Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T14:05:56Z pkkm joined #lisp 2014-10-16T14:08:59Z malice: I know slots, just wanted to save a bit of writing :P 2014-10-16T14:09:03Z malice: Grue`, what do you mean? 2014-10-16T14:09:07Z rick-monster joined #lisp 2014-10-16T14:09:28Z malice: The class Skill stores all things that skill has - name, requirements, etc. 2014-10-16T14:09:39Z malice: So that you can search with name, or requirements, or both 2014-10-16T14:12:04Z EvW quit (Ping timeout: 265 seconds) 2014-10-16T14:12:04Z mishoo quit (Read error: Connection reset by peer) 2014-10-16T14:12:12Z Karl_Dscc quit (Remote host closed the connection) 2014-10-16T14:12:16Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T14:13:23Z mishoo joined #lisp 2014-10-16T14:13:36Z Jesin joined #lisp 2014-10-16T14:13:41Z jtza8 joined #lisp 2014-10-16T14:16:01Z nalssee joined #lisp 2014-10-16T14:16:43Z ynniv quit (Quit: ynniv) 2014-10-16T14:16:59Z rudi quit (Quit: rudi) 2014-10-16T14:17:02Z ahungry_ joined #lisp 2014-10-16T14:19:32Z shortCircuit__ quit (Remote host closed the connection) 2014-10-16T14:25:41Z rme quit (Ping timeout: 185 seconds) 2014-10-16T14:26:17Z kanru` quit (Remote host closed the connection) 2014-10-16T14:27:22Z rme quit (Ping timeout: 240 seconds) 2014-10-16T14:29:03Z kanru` joined #lisp 2014-10-16T14:29:24Z jlongster quit (Ping timeout: 250 seconds) 2014-10-16T14:31:29Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T14:31:32Z rme joined #lisp 2014-10-16T14:32:06Z snafuchs joined #lisp 2014-10-16T14:34:39Z cmack quit (Remote host closed the connection) 2014-10-16T14:37:37Z jlongster joined #lisp 2014-10-16T14:38:32Z john_minetest left #lisp 2014-10-16T14:40:10Z rx14 joined #lisp 2014-10-16T14:41:17Z amirjamil90 joined #lisp 2014-10-16T14:41:27Z amirjamil90: hi 2014-10-16T14:41:46Z amirjamil90: Anyone there ?? 2014-10-16T14:42:04Z amirjamil90 quit (Client Quit) 2014-10-16T14:42:08Z malice quit (Quit: Leaving) 2014-10-16T14:42:18Z Grue`: impatient 2014-10-16T14:43:01Z cmack joined #lisp 2014-10-16T14:43:20Z lisper29 quit (Quit: Leaving) 2014-10-16T14:43:36Z MutSbeta quit (Quit: Leaving.) 2014-10-16T14:45:34Z innertracks joined #lisp 2014-10-16T14:47:55Z Karl_Dscc joined #lisp 2014-10-16T14:48:31Z gravicappa joined #lisp 2014-10-16T14:50:09Z pt1 quit (Ping timeout: 260 seconds) 2014-10-16T14:50:13Z wizzo joined #lisp 2014-10-16T14:53:36Z xyjprc joined #lisp 2014-10-16T14:54:50Z scharan quit (Quit: WeeChat 0.4.2) 2014-10-16T14:56:48Z ltbarcly joined #lisp 2014-10-16T14:57:13Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T14:57:45Z gabot quit (Ping timeout: 258 seconds) 2014-10-16T15:00:36Z ltbarcly quit (Client Quit) 2014-10-16T15:02:46Z ndrei quit (Ping timeout: 272 seconds) 2014-10-16T15:04:33Z _8hzp quit (Ping timeout: 260 seconds) 2014-10-16T15:06:03Z Ethan- quit (Ping timeout: 244 seconds) 2014-10-16T15:08:33Z stoned quit (Quit: ZNC - http://znc.in) 2014-10-16T15:08:53Z jusss quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2014-10-16T15:09:09Z stoned joined #lisp 2014-10-16T15:09:57Z stoned quit (Remote host closed the connection) 2014-10-16T15:10:03Z scharan joined #lisp 2014-10-16T15:11:11Z TDog quit (Read error: Connection reset by peer) 2014-10-16T15:11:37Z ndrei joined #lisp 2014-10-16T15:12:22Z stoned joined #lisp 2014-10-16T15:13:01Z wizzo quit (Read error: Connection reset by peer) 2014-10-16T15:13:33Z jtza8 quit (Ping timeout: 272 seconds) 2014-10-16T15:13:40Z wizzo joined #lisp 2014-10-16T15:13:43Z gabot joined #lisp 2014-10-16T15:14:06Z nalssee joined #lisp 2014-10-16T15:21:29Z innertracks quit (Quit: innertracks) 2014-10-16T15:23:20Z jtza8 joined #lisp 2014-10-16T15:23:24Z Harag quit (Quit: Harag) 2014-10-16T15:24:48Z EvW joined #lisp 2014-10-16T15:24:57Z Cymew quit (Ping timeout: 255 seconds) 2014-10-16T15:25:30Z Harag joined #lisp 2014-10-16T15:27:25Z pavelpenev joined #lisp 2014-10-16T15:28:50Z z20141016 joined #lisp 2014-10-16T15:28:56Z innertracks joined #lisp 2014-10-16T15:30:34Z svetlyak40wt quit (Remote host closed the connection) 2014-10-16T15:30:36Z papachan joined #lisp 2014-10-16T15:30:43Z jtza8 quit (Ping timeout: 258 seconds) 2014-10-16T15:31:00Z gingerale joined #lisp 2014-10-16T15:32:08Z BitPuffin joined #lisp 2014-10-16T15:33:22Z Longlius quit (Remote host closed the connection) 2014-10-16T15:36:37Z ltbarcly joined #lisp 2014-10-16T15:43:24Z atgreen quit (Remote host closed the connection) 2014-10-16T15:45:01Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T15:51:24Z rtoym_ quit (Remote host closed the connection) 2014-10-16T15:51:52Z rtoym joined #lisp 2014-10-16T15:54:39Z kushal quit (Ping timeout: 255 seconds) 2014-10-16T15:56:52Z drdanmaku joined #lisp 2014-10-16T15:56:53Z sdiawara quit (Ping timeout: 255 seconds) 2014-10-16T15:57:54Z Shinmera joined #lisp 2014-10-16T16:00:31Z sdiawara joined #lisp 2014-10-16T16:01:57Z ndrei quit (Ping timeout: 245 seconds) 2014-10-16T16:02:31Z ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com) 2014-10-16T16:02:57Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T16:03:07Z beach joined #lisp 2014-10-16T16:03:20Z hitecnologys quit (Quit: hitecnologys) 2014-10-16T16:03:26Z beach: Good evening everyone! 2014-10-16T16:04:40Z kushal joined #lisp 2014-10-16T16:05:00Z pkkm joined #lisp 2014-10-16T16:05:25Z innertracks quit (Quit: innertracks) 2014-10-16T16:08:24Z wizzo quit (Read error: Connection reset by peer) 2014-10-16T16:08:48Z wizzo joined #lisp 2014-10-16T16:09:34Z beach: OK, so I implemented the MIR interpreter as I hinted before, by translating MIR to Common Lisp and then compiling it. Here is the automatically generated code from the example I made up before: http://paste.lisp.org/+335K/2 2014-10-16T16:10:24Z fe[nl]ix: hej beach :) 2014-10-16T16:10:41Z ggole: beach: random question, how do you rewrite nodes in your IR? 2014-10-16T16:11:03Z beach: ggole: Rewrite? 2014-10-16T16:11:09Z bb010g quit (Quit: Connection closed for inactivity) 2014-10-16T16:11:11Z ggole: Replace, if you prefer. 2014-10-16T16:11:26Z beach: I don't think I do. 2014-10-16T16:11:45Z beach: Maybe I am dense today; tired after a lot of work. 2014-10-16T16:12:09Z ggole: So how do you do transformations? Eg, you have x <- 1 + 2, you want it to be x <- 3. 2014-10-16T16:12:21Z beach: Oh, I see. 2014-10-16T16:12:47Z beach: Well the notation is a graph of standard objects. I have primitives for adding and removing instructions. 2014-10-16T16:14:05Z ggole: Hrm, ok. 2014-10-16T16:14:21Z beach: ggole: Is there a problem? 2014-10-16T16:14:38Z ggole: Not at all, just not quite what I expected. 2014-10-16T16:14:58Z beach: I am curious. What *did* you expect? 2014-10-16T16:16:00Z ggole: A rewrite or replace operation that mutates either the node object or the graph to make a different (equivalent) instruction appear in place of an existing one. 2014-10-16T16:16:52Z jebes quit (Ping timeout: 272 seconds) 2014-10-16T16:17:10Z beach: I see. Well, there is currently no transformation that determines whether two instructions are equivalent. 2014-10-16T16:17:32Z beach: The transformation that replaces 1 + 2 by 3 is called "constant propagation". 2014-10-16T16:17:51Z beach: But it is more general than replacing an instruction with an equivalent one. 2014-10-16T16:18:33Z jebes joined #lisp 2014-10-16T16:18:39Z ggole: Well, there are many ways of finding various equivalences: I was mostly curious about how you would proceed when you discovered one. 2014-10-16T16:19:24Z beach: It depends. In the simplest case, I can do a CHANGE-CLASS on the instruction. 2014-10-16T16:19:28Z beach: But it is rarely that simple. 2014-10-16T16:19:51Z beach: Some instructions may have to be removed, and others may have to be added. 2014-10-16T16:20:33Z beach: In the case of 1 + 2, the ADD-INSTRUCTION is removed. 2014-10-16T16:20:54Z ggole: Right, you have the various edges back and forth to erase. 2014-10-16T16:21:22Z beach: Yes, I maintain both successors and predecessors. 2014-10-16T16:21:58Z ggole: IRs seem to vary widely in how they approach this. 2014-10-16T16:22:08Z beach: I can imagine. 2014-10-16T16:22:46Z beach: If things get complicated, I can replace instructions by NOP, and then I have a special pass that removes NOP instructions. 2014-10-16T16:23:28Z ggole: A lot of SSA IRs only maintain use-def edges, which makes rewriting utterly trivial but obliges you to regenerate def-use edges for algorithms that need them. 2014-10-16T16:24:48Z drmeister: beach: So this code made the round-trip from CL -> MIR -> CL? 2014-10-16T16:24:54Z beach: I see. Well, initially I had imagined maintaining lots of information, but then it is hard to maintain, so I now tend to keep less information and recompute instead. 2014-10-16T16:25:05Z beach: drmeister: Exactly. 2014-10-16T16:25:22Z ggole: Indeed, you can end up with a ton of pointers flying around. 2014-10-16T16:25:33Z beach: Yep. 2014-10-16T16:25:55Z beach: Like I said the other day, I even imagine not keeping basic block. 2014-10-16T16:25:56Z drmeister: Why TAGBODY with no tags or go's - they seem kinda... empty. 2014-10-16T16:26:12Z beach: drmeister: No loops or IFs in that example. 2014-10-16T16:28:08Z drmeister: I see. I'll talk to you later then - it's time to bring home the bacon and teach ester hydrolysis. 2014-10-16T16:28:50Z sabalaba joined #lisp 2014-10-16T16:28:51Z beach: Good luck. 2014-10-16T16:29:20Z Patzy quit (Ping timeout: 265 seconds) 2014-10-16T16:30:03Z Patzy joined #lisp 2014-10-16T16:30:19Z beach: Here is an example with IF in it: http://paste.lisp.org/+335S 2014-10-16T16:31:06Z przl quit (Ping timeout: 240 seconds) 2014-10-16T16:31:45Z stassats: drmeister: can you teach bacon hydrolysis? 2014-10-16T16:31:52Z beach: ggole: In terms of def-use and use-def, at some point, for each datum, I compute the set of instructions that read it, and the set of instructions that write it. 2014-10-16T16:32:24Z beach: ggole: But that information quickly gets out of date, so I recompute it. 2014-10-16T16:35:15Z stoned quit (Quit: ZNC - http://znc.in) 2014-10-16T16:35:18Z ndrei joined #lisp 2014-10-16T16:35:31Z ggole: Right, that would be annoying. 2014-10-16T16:36:35Z beach: I also have no idea what the performance will be. I intend to instrument the various transformations with "meters", so that I can figure out where the bottlenecks are. 2014-10-16T16:39:01Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-16T16:39:24Z beach: OK, I have to go cook dinner now. I might be back later. I'll read the logs if anyone has remarks or questions. 2014-10-16T16:40:18Z ndrei quit (Read error: No route to host) 2014-10-16T16:40:46Z stoned joined #lisp 2014-10-16T16:41:08Z Harag quit (Ping timeout: 260 seconds) 2014-10-16T16:41:34Z BitPuffin quit (Ping timeout: 272 seconds) 2014-10-16T16:43:31Z zacharias quit (Quit: Bye!) 2014-10-16T16:44:16Z ndrei joined #lisp 2014-10-16T16:50:30Z LiamH joined #lisp 2014-10-16T16:55:49Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-16T16:58:36Z nalssee joined #lisp 2014-10-16T16:59:26Z farhaven quit (Ping timeout: 240 seconds) 2014-10-16T17:01:12Z ndrei quit (Ping timeout: 260 seconds) 2014-10-16T17:01:55Z shka joined #lisp 2014-10-16T17:01:59Z shka: ave tux™ 2014-10-16T17:02:23Z shka: what is the best option for OFFLINE lisp manuals? 2014-10-16T17:02:42Z shka: idaelly used from the emacs 2014-10-16T17:02:42Z stassats: clhs, that's it 2014-10-16T17:03:03Z shka: great, but how to download it and brows from emacs? 2014-10-16T17:03:24Z stassats: that you can figure out yourself 2014-10-16T17:06:47Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T17:10:31Z pnpuff joined #lisp 2014-10-16T17:10:35Z CatMtKing joined #lisp 2014-10-16T17:10:46Z nalssee joined #lisp 2014-10-16T17:13:56Z z20141016: @shka there are plenty of google resources that explain that 2014-10-16T17:14:17Z z20141016: shka: which one are you using at the moment and where is it failing ? 2014-10-16T17:15:42Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T17:15:43Z pnpuff left #lisp 2014-10-16T17:18:06Z ehu quit (Ping timeout: 240 seconds) 2014-10-16T17:18:14Z shka: i use none, i'm trying to find the best one 2014-10-16T17:18:22Z Grue`: ahh it's alive http://i.imgur.com/50YybOS.png 2014-10-16T17:18:26Z k-stz joined #lisp 2014-10-16T17:19:22Z tali713 quit (Ping timeout: 276 seconds) 2014-10-16T17:19:56Z Grue`: shka: have you tried http://www.emacswiki.org/emacs/CommonLispHyperspec 2014-10-16T17:21:43Z mvilleneuve joined #lisp 2014-10-16T17:21:43Z tali713 joined #lisp 2014-10-16T17:23:46Z Grue`: also cl:apropos is a great offline manual :) 2014-10-16T17:23:58Z AeroNotix_ is now known as AeroNotix 2014-10-16T17:24:25Z pnpuff joined #lisp 2014-10-16T17:26:13Z nalssee joined #lisp 2014-10-16T17:28:56Z resttime joined #lisp 2014-10-16T17:32:09Z wizzo quit (Read error: Connection reset by peer) 2014-10-16T17:33:18Z shortnbread left #lisp 2014-10-16T17:33:41Z z20141016: @shka 2014-10-16T17:33:50Z z20141016: were you able to get it working 2014-10-16T17:34:03Z stassats quit (Remote host closed the connection) 2014-10-16T17:34:11Z shka: z20141016: sounds nice 2014-10-16T17:34:16Z shka: i will give it a try 2014-10-16T17:35:43Z farhaven joined #lisp 2014-10-16T17:38:21Z hardenedapple joined #lisp 2014-10-16T17:39:19Z pnpuff quit (Quit: Lost terminal) 2014-10-16T17:42:45Z akkad: clhs should totally have an org-mode + org-drill file.... consider it done 2014-10-16T17:44:08Z cwandrews quit (Ping timeout: 260 seconds) 2014-10-16T17:44:09Z pt1 joined #lisp 2014-10-16T17:44:56Z prxq quit (Quit: No Ping reply in 180 seconds.) 2014-10-16T17:45:09Z prxq joined #lisp 2014-10-16T17:45:47Z ovenpasta quit (Quit: Leaving.) 2014-10-16T17:46:40Z cwandrews joined #lisp 2014-10-16T17:47:40Z askatasuna joined #lisp 2014-10-16T17:48:43Z kushal quit (Quit: Leaving) 2014-10-16T17:49:57Z varjag_ joined #lisp 2014-10-16T17:51:04Z CatMtKing quit (Quit: This computer has gone to sleep) 2014-10-16T17:51:13Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T17:51:25Z joneshf-laptop quit (Quit: Leaving) 2014-10-16T17:53:12Z Hache_ quit (Remote host closed the connection) 2014-10-16T17:54:58Z ndrei joined #lisp 2014-10-16T17:56:06Z nalssee joined #lisp 2014-10-16T17:59:07Z pt1 quit (Remote host closed the connection) 2014-10-16T17:59:27Z nalssee quit (Client Quit) 2014-10-16T17:59:58Z drmeister: stassats: it's the other way around. I would love 2014-10-16T18:00:25Z drmeister: To learn the secret of hydrolysis from bacon. http://en.m.wikipedia.org/wiki/Asymmetric_ester_hydrolysis_with_pig-liver_esterase 2014-10-16T18:02:13Z MoALTz joined #lisp 2014-10-16T18:03:18Z ovidnis joined #lisp 2014-10-16T18:07:08Z lommm joined #lisp 2014-10-16T18:07:58Z hiroakip joined #lisp 2014-10-16T18:10:06Z nalssee joined #lisp 2014-10-16T18:11:03Z wglb quit (Remote host closed the connection) 2014-10-16T18:17:16Z Patzy quit (Ping timeout: 260 seconds) 2014-10-16T18:17:49Z Patzy joined #lisp 2014-10-16T18:18:17Z nha joined #lisp 2014-10-16T18:19:35Z beach: drmeister: Did you see my example with IF in it? 2014-10-16T18:20:48Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T18:21:53Z pt1 joined #lisp 2014-10-16T18:21:56Z shwouchk_ quit (Ping timeout: 260 seconds) 2014-10-16T18:23:39Z nalssee joined #lisp 2014-10-16T18:24:21Z shwouchk joined #lisp 2014-10-16T18:27:43Z drmeister: Yes, I see it now. 2014-10-16T18:29:09Z beach: Initially, I considered generating a GO after each instruction, and putting a tag before each one. 2014-10-16T18:29:32Z beach: But I thought I might need to understand the code by inspecting it, so I decided to do a little bit of layout. 2014-10-16T18:30:13Z beach: But as you can see, each branching instruction ends with two GOs; I don't bother eliminating one of them if the tag is before the next instruction. 2014-10-16T18:30:26Z zacharias joined #lisp 2014-10-16T18:30:53Z hiroakip quit (Ping timeout: 260 seconds) 2014-10-16T18:30:56Z svetlyak40wt joined #lisp 2014-10-16T18:32:35Z drmeister: I understand. 2014-10-16T18:33:10Z c107 joined #lisp 2014-10-16T18:33:34Z beach: Time to go hang out with my (admittedly small) family. Talk later. 2014-10-16T18:33:39Z beach left #lisp 2014-10-16T18:34:35Z CatMtKing joined #lisp 2014-10-16T18:35:17Z svetlyak40wt quit (Ping timeout: 245 seconds) 2014-10-16T18:39:41Z arenz quit (Ping timeout: 260 seconds) 2014-10-16T18:40:47Z hiroakip joined #lisp 2014-10-16T18:48:26Z shka: i should remap my keyboard 2014-10-16T18:48:36Z shka: so ( will be under alt f 2014-10-16T18:48:42Z shka: and ) under alt j 2014-10-16T18:49:18Z madrik quit (Quit: sleep) 2014-10-16T18:52:06Z ovidnis quit (Ping timeout: 240 seconds) 2014-10-16T18:53:16Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T19:03:20Z nalssee joined #lisp 2014-10-16T19:05:50Z madalu joined #lisp 2014-10-16T19:06:55Z tadni joined #lisp 2014-10-16T19:10:06Z kanru` quit (Ping timeout: 240 seconds) 2014-10-16T19:11:03Z madalu quit (Remote host closed the connection) 2014-10-16T19:11:59Z madalu joined #lisp 2014-10-16T19:20:47Z pt1 quit (Remote host closed the connection) 2014-10-16T19:22:25Z jegaxd26 joined #lisp 2014-10-16T19:22:48Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T19:25:38Z nipra quit (Quit: Leaving.) 2014-10-16T19:28:33Z Kruppe quit (Quit: ZNC - http://znc.in) 2014-10-16T19:30:08Z Kruppe joined #lisp 2014-10-16T19:40:58Z nalssee joined #lisp 2014-10-16T19:42:03Z nalssee quit (Client Quit) 2014-10-16T19:42:38Z Alfr joined #lisp 2014-10-16T19:43:07Z nalssee joined #lisp 2014-10-16T19:47:27Z urandom__ joined #lisp 2014-10-16T19:47:53Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T19:48:07Z snafuchs joined #lisp 2014-10-16T19:55:50Z Vivitron joined #lisp 2014-10-16T19:56:00Z nug700 joined #lisp 2014-10-16T20:00:04Z madalu quit (Remote host closed the connection) 2014-10-16T20:02:35Z CatMtKing quit (Quit: This computer has gone to sleep) 2014-10-16T20:08:10Z innertracks joined #lisp 2014-10-16T20:08:42Z Perkol joined #lisp 2014-10-16T20:10:16Z Perkol: Which datatypes stuff created with ' (e.g 'foo '1 '(foo bar)) have? Is datatype determined automatically? 2014-10-16T20:10:29Z shka quit (Quit: WeeChat 1.0.1) 2014-10-16T20:11:01Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T20:11:44Z ndrei quit (Ping timeout: 250 seconds) 2014-10-16T20:12:02Z ggole quit 2014-10-16T20:12:05Z nalssee joined #lisp 2014-10-16T20:12:31Z Grue`: Perkol: try (type-of 'foo) 2014-10-16T20:12:39Z angavrilov quit (Remote host closed the connection) 2014-10-16T20:13:26Z urandom__ quit (Read error: Connection reset by peer) 2014-10-16T20:13:36Z urandom__ joined #lisp 2014-10-16T20:15:04Z Perkol: So it is determined autmatically? 2014-10-16T20:16:20Z Grue`: basically yes 2014-10-16T20:23:26Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T20:24:05Z Patzy quit (Remote host closed the connection) 2014-10-16T20:24:13Z Patzy joined #lisp 2014-10-16T20:25:21Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-16T20:25:54Z nalssee joined #lisp 2014-10-16T20:27:06Z jkaye quit (Remote host closed the connection) 2014-10-16T20:29:24Z knob quit (Quit: Leaving) 2014-10-16T20:32:11Z bb010g joined #lisp 2014-10-16T20:33:26Z CatMtKing joined #lisp 2014-10-16T20:33:59Z jkaye joined #lisp 2014-10-16T20:36:36Z j_king joined #lisp 2014-10-16T20:39:58Z zygentoma joined #lisp 2014-10-16T20:40:08Z paddymahoney joined #lisp 2014-10-16T20:46:24Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-10-16T20:47:31Z gingerale quit (Ping timeout: 255 seconds) 2014-10-16T20:48:26Z Perkol quit (Remote host closed the connection) 2014-10-16T20:49:00Z jasom: Perkol: the datatype is determined no differently than without quote really; it's just not evaluated. 2014-10-16T20:49:35Z CatMtKing quit (Quit: This computer has gone to sleep) 2014-10-16T20:50:34Z k-stz quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-16T20:51:07Z fridim_ quit (Ping timeout: 245 seconds) 2014-10-16T20:51:15Z lommm quit (Ping timeout: 264 seconds) 2014-10-16T20:51:21Z Vutral quit (Ping timeout: 260 seconds) 2014-10-16T20:52:53Z lommm joined #lisp 2014-10-16T20:55:19Z Vutral joined #lisp 2014-10-16T20:58:21Z gabriel-2rtigue joined #lisp 2014-10-16T20:59:39Z jkaye quit (Remote host closed the connection) 2014-10-16T21:00:14Z jkaye joined #lisp 2014-10-16T21:04:05Z ahungry_ quit (Quit: leaving) 2014-10-16T21:05:03Z jkaye quit (Ping timeout: 272 seconds) 2014-10-16T21:05:06Z attila_lendvai quit (Quit: Leaving.) 2014-10-16T21:13:16Z prxq quit (Ping timeout: 250 seconds) 2014-10-16T21:18:07Z rx14 quit (Quit: Leaving) 2014-10-16T21:20:56Z gabriel-2rtigue left #lisp 2014-10-16T21:24:30Z sz0 quit (Ping timeout: 255 seconds) 2014-10-16T21:25:15Z sz0 joined #lisp 2014-10-16T21:25:21Z ovidnis joined #lisp 2014-10-16T21:29:17Z ovidnis quit (Client Quit) 2014-10-16T21:29:37Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T21:30:07Z gravicappa quit (Remote host closed the connection) 2014-10-16T21:30:11Z snafuchs joined #lisp 2014-10-16T21:30:21Z sabalaba quit (Remote host closed the connection) 2014-10-16T21:32:00Z ofosos joined #lisp 2014-10-16T21:33:41Z thawes quit (Quit: Konversation terminated!) 2014-10-16T21:34:02Z pavelpenev quit (Remote host closed the connection) 2014-10-16T21:35:42Z askatasuna quit (Ping timeout: 245 seconds) 2014-10-16T21:36:14Z jkaye joined #lisp 2014-10-16T21:36:47Z mrSpec quit (Quit: mrSpec) 2014-10-16T21:38:16Z Qudit2 quit (Remote host closed the connection) 2014-10-16T21:38:29Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T21:40:36Z EvW quit (Ping timeout: 265 seconds) 2014-10-16T21:41:06Z pkkm joined #lisp 2014-10-16T21:44:24Z Qudit2 joined #lisp 2014-10-16T21:46:05Z slyrus quit (Ping timeout: 255 seconds) 2014-10-16T21:46:40Z z20141016 quit (Quit: Page closed) 2014-10-16T21:49:33Z Lycurgus joined #lisp 2014-10-16T21:54:17Z innertracks quit (Quit: innertracks) 2014-10-16T21:55:38Z thawes joined #lisp 2014-10-16T21:57:39Z sz0 quit (Ping timeout: 260 seconds) 2014-10-16T21:58:43Z thawes quit (Client Quit) 2014-10-16T22:04:59Z ehu joined #lisp 2014-10-16T22:05:16Z innertracks joined #lisp 2014-10-16T22:05:38Z tadni quit (Remote host closed the connection) 2014-10-16T22:07:41Z tadni joined #lisp 2014-10-16T22:08:00Z tadni` joined #lisp 2014-10-16T22:08:58Z papachan quit (Quit: Leaving) 2014-10-16T22:12:32Z Karl_Dscc quit (Remote host closed the connection) 2014-10-16T22:13:02Z tadni quit (Read error: Connection reset by peer) 2014-10-16T22:14:59Z ozzloy joined #lisp 2014-10-16T22:15:20Z MoALTz_ joined #lisp 2014-10-16T22:18:22Z MoALTz quit (Ping timeout: 240 seconds) 2014-10-16T22:18:29Z mutley89 joined #lisp 2014-10-16T22:18:36Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-16T22:20:52Z specbot quit (Remote host closed the connection) 2014-10-16T22:20:58Z specbot joined #lisp 2014-10-16T22:21:26Z rme quit (Ping timeout: 186 seconds) 2014-10-16T22:23:11Z malglim quit (Ping timeout: 258 seconds) 2014-10-16T22:23:17Z c107 quit (Ping timeout: 260 seconds) 2014-10-16T22:23:29Z rme quit (Quit: rme) 2014-10-16T22:24:11Z nydel quit (Ping timeout: 244 seconds) 2014-10-16T22:24:13Z MoALTz__ joined #lisp 2014-10-16T22:24:16Z McMAGIC--Copy quit (Ping timeout: 264 seconds) 2014-10-16T22:24:20Z _d3f quit (Ping timeout: 258 seconds) 2014-10-16T22:24:20Z ehu quit (Ping timeout: 255 seconds) 2014-10-16T22:24:51Z lommm quit (Ping timeout: 264 seconds) 2014-10-16T22:24:52Z codeburg quit (Ping timeout: 264 seconds) 2014-10-16T22:24:52Z Adlai quit (Ping timeout: 264 seconds) 2014-10-16T22:25:54Z MoALTz joined #lisp 2014-10-16T22:26:31Z MoALTz_ quit (Ping timeout: 255 seconds) 2014-10-16T22:26:46Z mishoo quit (Ping timeout: 244 seconds) 2014-10-16T22:27:25Z ofosos quit (Ping timeout: 255 seconds) 2014-10-16T22:28:03Z c107 joined #lisp 2014-10-16T22:28:11Z malglim joined #lisp 2014-10-16T22:28:33Z MoALTz__ quit (Ping timeout: 258 seconds) 2014-10-16T22:29:03Z _d3f joined #lisp 2014-10-16T22:35:30Z defaultxr joined #lisp 2014-10-16T22:36:15Z bgs100 joined #lisp 2014-10-16T22:36:18Z bgs100 quit (Changing host) 2014-10-16T22:36:18Z bgs100 joined #lisp 2014-10-16T22:40:03Z jkaye quit (Remote host closed the connection) 2014-10-16T22:44:59Z Alfr quit (Quit: Leaving) 2014-10-16T22:46:25Z madalu joined #lisp 2014-10-16T22:54:05Z pkkm quit (Ping timeout: 260 seconds) 2014-10-16T22:55:39Z pkkm joined #lisp 2014-10-16T22:59:47Z joneshf-laptop joined #lisp 2014-10-16T23:00:13Z LiamH quit (Quit: Leaving.) 2014-10-16T23:00:44Z vaporatorius quit (Remote host closed the connection) 2014-10-16T23:01:36Z munksgaard quit (Ping timeout: 250 seconds) 2014-10-16T23:03:12Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T23:05:02Z nalssee joined #lisp 2014-10-16T23:09:03Z pillton: Morning all. 2014-10-16T23:10:11Z kirin` joined #lisp 2014-10-16T23:12:52Z hiroakip quit (Ping timeout: 255 seconds) 2014-10-16T23:18:42Z kirin` quit (Read error: Connection reset by peer) 2014-10-16T23:19:08Z kirin` joined #lisp 2014-10-16T23:22:34Z freaksken quit (Ping timeout: 244 seconds) 2014-10-16T23:22:45Z Xach: hullo 2014-10-16T23:23:01Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-16T23:23:28Z snafuchs joined #lisp 2014-10-16T23:24:25Z spacebat: hi 2014-10-16T23:24:44Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T23:26:13Z kirin` quit (Ping timeout: 260 seconds) 2014-10-16T23:27:44Z kirin` joined #lisp 2014-10-16T23:27:49Z c107 quit (Remote host closed the connection) 2014-10-16T23:27:54Z spacebat: I've written some experiments that use different systems that I wind up quickloading at the top of the file so that I can just load the file with slime and know that the dependencies are installed 2014-10-16T23:28:14Z nalssee joined #lisp 2014-10-16T23:29:02Z spacebat: is the proper approach to put this info into an .asd file and use at the top of a mysystem/bootstrap.lisp or similar 2014-10-16T23:29:35Z spacebat: use asdf I mean, once I know that quicklisp has installed those systems, so that asdf can get on with loading them 2014-10-16T23:29:52Z araujo quit (Ping timeout: 245 seconds) 2014-10-16T23:30:01Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-16T23:30:07Z cpt_nemo joined #lisp 2014-10-16T23:30:36Z araujo joined #lisp 2014-10-16T23:33:31Z pillton: That is what I do. 2014-10-16T23:34:05Z goldenlight joined #lisp 2014-10-16T23:34:25Z ltbarcly joined #lisp 2014-10-16T23:34:37Z kirin` quit (Ping timeout: 260 seconds) 2014-10-16T23:35:45Z kirin` joined #lisp 2014-10-16T23:37:14Z nha_ joined #lisp 2014-10-16T23:40:13Z nha quit (Ping timeout: 272 seconds) 2014-10-16T23:40:46Z kirin` quit (Read error: Connection reset by peer) 2014-10-16T23:41:53Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-16T23:44:33Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-10-16T23:44:38Z drewc: spacebat: as long as you define "use asdf" as "Make sure the ASDF I am using is loaded in the lisp environment I am using", and not "(defpackage :foo (:use :asdf) ...)", then yes... ASDF is used to define systems, and some systems rely on other systems. If your system is relying on ASDF systems, best to use it as well. 2014-10-16T23:45:28Z madmalik quit (Quit: Connection closed for inactivity) 2014-10-16T23:46:15Z modula joined #lisp 2014-10-16T23:46:22Z malglim quit (Ping timeout: 258 seconds) 2014-10-16T23:47:17Z defaultxr quit (Ping timeout: 260 seconds) 2014-10-16T23:47:20Z modula is now known as defaultxr 2014-10-16T23:51:09Z bb010g quit (Quit: Connection closed for inactivity) 2014-10-16T23:51:49Z malglim joined #lisp 2014-10-16T23:52:05Z ltbarcly joined #lisp 2014-10-16T23:52:13Z rme joined #lisp 2014-10-16T23:54:17Z Jubb quit (Ping timeout: 260 seconds) 2014-10-16T23:54:52Z jlongster quit (Ping timeout: 245 seconds) 2014-10-16T23:55:12Z goldenlight quit (Quit: Lost terminal) 2014-10-16T23:55:34Z harish quit (Ping timeout: 258 seconds) 2014-10-16T23:55:40Z Jubb joined #lisp 2014-10-16T23:56:11Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-16T23:57:51Z stepnem quit (Ping timeout: 246 seconds) 2014-10-16T23:58:20Z spacebat: so the bootstrap.lisp or whatever entry point I decide on, would have something like (progn (asdf:operate 'asdf:load-op 'mysystem) (mysystem:start)) 2014-10-16T23:59:58Z pillton: Something like this should suffice: http://hastebin.com/qemecekaro.