00:03:42 -!- ausente is now known as dalton 00:05:08 -!- Yuuhi [i=benni@p5483BF47.dip.t-dialin.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:16:46 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 00:19:30 bombshelter13__ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #lisp 00:19:41 -!- bombshelter13__ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Remote closed the connection] 00:19:47 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Read error: 54 (Connection reset by peer)] 00:19:49 -!- dysinger [n=tim@71.20.231.3] has quit [] 00:20:21 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #lisp 00:21:19 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 00:23:09 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 00:23:13 -!- plage [n=user@118.68.34.65] has left #lisp 00:24:24 -!- slash_ [n=Unknown@whgeh0138.cip.uni-regensburg.de] has quit [Client Quit] 00:24:33 joast [n=rick@76.178.184.231] has joined #lisp 00:36:12 What's the fundamental difference between (defun foo ...) and (setq bar (lambda ...))? 00:36:13 -!- Pb [n=Pb@75.131.194.186] has left #lisp 00:36:32 And why can I (foo ...) directly and need to (funcall bar ...)? 00:36:38 the first sets (symbol-function 'foo), the later binds a variable named bar. 00:36:49 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 00:36:59 binds? sets, perhaps? 00:37:08 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 00:37:17 antoszka: because they're in different namespaces 00:37:24 stassats`: OK. Thanks. 00:37:54 -!- konr [n=konrad@201.82.132.33] has quit [Remote closed the connection] 00:38:59 -!- HET2 [i=diman@xover.htu.tuwien.ac.at] has quit ["This computer has gone to sleep"] 00:39:00 stassats`: So there's no way to define a directly callable function using a method similar to the second one? 00:39:12 there is 00:39:21 What would it look like? 00:39:26 (setf (symbol-function 'foo) (lambda ())) 00:39:45 Ah. I tried setf #'foo (lambda ...) but that didn't work. 00:40:04 thx 00:40:13 Adlai [n=adlai@93-173-254-22.bb.netvision.net.il] has joined #lisp 00:41:19 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 00:41:36 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 00:43:17 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 00:48:24 -!- pragma_ is now known as _pRagma 00:50:10 -!- _pRagma is now known as pragma_ 00:50:37 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 00:52:48 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 00:55:05 -!- willb [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 00:55:45 willb [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 00:55:57 -!- Adlai [n=adlai@93-173-254-22.bb.netvision.net.il] has quit ["Leaving."] 00:56:42 -!- rstandy [n=rastandy@net-93-144-250-177.t2.dsl.vodafone.it] has quit [Connection timed out] 00:56:47 -!- pinterface [n=pinterfa@knvl-static-09-0024.dsl.iowatelecom.net] has left #lisp 00:58:02 -!- danlei [n=user@pD9E2CC3E.dip.t-dialin.net] has quit [Remote closed the connection] 00:59:11 -!- sykopomp [n=sykopomp@unaffiliated/sykopomp] has quit [Remote closed the connection] 00:59:25 sykopomp [n=sykopomp@unaffiliated/sykopomp] has joined #lisp 01:02:23 joast [n=rick@76.178.184.231] has joined #lisp 01:05:52 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: 110 (Connection timed out)] 01:06:19 stuart711 [n=soverton@adsl-19-163-95.jan.bellsouth.net] has joined #lisp 01:06:36 -!- stuart711 [n=soverton@adsl-19-163-95.jan.bellsouth.net] has quit [Client Quit] 01:07:23 stuart711 [n=soverton@adsl-19-163-95.jan.bellsouth.net] has joined #lisp 01:08:49 I need someone to please tell me how to catch a destroy-window signal in clx 01:09:19 ...or tell me where to look :) 01:09:22 something involving a window manager protocol 01:09:52 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 01:09:53 stumpwm? 01:10:17 http://tronche.com/gui/x/icccm/sec-4.html#s-4.2.8.1 01:11:24 hefner: i'm reading... 01:12:12 unfortunately, I can't think of an example using CLX other than pointing you toward mcclim/Backends/CLX/port.lisp 01:13:45 -!- mrSpec [n=NoOne@82.177.125.6] has quit [] 01:13:50 hefner: I'm just writing a simple gui toolkit. I have been meaning to get the icccm since yesterday. thank you. 01:14:02 oh, yeah I can. (setf (xlib:wm-protocols (window self)) '(:WM_DELETE_WINDOW)) then handle the :client-message 01:14:23 excellent! 01:14:52 I'm still a newbie on this clx stuff, but it's great fun 01:17:10 hefner: thank you, I just needed a point in the right direction :) 01:18:13 -!- stuart711 [n=soverton@adsl-19-163-95.jan.bellsouth.net] has left #lisp 01:18:13 f 01:18:15 j 01:18:54 rread [n=rread@192.18.41.196] has joined #lisp 01:19:26 -!- merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has quit [] 01:20:54 -!- rread [n=rread@192.18.41.196] has quit [Client Quit] 01:24:21 another soul lost to the depths of x11.. 01:26:02 hefner: Does X11 require me to redraw the window from scratch every time I move it? 01:27:06 p_l: no, but you have to be prepared to redraw it at any time. it sends an expose event specifying the damaged rectangle that needs to be redrawn. but just tracking a window with nothing overlapping it and a sane WM probably won't damage it. 01:27:23 (s/tracking/dragging/) 01:27:46 hefner: then it seems much better than pre-WPF windows... 01:28:50 afaik with classical windows gui model, you had to redraw everything everytime anything happened, including moving of windows 01:28:57 my fading recollection of win32 is that they're similar in this respect (paint events, dirty rectangles, etc.) 01:29:44 maybe that's true for sufficiently ancient versions windows where you dragged an outline instead of the full window contents. 01:29:46 hefner: yeah, except it would afaik send a paint event on every move, or so I deduced from GDI library driving directly to VRAM 01:29:52 huh. 01:29:52 -!- chris2 [n=chris@p5B16A255.dip0.t-ipconnect.de] has quit ["Leaving"] 01:30:04 s/driving/drawing/ 01:30:36 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Read error: 110 (Connection timed out)] 01:31:06 *hefner* is amused to note that in Xorg on a Core Quad, he still can't drag windows as smoothly like win95 on a p2 (or probably even a 486, if you had a good video card) 01:31:21 :( 01:31:24 but true 01:31:58 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 113 (No route to host)] 01:32:05 there possibly are some tweaks added later, but according to docs, GDI was painting into VRAM. NT6 doesn't send repaint events unless there was anything really requesting it by not allowing direct drawing 01:33:22 -!- rread_ [n=rread@nat/sun/x-d5c6eccee34df7ba] has quit [Read error: 110 (Connection timed out)] 01:33:31 dwm.exe is probably the best thing that happened to windows guis, even if it fucks up with opengl 01:34:43 of course, I do finally get smooth dragging with a compositing WM, at the small price of the machine becoming unusable 01:34:56 haha 01:35:53 *hefner* is also amused to note that compiz development halted over a year ago, not coincidentally with the author's stated plan to clean the code up by building an object system in C and rewriting compiz to use it =p 01:37:05 ... couldn't he use an existing one? Or rewrite the damned thing in objective-c? 01:37:52 he should rewrite it in brainfuck! 01:42:22 anyway, compiz sucks. I'm waiting for my free-from-freedesktop X12 01:43:22 hm, slime (HEAD) is popping up with warnings wrt. fontification recently .. i haven't got time to report or deal with that at the moment -- is there any way to disable these from showing? 01:43:25 x11 is enough to display Emacs, good for me 01:44:25 (and movies, of course) 01:45:10 -!- mrsolo [n=mrsolo@nat/yahoo/x-d9f7c4cca90e6b5a] has quit ["Leaving"] 01:45:11 yeah, I'm happy with it. it really can't do certain things I want, but since I'm not doing those things, it also stops others, which is a win. 01:46:21 wow ..heh.. didn't know that about compiz .. what about GObject? 01:46:43 don't recall why it was rejected (although I'd write my own too, if that was the alternative) 01:47:32 2009: still doin' it wrong 01:47:40 -!- sreeram [n=sreeram@122.174.70.42] has quit [] 01:47:47 it's like we're moving backwards 01:47:48 :) 01:47:57 with core quad o 01:48:00 oops 01:48:29 with core quad you can do four times more wrongness 01:48:47 -!- mkfort [i=4lYceUGk@68-189-164-209.dhcp.spbg.sc.charter.com] has quit [Read error: 60 (Operation timed out)] 01:48:48 sreeram [n=sreeram@122.174.70.42] has joined #lisp 01:50:07 yeah, i'm amused seeing the surprise wrt. Apache not handling slow-DDOS .. (i.e., it uses threads.. :P) 01:50:19 ORLY 01:50:33 I'm not sure how that has anything to do with threads, but maybe I didn't read closely enough. 01:50:37 (i.e. at all) 01:51:03 -!- dalton is now known as ausente 01:51:37 hefner: wouldn't window movement&co. be really memory bandwidth bound? 01:52:10 sure, in 1994 01:52:40 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"] 01:53:08 mkfort [i=cBZc8qbu@68-189-164-209.dhcp.spbg.sc.charter.com] has joined #lisp 01:53:56 I can imagine a lot of context switching going on that continues to gunk things up, and in the end, no one is even bothering to vsync the drawing 01:55:16 Bigshot_ [n=BIG_SHOT@CPE002129abc864-CM001ac35cd4d0.cpe.net.cable.rogers.com] has joined #lisp 01:55:28 does anyone know how to join #cs channel on efnet? 01:55:38 oops offtopic 01:55:58 wrong room 01:58:42 envi^home [n=envi@220.121.234.156] has joined #lisp 01:59:01 hefner: well, I heard that Core Quad sucked in memory bandwidth ;-) 02:02:20 -!- anekos is now known as A_anekos 02:02:22 is it worth buying quad core laptops? 02:02:35 no 02:02:48 or the OSes are not designed to make use of them? 02:04:14 or nobody knows? 02:05:04 Bigshot_: offtopic again. 02:05:27 i saw p_l ask question that's why :-) but anyways it's cool 02:07:09 Well with the quad core I use, compilation times are divided by about four, so I cannot say I observe any memory bandwidth problem. 02:07:57 -!- dreish [n=dreish@minus.dreish.org] has quit [] 02:09:03 -!- Bigshot_ [n=BIG_SHOT@CPE002129abc864-CM001ac35cd4d0.cpe.net.cable.rogers.com] has left #lisp 02:09:53 elliotstern [n=chatzill@orange.rit.edu] has joined #lisp 02:13:57 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 02:14:17 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 02:14:22 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 02:14:26 pjb: the workload that really hits the problems is rare, I guess 02:15:15 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 02:17:33 but people don't stop to think about cache's impact on performance even with single cpu, so what can we expect... 02:18:28 chavo_ [n=user@c-66-41-11-10.hsd1.mn.comcast.net] has joined #lisp 02:18:40 -!- z0d [n=z0d@unaffiliated/z0d] has quit [Remote closed the connection] 02:18:45 z0d [n=z0d@unaffiliated/z0d] has joined #lisp 02:19:29 Adlai [n=adlai@93-173-254-22.bb.netvision.net.il] has joined #lisp 02:19:49 yeah, without a timeout things will fail eventually, hefner .. but with threads it is very easy to DDOS 02:20:58 try spawning a couple of hundred threads using pthreads, or java or in sbcl .. it dies fast .. and even a single home user can create a couple of hundred "slow connections" quite easily 02:21:55 drafael [n=tapio@ip-118-90-143-119.xdsl.xnet.co.nz] has joined #lisp 02:24:56 heh. After skimming through some books on cpu and system architecture, I got hit by how much bad "knowledge" there is to optimizing. Now I can only say "I don't know, but at least I know I don't know" :D 02:30:00 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 02:32:36 joast [n=rick@76.178.184.231] has joined #lisp 02:32:47 oops, got load average over 3.5K, just create 5 thousands threads in CCL 02:33:40 s/create/created/ 02:33:57 *lnostdal* hands stassats` a fork-bomb 02:35:15 -!- blast_hardcheese [n=blast_ha@dsl092-043-124.lax1.dsl.speakeasy.net] has quit [Read error: 104 (Connection reset by peer)] 02:35:33 stassats`: You might try to fix yourself an anti-forkbomb 02:36:03 5K threads is much smoother in SBCL 02:36:12 5k threads? .. that's actually quite a lot .. how much memory or stack space does CCL allocate pr. thread by default? 02:36:51 5k threads is batshit insane 02:37:21 yeah, i'm thinking .. at least 1mb pr. thread(?) 02:37:56 sbcl choked on 6202nd thread 02:40:46 as early as on 6202? 02:41:06 yeah, bummer 02:42:10 I wonder if creating a stripped-down pthreads library, just to support FFI, while directly using threading primitives of the OS wouldn't be better 02:45:15 -!- dialtone [n=dialtone@unaffiliated/dialtone] has quit [Read error: 60 (Operation timed out)] 02:48:03 (defun rnorm (&key (mean 0) (sd 1)))))) 02:48:03 (+ mean (* sd (random-uniform))))))) 02:48:45 in the above simple function how to make (rnorm 3 4) works like (rnomr :mean 3 :sd 4)? 02:49:15 leo2007: if you mean let it accept both, you'd have to write your own arg parsing code. 02:49:22 (defun rnorm (&optional (mean 0) (sd 1)) ...) 02:49:29 if you mean use the former instead of the latter, what stassats` said 02:49:50 also, that isn't a normal distribution :-) 02:50:30 ahh, typo 02:50:42 Maybe his random-uniform isn't. :-) 02:50:51 (+ mean (* sd (random-normal))) 02:51:53 both, of course, R uses this kind of argument passing and it is extremely convenient 02:52:47 -!- elliotstern [n=chatzill@orange.rit.edu] has quit [Read error: 113 (No route to host)] 02:53:27 cmucl quite easily created 50 thousands green threads 02:54:18 -!- mkfort [i=cBZc8qbu@68-189-164-209.dhcp.spbg.sc.charter.com] has quit [Read error: 104 (Connection reset by peer)] 02:55:30 it doesn't use OS threads. also, why are you doing this? it's like counting how many times you can smash your head into a brick wall before you pass out. 02:55:43 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 02:56:18 kpreid: how to write an arg passing code? Is it simple enough? 02:57:54 joast [n=rick@76.178.184.231] has joined #lisp 03:02:33 dialtone [n=dialtone@adsl-64-175-33-37.dsl.pltn13.pacbell.net] has joined #lisp 03:02:34 -!- chavo_ [n=user@c-66-41-11-10.hsd1.mn.comcast.net] has quit [Remote closed the connection] 03:02:52 *hefner* curses unicode 03:02:55 leo2007: it really isn't a good idea to do this. but all you need to do is start with (&rest args) and then decide what to do based on the types of the args in the list... 03:06:00 *hefner* admires how a legitimate character encoding error (to the extent there is such a thing) kills the slime connection attempting to show the error from the so-called safe-backtrace function 03:06:02 kpreid: indeed that looks like something elisp will do 03:07:52 common lisp does arguments parsing too 03:08:16 HET2 [i=diman@xover.htu.tuwien.ac.at] has joined #lisp 03:10:05 stassats`: I would say green threads are a different league. 03:23:37 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 03:25:35 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 03:26:01 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 03:28:36 -!- ausente is now known as dalton 03:37:32 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 03:39:45 joast [n=rick@76.178.184.231] has joined #lisp 03:40:41 -!- c|mell [n=cmell@p28062-ipngn601marunouchi.tokyo.ocn.ne.jp] has quit [Read error: 113 (No route to host)] 03:41:41 ManateeLazyCat [n=user@116.4.145.216] has joined #lisp 03:41:51 elliotstern [n=chatzill@orange.rit.edu] has joined #lisp 03:47:48 -!- drafael [n=tapio@ip-118-90-143-119.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 03:55:11 slyrus_ [n=slyrus@adsl-75-36-213-9.dsl.pltn13.sbcglobal.net] has joined #lisp 03:57:04 -!- ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has quit ["When there's nothing left to burn, you have to set yourself on fire."] 03:57:45 -!- elliotstern [n=chatzill@orange.rit.edu] has quit [Read error: 60 (Operation timed out)] 03:59:06 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 03:59:52 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Remote closed the connection] 04:00:29 elias` [n=c@host81-155-251-189.range81-155.btcentralplus.com] has joined #lisp 04:00:49 joast [n=rick@76.178.184.231] has joined #lisp 04:04:05 elliotstern [n=chatzill@orange.rit.edu] has joined #lisp 04:04:17 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 04:15:48 drafael [n=tapio@ip-118-90-143-119.xdsl.xnet.co.nz] has joined #lisp 04:20:16 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 04:21:40 joast [n=rick@76.178.184.231] has joined #lisp 04:22:25 -!- zophy [n=sy@host-242-6-111-24-static.midco.net] has quit [Remote closed the connection] 04:31:53 -!- quek [n=read_eva@router1.gpy1.ms246.net] has quit [Remote closed the connection] 04:32:54 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 04:39:15 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Read error: 110 (Connection timed out)] 04:40:09 c|mell [n=cmell@x250033.dynamic.ppp.asahi-net.or.jp] has joined #lisp 04:42:21 -!- elliotstern [n=chatzill@orange.rit.edu] has quit [Read error: 113 (No route to host)] 04:42:35 elias` [n=c@host86-136-181-62.range86-136.btcentralplus.com] has joined #lisp 04:45:25 simplechat [n=simplech@unaffiliated/simplechat] has joined #lisp 04:45:39 elliotstern [n=chatzill@cpe-67-240-160-45.rochester.res.rr.com] has joined #lisp 04:48:35 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 04:49:09 hi, i'm making my own little lisp interpreter in python and i'm wondering what sorts of things i should test it on, to make sure that its doing things properly 04:49:50 simplechat: you're implementing a common lisp interpreter? 04:51:55 -!- existentialmonk [n=carcdr@64-252-41-17.adsl.snet.net] has quit [Remote closed the connection] 04:55:28 sykopomp, well, a type of lisp anyway 04:55:36 its really quite educational :) 04:56:06 but yeah, at the moment i've got pretty much everything i can think of 04:56:10 -!- drafael [n=tapio@ip-118-90-143-119.xdsl.xnet.co.nz] has quit ["Leaving."] 04:56:25 only major problem is that i have a lot of debugging code 04:57:30 a metacircular evaluator and a compiler are both common test cases for language implementations 04:58:04 anything slightly simpler? 04:58:43 the gabriel benchmarks; fib, fact, tak, cc-tak, and the more complex ones like boyer. 04:59:48 talk/boyer? 04:59:50 If you have some sort of continuations, checking that (call/cc call/cc) acts like Y is fairly reassuring. 05:00:03 google for the gabriel benchmarks. 05:00:28 hmmm, i don't have continuations yet 05:00:41 closures?... 05:00:42 i do have macros and other normal things (lists/numbers/strings/etc) 05:01:31 i'm actually not sure, i'm yet to implement it explicitly and i'm not sure if its already made implicitly 05:02:14 (let ((x 0)) (lambda () x)) is probably a pretty simple one to try :P 05:02:35 or you could do (lambda () (incf x)) and such. 05:02:42 it returns a function 05:02:50 call the function? 05:02:59 sigh, i should have spent longer on my REPL 05:03:19 or maybe longer on the components >_> 05:03:33 well, i've been building it for the best part of four hours now 05:03:40 so its not really finished by any strech 05:03:43 (loop (print (eval (read)))) took 4 hours? 05:03:49 i'm just interested in what i need to do to actually get it to run properly 05:03:52 sykopomp, no, the whole thing 05:03:54 ah 05:04:11 I imagine you might be able to read through the scheme spec for ideas. 05:04:18 hmmm, ok 05:04:33 yeah, no clojures 05:04:41 and i found out i have a bug in my lambda implementation 05:04:47 a basic scheme clone is probably simpler to implement than most other lisps ;p 05:05:00 hmmm 05:05:04 yeah 05:05:25 it is certainly cool 05:05:27 Perhaps you should work on getting scoping right first. 05:05:30 especially if you don't already know lisp :) 05:05:44 pkhuong: I took a peek at your common-cold code. 05:06:07 I might try using your serialisable closures at some point. I have something I could really use them for. 05:08:59 There are simpler ways if you start from a shared heap and are willing to be really sbcl-specific. 05:09:43 isn't your serialisable-closures code already really really sbcl-specific, though? 05:09:49 did I grab the wrong sources?... 05:09:55 i think that this would be easier if i could actually look at another lisp interpreter 05:10:29 simplechat: is it really that hard to download a lisp?... 05:10:43 sykopomp: could be much worse. 05:10:46 well, atm i've got clojure and clisp here 05:11:14 but actually knowing how they work and do their closures would be a real plus 05:11:41 pkhuong: well, what I'm aiming for is having a persistent event queue where events contain closures that are executed when the event is cooked. Getting those closures to run is important, even if the server dies. 05:11:51 because at the moment i've got something which works with most simple lisp code, but not some of the more advanced things 05:12:13 sykopomp: certain you need closures? 05:12:24 pkhuong: no, I'm not, but it's the first thing that comes to mind. 05:13:01 I'm afraid of having to slap a bunch of caveats on event code just because I'm dumping the raw s-exp into the event and evaling it. 05:13:03 How about objects with serialize and execute methods? 05:13:42 well, the code for each event is different enough that I'm not sure writing custom methods for each object is necessarily sane. 05:14:53 the event system would basically wrap the scripting stuff for this, so people would be writing scripts that happen to generate events, and I'd expect them to be able to just slap regular code in there and have it work. 05:15:56 so you'd have like "(script "..do stuff.." "fork(delay=10000, ...cleanup code...)")" 05:16:46 and cleanup code would be quite important in that case. World objects are fully persistent, so they'd survive between sessions, and missing cleanup side effects would be messy... 05:17:06 is that what you meant by objects with serialize and execute methods?... 05:17:07 :\ 05:17:10 sykopomp, fully persistant? 05:17:49 simplechat: you create an object, it's created. Next time you start the app, the object is still there, exactly as it was before the app went down (with different object identity, though, but practically speaking, similar enough) 05:17:51 Or maybe you should explore a DSL with lisp code only inside, so you have full control over the environment and control flow. 05:18:48 I may end up going that route. I certainly don't need all of CL for the kind of scripting to be done. 05:18:54 sykopomp, that is cool :D how do you do that? 05:19:24 simplechat: persistent metaobject class with stuff to automatically persist objects to databases. 05:19:30 there's a bunch of them for CL 05:20:25 cool :) 05:21:50 pkhuong: thanks. I guess what seemed like a long process just got longer :) 05:23:39 -!- saikat_ [n=saikat@98.210.13.214] has quit [] 05:24:02 -!- c|mell [n=cmell@x250033.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 110 (Connection timed out)] 05:26:17 -!- ManateeLazyCat [n=user@116.4.145.216] has quit [Read error: 104 (Connection reset by peer)] 05:27:56 just as a quick question, within a closure can you access any variable that was in scope at the time the function was created? 05:28:14 or what? 05:28:16 closures close over the lexical environment. 05:28:21 -!- knobo [n=user@216-55-7.100710.adsl.tele2.no] has quit [Remote closed the connection] 05:28:24 simplechat: you sould tias to be sure, but yeah, that should be right. 05:28:30 tias? 05:28:34 try it and see 05:28:37 ah, ok 05:28:51 sykopomp, so from a closure can you access the current environment? 05:28:55 ManateeLazyCat [n=user@116.4.224.17] has joined #lisp 05:28:59 not quite like that 05:29:09 but close enough, I think 05:29:14 you can access the environment the closure was created in. I think. 05:29:22 simplechat: within a closure, you can access any variable that code where the closure was created could access. 05:29:24 only? 05:29:31 yes. 05:29:35 hmmm 05:29:40 ok 05:29:53 simplechat: again, this is easy to experiment with; the REPL's handy like that. 05:29:57 just play around and get a feel for how it works 05:30:13 simplechat: try installing a real lisp, and playing with that. 05:30:16 yeah, clisp really doesn't seem to like me much :) but hopefully its mood will improve somewhat 05:30:20 both scheme and common lisp have proper closures. 05:30:28 sykopomp, yeah, i've got two real lisps i'm just not sure exactly how to test some of this stuff 05:30:45 Go to the REPL, and play around with some closure exercises. 05:30:58 Paul Graham's book On Lisp has some good closure examples. 05:31:00 simplechat: (defparameter *closure* (let ((x 0)) (lambda () (incf x)))) 05:31:03 (and is available online for free) 05:31:14 simplechat: (funcall *my-closure*) * * * 05:31:26 minion: tell simplechat about onlisp 05:31:26 simplechat: please see onlisp: An advanced textbook on Common Lisp, with special focus on macros. at http://www.cliki.net/On%20Lisp 05:31:36 It has a chapter on closures. 05:31:51 (and many examples throughout the entire book) 05:32:28 ok, thanks sykopomp Adlai i'll try those and read onlisp :) 05:32:45 sykopomp, whats with the three *'s? 05:33:01 simplechat: emphasis, I guess. 05:33:02 The entire book is way more than you'd need to just make a working interpreter 05:33:17 However, it does have good examples of closure and macro usage. 05:33:27 hmmm, ok 05:33:39 most of it is quite advanced stuff. Maybe you could use it to check your final performance :) 05:33:47 yeah :) 05:34:16 well i wasn't really intending on making it perfectly scheme comparable, i was aiming on making something that can be considered a lisp, and hopefully learn more about lisp in the process 05:34:39 so yeah, i'll start reading that and see if i can understand closures a bit better :) 05:34:41 thanks everyone :) 05:37:57 Is there a good functional implementation of a hashtable somewhere? 05:37:57 Phoodus, memo from kpreid: you need *print-miser-width* as well as *print-right-margin* 05:38:51 as in, you set a key/value and it returns a new hashtable with that set, plus the old one is left untouched 05:39:44 gemelen [n=shelta@shpd-78-36-167-108.static.vologda.ru] has joined #lisp 05:46:40 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 05:46:50 I actually have a closure question... 05:47:07 I just finished writing a function, compiled it, and got the following warning: 05:47:26 ; Compiling XML->BOARD 05:47:26 ; Compiling (FLET XML->BOARD LOOKUP) 05:47:26 ; Note: Closure (FLET XML->BOARD LOOKUP) will be stack allocated. 05:48:36 The function introduced in my flet closes over a binding created within the function. 05:48:51 *created within the function xml->board 05:49:13 Do I need to be worried about this stack-allocated closure? 05:53:40 Adlai pasted "Stack-allocated Closure" at http://paste.lisp.org/display/82167 05:56:45 Anybody know anything about this? 05:57:03 my guess is that you shouldn't try to tail-recurse it 05:57:11 It's not tail-recursive... 05:57:22 Sikander [n=soemraws@pool-71-102-233-253.snloca.dsl-w.verizon.net] has joined #lisp 05:57:27 right, I think that would be one thing to watch out given that note 05:57:30 Check out the paste if you want to see it. 05:57:43 cant' think of any other consequence 05:57:50 Adlai: it's just a note. If the closure can't escape, you're good. 05:57:59 I do call it a bunch of times 05:58:07 7, to be precise. 05:58:17 although it doesn't recurse, no. 05:58:52 stack allocation is good. The only problem is when it happens to things that should be heap-allocated because they can escape the dynamic extent of the function. 05:59:51 pkhuong, I lost you on the second half there. What do you mean by dynamic extent of a function? 06:00:34 do you pass/store a reference to the closure lookup anywhere? 06:02:02 nope. It just gets used to #'assoc out various parts of an s-exp. 06:02:16 then the compiler was right to stack allocate it. 06:02:30 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 06:02:33 ok. thanks for clearing up my confusion :) 06:04:14 Wombat2 [n=willy@216-31-242-4.static-ip.telepacific.net] has joined #lisp 06:04:14 -!- Wombat1 [n=willy@216-31-242-4.static-ip.telepacific.net] has quit [Read error: 104 (Connection reset by peer)] 06:10:02 -!- dalton [n=user7994@187.34.41.243] has quit ["Nettalk6 - www.ntalk.de"] 06:10:24 -!- fgtech [i=nemesis@bnc1.shellium.org] has quit [Read error: 110 (Connection timed out)] 06:10:40 dalton [n=user7994@187.34.41.243] has joined #lisp 06:11:25 -!- dalton [n=user7994@187.34.41.243] has quit [Client Quit] 06:11:39 dalton [n=user7994@187.34.41.243] has joined #lisp 06:14:17 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 54 (Connection reset by peer)] 06:14:45 fgtech [n=fgtech@bnc1.shellium.org] has joined #lisp 06:14:58 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 06:18:49 -!- sreeram [n=sreeram@122.174.70.42] has quit [] 06:25:44 evening 06:32:24 mrSpec [n=NoOne@82.177.125.6] has joined #lisp 06:32:44 hello 06:33:10 Hello, slyrus_, mrSpec 06:43:18 -!- ManateeLazyCat [n=user@116.4.224.17] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 06:44:55 -!- Lectus [n=Frederic@189.105.10.45] has quit [SendQ exceeded] 06:46:22 nha [n=prefect@137-64.105-92.cust.bluewin.ch] has joined #lisp 06:49:37 wedgeV [n=wedge@cm56-238-229.liwest.at] has joined #lisp 06:50:40 heyyas slyrus 06:50:47 who would have thought closures would suck so badly to implement? 06:51:03 *sykopomp* isn't surprised. 06:51:30 yeah, well its more a python problem then anything else 06:51:36 it just fails horribly in terms of memory management 06:51:52 *Adlai* is recovering from a Python overdose last month. 06:52:18 *Adlai* used it for a few weeks, and is now in rehab. 06:53:22 lol 06:53:26 its pretty cool though 06:53:43 I liked the indentation as block structure 06:53:47 its like lisp, just written in a more C like way 06:53:58 yeah 06:53:59 that is cool 06:54:00 But I think Lisp is cleaner 06:54:11 and if you want Lisp with a C syntax and no macros, Ruby is better 06:54:20 *sykopomp* cringes. 06:54:40 *Adlai* thinks Ruby is better than Python, at least. 06:54:43 I like lisp. Lisp is pretty great. Could be better, but it's nice. 06:54:51 Adlai: Matzacred lisp. 06:55:04 yeah, lisp is pretty nice 06:55:22 "Some people say that Ruby is a cheap ripoff of Lisp or Smalltalk, and I freely admit that. But it's nicer to ordinary people." 06:55:25 -Matz 06:55:40 *sykopomp* questions this. 06:55:40 except a decent teacher/book make Lisp easy as well... 06:55:54 it makes for a great tagline. 06:55:56 ugh 06:56:04 why great? 06:56:24 because there's an army of fuckwits out there that splooge at the first mention of a buzzword. 06:56:26 If I had never seen Lisp, and read that, I'd want to use it. 06:56:30 Adlai, lisp doesn't have the libraries/etc that python has 06:56:40 i mean if you want to build almost anything theres a library to do it in python 06:56:46 sykopomp, we call those managers 06:56:58 simplechat: I call 'those' startuptards. 06:57:08 ? 06:58:40 asksol [n=ask@084202075154.customer.alfanett.no] has joined #lisp 06:58:44 simplechat: and lisp has quite a bunch of libraries out there :\ 06:59:23 simplechat, I've found good libraries for the app that I'm working on 06:59:48 I've found good libraries for just about everything I've wanted to do. 07:00:04 and when I didn't, C bindings were easy enough :) 07:00:27 the problem with Python is that there's nothing in the core language for anything I'd want to do that involves macros... 07:01:56 yeah 07:02:01 they don't have macros, which sucks 07:02:51 [Head|Rest] [n=win7@217.149.190.112] has joined #lisp 07:02:51 the BDFL knows what's best for you. Trust the BDFL. 07:03:23 lambda is very bad for you. You can have a pseudo-lambda with only one arg, but that's all you get. Praise be BDFL. 07:05:36 funny thing. in my current hacklet, I have 5 defmacros and 1 symbol macro, but only one defstruct and one defclass, out of 1244 lines. I wouldn't have expected that ratio. 07:05:44 BDFL? 07:05:55 benevolent dictator for life 07:05:59 Guido 07:06:02 ah 07:06:07 lol 07:07:53 hefner: ....how big are these macros? 07:08:13 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Read error: 110 (Connection timed out)] 07:09:40 mostly 3-5 lines each. the 1244 is the whole file, to put things in perspective. mostly defuns. 07:10:04 Slime is indenting things funnily again. 07:10:05 -!- tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:10:16 -!- legumbre_ [n=user@r190-135-73-74.dialup.adsl.anteldata.net.uy] has quit [Read error: 60 (Operation timed out)] 07:10:54 when I use the + method combination, 07:11:00 plage [n=user@118.68.32.211] has joined #lisp 07:11:02 and I qualify the primary methods with a +, 07:11:04 Good afternoon. 07:11:12 mornin' plage 07:11:14 it indents the body forms like a function rather than a macro 07:12:42 Adlai: the identation for defmethod caters to the common case, since it is rather complex to parse fully. 07:13:07 hm 07:13:21 well, luckily, I'm not using the + combination... just happened to notice that by accident. 07:13:36 turns out that I need the append combination, which it indents normally. 07:16:43 sykopomp: you know what happened to Guido not so long ago? 07:16:52 p_l: what? 07:17:07 sykopomp: someone mailed him SICP :> 07:17:24 so? 07:17:35 He's certainly aware of scheme/common lisp/etc 07:17:49 zophy [n=sy@host-242-6-111-24-static.midco.net] has joined #lisp 07:17:55 heck, his own sample code for showing off Python's MOP was multiple dispatch on python methods. 07:18:02 does linedit have a history file ? 07:18:33 sykopomp: it was regarding his certain stances :D 07:18:47 like on lambdas etc. :D 07:18:54 I think he just doesn't care. 07:19:38 thrain][ [n=dpn@69.169.148.47.provo.static.broadweavenetworks.net] has joined #lisp 07:20:09 sykopomp: I recall hearing something about him actually arguing about that somewhere 07:20:35 meh 07:22:44 Aankhen`` [n=heysquid@122.162.160.44] has joined #lisp 07:23:51 karvus [n=thomas@ti511110a080-1297.bb.online.no] has joined #lisp 07:25:34 -!- pstickne [n=pstickne@c-24-21-76-57.hsd1.wa.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:26:05 -!- timor [n=martin@port-87-234-97-138.dynamic.qsc.de] has quit [Read error: 113 (No route to host)] 07:26:19 mrsolo [n=mrsolo@adsl-68-126-176-234.dsl.pltn13.pacbell.net] has joined #lisp 07:27:50 -!- elliotstern [n=chatzill@cpe-67-240-160-45.rochester.res.rr.com] has quit [Read error: 110 (Connection timed out)] 07:29:09 -!- Sikander [n=soemraws@pool-71-102-233-253.snloca.dsl-w.verizon.net] has quit [Read error: 60 (Operation timed out)] 07:31:08 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 07:35:32 -!- dalton is now known as ausente 07:41:01 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 54 (Connection reset by peer)] 07:41:43 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 07:44:05 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 07:48:22 mikezor_ [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp 07:50:17 c|mell [n=cmell@y192008.dynamic.ppp.asahi-net.or.jp] has joined #lisp 07:50:50 schme [n=marcus@c83-249-82-162.bredband.comhem.se] has joined #lisp 07:53:24 mikezor__ [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp 07:53:31 hey, i think i've gotten my closures working 07:53:37 (setq blah (let y 2 (lambda () y))) 07:53:38 (blah) works 07:54:56 How does that let work? 07:58:44 How does any of it work? (: 07:59:08 clearly, space alien technology. 07:59:16 excellent. 08:00:22 sykopomp, well, i hope that its fine 08:00:26 my lets are different to normal lets 08:00:33 mostly because i haven't had the time to change it 08:00:45 and no, my closures don't work, they just looked like they were working 08:00:46 :( 08:01:09 What are you trying to do there anyway? 08:01:10 :P 08:01:22 schme: his own toy lisp. 08:01:26 oooh! 08:01:28 cools :) 08:01:31 -!- mikezor [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 08:01:34 yeah, that's always fun... 08:01:46 yeah, in python 08:01:55 its kind of working, kind of not 08:02:03 sounds like python ;) 08:02:04 everything except closures is working fine (well, that i've implemented) 08:02:09 its just this is absolutely painful 08:02:15 schme, yeah, python is a PITA at times 08:02:27 hehehe 08:02:38 Maybe you should get a copy of Lisp In Small Pieces. 08:03:04 or SBCL. 08:03:55 schme, lisp in small pieces? 08:04:06 simplechat: It's a book on implementing lisp. 08:04:11 lol 08:04:14 but where would the fun be? 08:04:15 hefner: isn't that a bit sadistic?... 08:04:24 simplechat: It's a good book. 08:04:30 sykopomp: that depends how you interpret the suggestion. 08:04:41 or what you suggest he do with it. 08:04:48 schme, is there an ebook around for it? 08:04:48 aha 08:04:56 being in australia, its kind of hard to get most books :) 08:04:58 simplechat: Not that I know off. 08:04:58 I see 08:04:58 :) 08:05:02 (without paying an arm and a leg to get it from the us) 08:05:17 You don't need legs to write code ;) 08:05:41 or to go to google and send a money order to the auther 08:05:43 author* 08:05:44 >_> 08:06:23 SandGorgon [n=OmNomNom@122.162.152.143] has joined #lisp 08:06:40 sykopomp: Annoyingly, authors of technical works rarely have copyright to their own works. 08:06:55 aja: hence the "just send the money straight to them" 08:07:23 truthair [n=truthair@arazoid.nl] has joined #lisp 08:07:25 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 54 (Connection reset by peer)] 08:07:28 sykopomp: For what? 08:07:36 -!- mikezor_ [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 08:07:43 aja: a donation, thanking them for their hard work? 08:07:56 sykopomp: Ah. I see now. Apologies. 08:08:14 willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 08:08:31 aja <- non-acute 08:09:49 hmmm 08:09:51 athos [n=philipp@92.250.250.68] has joined #lisp 08:09:56 :( 08:10:02 closures are really really hard to implement properly 08:10:07 jmbr [n=jmbr@108.32.220.87.dynamic.jazztel.es] has joined #lisp 08:10:11 LiSP :) 08:10:22 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 08:11:47 sykopomp, yeah, well implementing it in lisp is kind of cheating 08:11:59 simplechat: Lisp in Small Pieces -> LiSP 08:12:37 Though that book does use scheme to implement lisps.. mostly. But that dun really matter :) 08:13:11 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 08:13:11 ah 08:22:13 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 08:22:32 roidrage [n=roidrage@dslb-084-058-148-106.pools.arcor-ip.net] has joined #lisp 08:24:38 -!- willb [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 08:25:29 -!- sohail [n=Sohail@unaffiliated/sohail] has quit [Read error: 113 (No route to host)] 08:33:41 Blkt [n=Blkt@net-93-146-155-178.t2.dsl.vodafone.it] has joined #lisp 08:34:26 Are there quick emacs keybindings for selecting an s-exp? 08:36:56 in paredit, C-k will kill by s-exp. 08:39:59 many emacs commands with a control or meta prefix have an analogous control-meta version that operates on an s-exp 08:40:51 I don't use paredit, so I press C-M-Backspace instead. 08:41:13 *** Adlai has quit (connection reset by peer) 08:41:26 ? 08:41:32 I'm here 08:41:37 strange. 08:41:44 C-M-Backspace is also Ctrl-Alt-Backsapce, the canonical "Kill X11" keystroke 08:41:52 heh. 08:42:03 Emacs takes care of its own keybindings, I tihnk. 08:42:07 go on, try it 08:42:20 Unless turned off by the DontZap X option. 08:42:22 (actually, these days, DontZap is on by default) 08:42:39 Is it? 08:42:45 Didn't notice. 08:42:52 really? I seem to recall having to work harder to disable that than in the past. something involving a keysym on the backspace key. 08:42:58 -!- roidrage [n=roidrage@dslb-084-058-148-106.pools.arcor-ip.net] has quit [] 08:43:32 hefner: As long as I remember DontZap was available in the server flags section (or whichever). 08:44:04 antoszka: sure, and I'm claiming that DontZap doesn't work like it used to. 08:44:37 (unless it changed again, or my memory has failed, since I try not to do this linux configuration dance more than once a year) 08:44:50 Maybe. 08:46:55 envi^home [n=envi@220.121.234.156] has joined #lisp 08:47:00 on the other hand, I don't appear to have DontZap set. Maybe removing the keysym is sufficient. 08:47:02 well, C-M-k is what I need here. 08:47:09 thx 08:48:01 -!- A_anekos is now known as anekos 08:49:11 (or hey, maybe it's just set by default, like Xof said) 08:49:20 Are the big O complexity of the various collection types the same across Lisp implementations about the same or are they implemnetation dependent? 08:50:06 hefner: http://www.redhat.com/archives/rhl-devel-list/2009-March/msg01803.html 08:50:21 (and related tedious mailinglistery ad nauseam, but that's the idea) 08:51:23 -!- thrain][ [n=dpn@69.169.148.47.provo.static.broadweavenetworks.net] has quit [""blarg...""] 08:52:08 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 08:52:28 ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 08:52:55 (e.g. from what I read in Practical Common Lisp vector's sound like they should be O(1) lookup and assignment, lists sound like they have O(n) lookup and assignment, I'm not sure about tables) 08:53:32 A table has O(1) lookup and assignment 08:53:40 + a bit of overhead for calculating hash values. 08:54:15 That's still O(1), though, since hash computation is constant 08:54:35 Right, although it takes longer than vector lookup. 08:55:08 For example, you shouldn't use a hash table on integer-indexed stuff, unless the number of indexes is very small compared to the range. 08:55:49 sreeram [n=sreeram@122.174.70.42] has joined #lisp 08:59:29 -!- ausente is now known as Aleister_Crowley 09:00:20 Obviously. I'm just trying to make some mental notes about these things so I don't carry over habits from other languages that'll screw up my algorithms later because of complexity mistakes. (For instance list lookup and assignment being O(1) instead of O(n) in python) 09:00:54 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 09:01:27 seangrove [n=user@cpe-76-90-50-75.socal.res.rr.com] has joined #lisp 09:01:37 hey all, I have a question about the do macro 09:01:41 finally, an argument against python as a first language. you'll warp the minds of a whole generation of programmers confusing lists and vectors. 09:02:01 why is it: (do ((i start (+ i 1))) 09:02:27 instead of? 09:02:28 it seems to me like it should be: (do (i start (+ i 1)) 09:02:44 <_3b> what if you want to step j in parallel with i? 09:02:45 seangrove, how would you have multiple loop variables? 09:03:01 ahh, ok 09:03:04 actually 09:03:13 it's not because of multiple loop variables 09:03:22 it's because you *also* need multiple result forms 09:03:22 I'm just going through ANSI common lisp right now, and all the examples just have a single loop variable 09:03:24 potentially 09:03:36 ah, got it 09:03:43 I thought there was just some syntax thing I was missing 09:04:00 I'm only in the first chapter thus far 09:04:30 thanks for setting me straight guys :D 09:04:41 -!- Aleister_Crowley is now known as rickenbacker4001 09:04:50 A n00b in need is a n00b in deed. (whatever that means) 09:05:11 jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has joined #lisp 09:05:37 Adlai: that'd be me 09:05:50 *Adlai* is a n00b too... 09:05:58 -!- rickenbacker4001 is now known as hofner5000 09:06:21 -!- hofner5000 is now known as hofner5001 09:09:45 -!- cky [n=cky@cpe-024-211-249-162.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 09:10:24 cky [n=cky@cpe-024-211-249-162.nc.res.rr.com] has joined #lisp 09:19:06 jbjohns [n=chatzill@52-45.3-213.fix.bluewin.ch] has joined #lisp 09:19:25 hello all 09:20:00 ziarkaen [n=ziarkaen@87.115.20.62.plusnet.pcl-ag01.dyn.plus.net] has joined #lisp 09:22:28 I'm looking through asdf a bit since the emacs extension I'm making builds .asd files for me 09:23:17 Is asdf really terminally flawed? It seems to have facilities for everything, including version (which is the complaint about it I always heard). 09:24:23 -!- mrsolo [n=mrsolo@adsl-68-126-176-234.dsl.pltn13.pacbell.net] has quit [Read error: 60 (Operation timed out)] 09:24:57 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 09:25:04 -!- c|mell [n=cmell@y192008.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 60 (Operation timed out)] 09:25:05 mudballs claims a problem with asdf is that it can't load multiple versions of the same system with different versions, but how would that even work? That sounds like a lisp issue (and I don't actually know of any languages that support that without extensions) not an asdf one 09:26:12 I don't know how mudballs does it, but I can imagine loading them in different packages, which implies giving mudballs control over packages you create and import. 09:26:42 (although that would break things) 09:27:45 -!- jmbr [n=jmbr@108.32.220.87.dynamic.jazztel.es] has quit [Read error: 110 (Connection timed out)] 09:28:08 Adlai, indeed, not in dead. 09:29:27 tic: that makes even less sense 09:29:35 the way I understand it, it means: 09:29:44 when somebody is in need of help 09:29:55 hefner: well that's the thing, pretty much any way you load different versions of the same system means having it actually be in different packages somehow. I know there was an extension for Squeak smalltalk that did this, but it involved quite some magic. 09:29:56 his friend will be "in deed", ie, doing something to help the friend 09:29:58 couloir [n=chatzill@S0106001a706b09fb.vc.shawcable.net] has joined #lisp 09:30:27 Adlai, I always interpreted it as the friend who wants your help will be eager to get help from you, hence the "indeed 09:30:31 if it's "indeed", that just means that good friends are ones that need lots of help... some people would maintain the exact opposite :) 09:31:00 you're talking about "A friend in need is a friend indeed"? 09:32:02 I always took it to be a sarcastic statement, like "yea, you don't see 'em for 3 years, but when they need help suddenly we're friends again" 09:32:21 jbjohns, exactly my interpretation. 09:33:11 I prefer the polish version of that saying, it's more definitive :) 09:33:14 I don't know the origins, it could also come from someone who likes to control people. "They'll be my friend (i.e. do what I want), so long as I make them need me" 09:34:34 "prawdziwych przyjació poznaje si w biedzie" - which means that you find out who is your true friend when you are in bad situation 09:35:11 p_l, that's the reverse; the polish version seems to be about when *you* are the one who needs help 09:35:17 hey all, silly question about lisp really 09:35:45 NO! We're discussing silly metaphors here! 09:35:58 heh 09:36:02 *seangrove* patiently waits 09:36:04 yes? 09:36:14 well, anyway, when you get a chance....(cons '+ '(1 1)) returns (+ 1 1) - but ((cons '+ '(1 1))) doesn't return 2 09:36:20 was curious as to why 09:36:39 because you're calling (+ 1 1) as a function 09:36:46 rather than evaluating it for value. 09:36:51 in other words 09:36:54 sepult [n=user@xdsl-87-78-100-124.netcologne.de] has joined #lisp 09:37:30 you're calling (apply '(+ 1 1) nil) 09:37:46 ah, makes sense 09:37:49 you're really not, it isn't even valid syntax. the error you get when you try it should indicate as much. 09:37:50 Adlai: it comes even with a nice fable that was taught in school ^_^ 09:38:39 p_l, I wish school was that cool back where I went there... 09:39:29 we learned how to apply to college XD 09:39:46 Adlai: it gets progressively worse, when I was in high school they had removed full calculus leaving only differentiation and when I was leaving they removed calculus from exams completely 09:40:01 not to mention the current maturity exam is IMHO worse than old one 09:40:31 "maturity"? 09:40:41 I should hope they don't examine your "maturity". 09:41:17 Adlai: it's direct translation from polish name, it's the same as Abitur in germany, I guess 09:41:54 joast [n=rick@76.178.184.231] has joined #lisp 09:41:58 krumholt [n=krumholt@port-92-193-96-110.dynamic.qsc.de] has joined #lisp 09:42:18 ah, graduation. 09:42:18 and you can't enter university-level education without such exam except on special permission from university, backed by exams, or through transferring qualifications 09:42:48 not exactly - you graduate from HS a few weeks before exams 09:43:12 well, it's similar to the  in israel 09:43:19 note: israel is not where I went to school 09:43:37 but I'm familiar with its educational system 09:43:50 I went to school at a prep school in new england 09:43:55 some aspects were great 09:43:58 some were awful 09:44:58 chances are that people who created israel's educational system were experienced with pre-ww2 polish one 09:45:12 which also had that kind of exam 09:45:27 does anyone maintain asdf anymore? 09:45:29 I think it's actually based on the British system 09:45:46 England occupied the territories where Israel is today before 1948 09:46:05 and there's a fair amount of cultural influence 09:46:07 not much 09:46:08 but some 09:46:39 Adlai: And a lot of immigrants were from poland, thanks to fucked-up 20th century 09:46:51 true 09:47:28 jbjohns: I'm not sure... from time to time, there might be some patches, but I doubt it is really developed anymore, maybe outside of some implementation-specific modifications (like ECLs variant) 09:48:23 p_l: so I should stop waiting around for ASDF Vista? 09:49:00 ah. I'm just wondering because I'm reading the xcvb document and they claim that asdf doesn't catch dependencies properly. Like if you change a macro in system B then when you rebuilding system A that depends on it, B doesn't get rebuilt. But that doesn't strike me as a design flaw, just a bug in implementation 09:50:08 how would that bug happen? 09:50:24 if it's just a problem with asdf not re-loading systems which are already loaded, it sounds easy to fix 09:50:27 that doesn't sound right. sure it doesn't say the reverse (that changing the macro in B should but doesn't cause A to be rebuilt?) 09:50:35 just make sure to compare modification times on the files. 09:50:37 I mean, for example, in C# you make "systems" (which turn into assemblies), and they just reference other such systems (assemblies). It all seems to work, and on some *really* big projects 09:50:39 ASDF really likes rebuilding things, even when you don't want it to. 09:51:03 -!- hofner5001 is now known as Russo 09:51:21 jbjohns: no macros, no dependency problems on them 09:51:43 -!- Russo is now known as I_Like_Turtles 09:52:25 ah, Adlai was right, I had it backwards 09:53:18 but that sounds like a bug. A depends on B and B changed. 09:54:03 Or I guess they are saying that A wouldn't have an explicit dependency on B so no one notices until something like the described happens 09:55:52 Which is a consequence of a system that supports incremental loading. Smalltalk doesn't have the issue because in Smalltalk to save you're work you have to do the equivalent of (save-and-die) 09:56:29 So I would think the IDE would actually be the place to track things like that 09:56:46 hyperbor1ean [n=none@unaffiliated/hyperboreean] has joined #lisp 09:58:46 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [""I am going to a commune in Vermont and will deal with no unit of time shorter than a season.""] 09:58:49 jmbr [n=jmbr@108.32.220.87.dynamic.jazztel.es] has joined #lisp 10:00:43 danlei [n=user@pD9E2ECEB.dip.t-dialin.net] has joined #lisp 10:01:21 Yuuhi [i=benni@p5483B517.dip.t-dialin.net] has joined #lisp 10:02:08 -!- willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 54 (Connection reset by peer)] 10:02:42 willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 10:07:23 -!- hyperboreean [n=none@unaffiliated/hyperboreean] has quit [Read error: 113 (No route to host)] 10:08:39 seangrov` [n=user@cpe-76-90-50-75.socal.res.rr.com] has joined #lisp 10:14:09 Elench [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 10:16:10 oh yeah, i now have proper closures :) all nicely indexed 10:16:13 nunb [n=user@94.161.100.2] has joined #lisp 10:16:29 is there a language-standard analog for sb-ext:finalize? 10:16:30 which is very cool :) 10:16:36 now i just need to clean it up into something usable :) 10:16:56 nunb, what does it do? 10:17:04 simplechat, nice work :) 10:17:27 (finalize object (lambda () ( *do some cleanup*))) 10:17:29 thanks Adlai :) 10:17:44 when object is gc'd run the lambda to do cleanup (lambda cannot refer to object) 10:17:44 http://github.com/simplechat/pylisp/ is the project :) 10:17:45 still very new 10:18:48 Another question inspired by Practical Common Lisp. When it talks about destructive and non-destructive list manipulation. It gives an example where (append (list 1 2) (list 3 4)) the first list has to be copied, whereas it can reuse the cons structure of the old list for the new one. (i.e. copy the cons cells of 1 and 2 and point the latter at the list (3 4)). This seems broken to me. If I have another reference to the list (3 4) and use that in a 10:18:48 destructive way it will change the result of (append (list 1 2) (list 3 4)) as well, which is obviously not what I expect. 10:19:21 Then use a copy of it. 10:19:25 truthair: yes, that is the point 10:19:25 This is not broken, it's a feature. 10:19:38 Otherwise you can use (concatenate 'list list-1 list-2) to have them all copied. 10:20:19 The thing is that if you adopt a functional programming style, you won't modify list-2 so there's no point in copying it: we can save time and memory by avoiding it. 10:20:22 CLOS question 10:20:29 can I specialize a method on a keyword argument? 10:20:32 Hence fucntionnal programming becomes more efficient! 10:20:33 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 10:20:36 Adlai: yes. 10:20:52 Adlai: that is, (defmethod m ((self (eql :my-keyword))) ...) 10:20:52 pjb: I'd understand possibly modifying all arguments to append, but modifying none except one just seems...ugly 10:20:58 Adlai: but not on &key arg. 10:21:02 ah 10:21:07 ok, the latter is what I meant. 10:21:16 truth: append doesn't modify its arguments. 10:21:32 truth: It copies the minimum amount of information require to construct its result. 10:21:35 Zhivago: Yeah, that's perhaps not the correct way to put it 10:21:35 that strikes me as something which should be possible 10:21:37 truthair: well, we must copy the first lists, since we have to produce a different last cons for each of them, and therefore a differend before last cons, etc... 10:21:37 truth: Think about it. 10:22:18 truthair: also, append is "non-destructive", but that doesn't prohibit it from referencing existing stuff 10:22:35 Adlai: you can always implement a dispatch yourself, or call an internal method that takes this argument as a mandatory argument. 10:22:50 -!- seangrove [n=user@cpe-76-90-50-75.socal.res.rr.com] has quit [Connection timed out] 10:23:00 pjb: "internal method"? what do you mean? 10:23:01 Adlai: write a wrapper 10:23:36 (defmethod m ((self t) &rest arg) (internal-m self arg)) (defmethod internal-m ((self t) (arg x)) ...) 10:24:41 pjb, I think your example is broken 10:24:44 What I have a problem with is that references are created to something without me explicitly doing it. Now I need to remember I shouldn't keep around references to the last argument of an append for fear of forgetting they got appended and modifying. 10:24:54 arg in the internal-m method will always be a list 10:25:01 s/&rest/&key/ 10:25:07 ok 10:25:42 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 10:25:43 truth: So, pass it a goddamned copie of that goddamned list, all bloody ready. 10:25:52 I'll probably do that, rather than manual dispatch. 10:25:52 truthair: no, you should remember just that APPEND is to be used in functional programming style, but CONCATENATE should be used in procedural programming style. 10:25:53 thanks 10:26:42 nunb, out of curiosity, what do you mean by "a wrapper"? 10:26:43 pjb: Oh well, I'll see whatever I run into 10:26:54 Adlai: m is a wrapper for internal-m. 10:26:58 ok 10:27:00 truthair: the problem isn't references but in-place modifications. Additional references are handled perfectly fine by the GC. For the nth time, append is for more functional style. 10:27:08 Are garbage collection hooks specified in the standard? (so far, hyperspec isn't yielding results) 10:27:21 GC isn't even specified. 10:27:22 nunb: the standard does not mandate garbage collection 10:27:28 nunb, I don't think so. I did a quick search of the Hyperspec and it yielded nothing. 10:27:30 You could make a CL implementation without a garbage collector. 10:27:48 (let ((x (cons 1 2))) (do-something-with x) (sys:free x)) 10:27:52 you could also drive a car with no exhaust, if you had a good gas mask. 10:28:12 adlai: Why not just use batteries? 10:28:32 where would you dispose of the batteries? 10:28:37 if you use rechargeable: 10:28:51 where would you find more oil after you'd raped and strip-mined your planet? 10:29:15 Adlai: You appear to have suffered a failure of reasoning. Please try again. 10:29:16 my metaphor stands :P 10:29:22 lol 10:29:31 I'm just taking after my good buddy Seamus MacRae 10:29:42 seems strange since GC's such an integral part. sys:free should be in the hyperspec then? 10:30:01 nunb, in a sense, GC is an optimization. 10:30:17 although once you choose to use Lisp, it's no longer really a premature one... 10:30:26 nunb: More than that, what does a GC hook mean? 10:30:27 saikat_ [n=saikat@98.210.13.214] has joined #lisp 10:30:46 Nshag [i=user@Mix-Orleans-106-1-58.w193-248.abo.wanadoo.fr] has joined #lisp 10:30:58 Zhivago: he explained earlier -- specifying a function which is run when an object gets GCed 10:30:59 nunb: If you can think better than adlai, then you might realize that not everything burns oil, and not all GCs have particular 'start' and 'stop' points. 10:31:41 nunb: That is referred to as 'finalization', and you may be interested in weak-references if your implementation supports them. 10:31:45 *Adlai* can think just fine, thank you. Thinking doesn't require reason :) 10:31:52 http://www.sbcl.org/manual/Beyond-the-ANSI-Standard.html#Beyond-the-ANSI-Standard is the best I could find. 10:32:19 s/(reason)/correct \1ing 10:32:29 Zhivago: but there is a point in time when object X becomes unavailable, right? 10:32:35 nunb: sbcl has finalizers -- why do you want to use them? 10:32:58 Well, to answer myself, that is simply when the last reference goes out of scope. 10:33:18 You are confusing scope with extent. 10:33:28 scope has nothing to do with lifetime. 10:33:31 Because there is an object being stored in a hash-table that needs to be freed when no external code is referencing it. 10:33:47 See above: weak references. 10:34:20 nunb: the hash table refers to that object. You want weak references (which might even be directly available as weak hash tables) 10:34:45 Zhivago: possibly, I did find some mention of weak refs and hashtables. 10:34:49 Yes -- you are also confusing yourself with copying semantics -- the objects referred to by the hash-table are not 'stored in a hash-table' -- they are external to it. 10:34:57 pjb: where does sys:free come from. 10:35:13 Zhivago: yes, the HT maintains a reference to them. 10:35:24 nunb, he was giving an example of how a non-GC lisp could look 10:35:50 nunb: Then saying 'external code' here is an error -- just adjust your thinking. 10:36:28 Well, I'll have to dig around a bit more then (the relevant code is in an external library). 10:36:52 nunb: sys is a package name reserved for the implementation. sys:free comes from an hypothetical CL implementation that has no GC, where you have to deallocate memory yourself. 10:37:05 pjb: I see. 10:38:45 Well, the reservation is conventional, it seems. I can't find a reference to it in CLHS. 10:41:46 willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 10:48:19 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 10:48:43 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 10:50:00 -!- Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Read error: 104 (Connection reset by peer)] 10:55:27 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 10:58:11 -!- willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 10:58:34 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 10:58:35 -!- sepult [n=user@xdsl-87-78-100-124.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 10:58:47 krumholt_ [n=krumholt@port-92-193-69-88.dynamic.qsc.de] has joined #lisp 10:58:50 hey all, why is i beying defined as 301 in this do loop? http://pastie.org/518447 10:59:03 -!- krumholt [n=krumholt@port-92-193-96-110.dynamic.qsc.de] has quit [Read error: 110 (Connection timed out)] 10:59:17 chris2 [n=chris@p5B169BD5.dip0.t-ipconnect.de] has joined #lisp 10:59:50 rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has joined #lisp 11:00:05 what should it be? 11:00:13 because that's the first integer that's greater than 300 11:01:01 I thought that line is the end condition 11:01:13 so I wanted the do iteration loop to end if i > 300 11:01:42 Is 301 > 300? 11:01:46 Yes, and the next expression is evaluated in that case and its value is returned from DO 11:02:20 the body of your loop is useless, btw., and it's unfortune that sbcl won't notice that 11:02:31 seangrov`: That's some very strange code though. 11:02:36 >Zhivago> scope has nothing to do with lifetime. 11:02:44 plage: sorry :D 11:03:03 seangrov`: What do you expect the body of the DO to do? 11:03:11 jbjohns: There's no need to repeat the obviously true. 11:03:25 Not true btw, they aren't the same thing, but they are related. Lifetime begins at or before something comes into scope and ends sometime after it goes out of scope 11:03:26 plage: this is a mutated form of the original function I was trying to code 11:03:34 jbjohns: No. 11:03:41 jbjohns: What is scope? 11:03:43 Of course 11:03:48 originally I wanted (drle '(3 a)) -> A A A 11:03:58 -!- daniel_ is now known as daniel 11:04:00 seangrov`: you may want to use an editor which highlights parenthesis 11:04:02 Scope is when a symbol/var/whatever is "visible" 11:04:10 seangrov`: what is A A A ? 11:04:20 but I wasn't getting anything...so at this point, I think the code should be outputting 310 A's 11:04:20 seangrov`: this is not a readable syntax for any predefined type... 11:04:21 jbjohns: Are my local variables in scope when I make a call to an independent function? 11:04:40 HET2: using slime-repl in emacs 11:04:44 seangrov`: '->' means 'returns', not 'prints'. 11:04:53 they are "in scope" when the function is executing. That is, they are visible inside the body of the function 11:05:05 jbjohns: Of the function that I called? 11:05:05 seangrov`: if you want to print something, you should say so somewhere... 11:05:06 seangrov`: There is no I/O in there, so there will be no output from the function. 11:05:10 pjb ah, got it 11:05:13 seangrov`: You typically do not write functions at the REPL, but in a .lisp buffer, and compile the functions into your Lisp using C-c C-c 11:05:15 seangrov`: with (show-paren-mode t) in your emacs.rc? 11:05:31 seangrov`: M-x slime-scratch will open a scratch buffer 11:05:41 HET2: checking 11:05:52 Zhivago: ah,you mean you're in function a and you call function b. Ok, no the lexical variables in a are not visible in b, but the variable scope isn't over 11:05:52 HET2: yes 11:05:58 tcr: sounds good, I like that 11:06:13 jbjohns: jbjohns: No. the variable lifetime isn't over. The variable is not in scope at that point, however. 11:06:22 jbjohns: Correct this error in your thinking. :) 11:06:40 -!- rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has quit [Remote closed the connection] 11:06:41 Zhivago: :) You're playing terminology games me thinks. :) 11:07:22 jbjohns: No. Your thinking is simply wrong. Is the variable in scope at that point? No. Is the lifetime of the variable over at that point? No. 11:07:27 I know how it works, but I would hesitate to call variables in "a" out of scope. 11:07:41 jbjohns: Lifetime can end before going out of scope 11:07:42 jbjohns: So, re-read your definition of scope above. 11:07:52 Zhivago: you have an aggressive means of talking that's going to get people to disagree even if they think you're right. :) 11:07:53 jbjohns: Either way you have contradicted yourself. 11:08:07 jbjones: I am not interested in your ego problems. 11:08:14 seangrov`: sorry i miscounted the parens on your paste 11:08:24 Zhivago: then maybe you shouldn't chat when you're on the rag 11:08:34 but in this case, I don't think you're right. I think my definition of "scope" was incorrect 11:08:47 jbjones: I suggest that you focus your energies on correcting your mind. 11:09:12 Zhivago: do you interact with people like this in real life? Hard to imagine any company putting up with that 11:09:15 -!- Adlai [n=adlai@93-173-254-22.bb.netvision.net.il] has quit [Remote closed the connection] 11:09:18 rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has joined #lisp 11:09:31 -!- chris2 [n=chris@p5B169BD5.dip0.t-ipconnect.de] has quit [Remote closed the connection] 11:09:35 seangrov`: however if you just want to repeat something 300 times why not use (loop repeat 300 do (someting x)) 11:09:37 jbjohns: And lifetime is a property of values, not of variables. So they're different anyway. 11:09:38 HET2: no problem...just still new to lisp, so I'm tripping over everything :P 11:09:48 jbjohns: I am blessed with a lack of people who act like you. 11:09:49 chris2 [n=chris@p5B169BD5.dip0.t-ipconnect.de] has joined #lisp 11:09:53 HET2: well, I could, but didn't know about loop... 11:09:57 ah 11:10:02 Zhivago: haha. That's great. 11:10:08 yes the loop doc in the hyperspec is a bit annoying 11:10:12 and also seems like a good idea to understand do 11:10:18 ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has joined #lisp 11:10:25 seangrov`: i have found that quite useful: http://www.apl.jhu.edu/~hall/Lisp-Notes/Loop-Summary.html 11:10:37 HET2: I'm going through ANSI Common Lisp, it mentions do first, that's all 11:10:54 jbjohns: That's his same old trick. 11:11:03 HET2: thanks for the link, reading through it now 11:11:10 Zhivago: anyway, you're arguing semantics. When a variable can't appear in scope any more then it's lifetime will end sometimes after that 11:11:24 hence, they are related, hence what you said before was bs 11:11:27 jbjohns: No. 11:11:44 jbjohns: No you're wrong 11:11:45 Yes. But no time to argue with people who like to hear themselves talk. Have a good day all 11:12:27 jbjonhs: The lifetime of a variable may well end before it goes out of scope. Please think about it. 11:12:29 tcr: with you, I'd like to discuss it more. Later perhaps. 11:12:34 jbjohns: There is a standard definition of scope, which is the textual part of the program where a variable is visible. If a globally define function A calls a globally defined function B, then local variables of A are not in scope in B. 11:13:11 jbjohns: lexical scope is the textual area you can reference a variable binding, so Zhivago's example was a good one 11:13:45 jbjohns: It is counterproductive to try to come up with different definitions of well-established terminology, so I suggest you stick to this one. 11:14:04 tcr: fair enough. I just think it's wrong to say "nothing to do with one another". They're not tightly bound, not even as tightly bound as I said apparently. But they are in some way related 11:14:16 jbjohns: They are completely independent. 11:14:24 jbjohns: Lifetime is a property of values, scope of variables 11:14:31 jbjohns: It happens that variable contain values 11:14:46 The scope of a variable is the lexical region within which the name of that variable refers to the value of that variable. 11:15:13 if I get stuck in a loop from clime-scratch, how chould I stop it? 11:15:16 tcr: ah, I see what you're saying. Anyway, *must* go. 11:15:22 /chould/should 11:15:23 Thanks all. 11:15:35 jbjohns: Good luck with correcting your errors. 11:15:42 -!- jbjohns [n=chatzill@52-45.3-213.fix.bluewin.ch] has quit ["ChatZilla 0.9.84 [Firefox 3.0.11/2009060215]"] 11:15:47 seangrov`: M-x slime-list-threads, select the right thread, then press k 11:16:25 seangrov`: I only use slime-scratch buffer to define stuff, and load it in via C-c C-c. I invoke functions at the REPL 11:16:48 seangrov`: It's easier to interrupt the repl-thread (by, coincidentally, C-c C-c, too, but in the slime-repl buffer, not in a .lisp buffer) 11:17:13 ah, makes sense 11:17:22 jesus, too much to bite off for tonight I suppose 11:17:29 but it's a fun process 11:17:48 time to call it a night, I doubt I'll make any meaningful progress for tonight 11:17:50 Learning is good for one's brain :) You'll feel it's grown when you slept over 11:17:50 night all 11:18:20 well then, I'll be back tomorrow ;) 11:18:28 hope so! 11:18:46 -!- seangrov` [n=user@cpe-76-90-50-75.socal.res.rr.com] has quit [Remote closed the connection] 11:20:29 tcr: i find tha C-c C-c sometimes fails to interrupt an evaluation in the repl... 11:22:04 meaning no sldb buffer pops up? 11:22:12 What implementation, what os? 11:23:18 sbcl 11:23:26 emacs is on osx and the sbcl on ubuntu 11:23:41 and yes, no sldp buffer 11:24:52 -!- plage [n=user@118.68.32.211] has quit [Nick collision from services.] 11:25:06 plage [n=user@123.20.70.195] has joined #lisp 11:26:17 sorry, can't tell, sbcl may be stucked in some code which ignores async interrupts 11:27:50 tcr: how does interrupting a remote lisp work in slime? 11:28:39 *nikodemus* guesses it doesn't work except for :spawn style 11:31:43 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 11:32:37 depednds on the communication style 11:32:44 if signals are use, it sends a sigint 11:32:51 otherwise it sends an rpc event 11:33:34 what about :fd-handler? 11:33:41 sends an event 11:33:52 Do you have a better idea? 11:34:11 so as long as the lisp is actually busy in non-io code the interrupt doesn't happen, right? 11:34:29 ruepel0r [n=rue@203-97-49-162.dsl.clear.net.nz] has joined #lisp 11:34:34 nikodemus: Did you see this? http://common-lisp.net/~trittweiler/sbcl-symbols-have-source-path-hack.png 11:35:04 nikodemus: for :fd-handler, yeah probably. 11:35:06 nice 11:35:18 how do you deal with EQ symbols? 11:35:40 tcr: wait, sigint? how do you send a sigint to a remote process? 11:35:49 I store all available source-paths, and decide on the current value of *current-path* to grab the one which is the most closes to its current value 11:36:32 oh, clever 11:36:52 how much does it increase core size? 11:36:52 Getting the (let ((quux quux)) ...) right was a bit tricky 11:37:21 5-7kbs iirc 11:37:57 it's mostly about compile-time conditions anyway 11:38:45 nikodemus: Yes, trying to interrupt a remote swank using :sigint will fail 11:40:14 tcr: have you ever toyed around with deattaching and reattaching a running evaluation on the repl in slime? 11:41:17 I haven't, but others. I think it works 11:41:17 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 11:41:45 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 11:42:12 krumholt__ [n=krumholt@port-92-193-1-76.dynamic.qsc.de] has joined #lisp 11:42:16 so far i haven't been able to reattach a thread 11:47:09 Reav_ [n=Reaver@h15a2.n2.ips.mtn.co.ug] has joined #lisp 11:49:51 alan`` [n=alan@n219077126007.netvigator.com] has joined #lisp 11:53:11 -!- saikat_ [n=saikat@98.210.13.214] has quit [] 11:54:22 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 11:55:07 Adlai [n=adlai@93-173-254-22.bb.netvision.net.il] has joined #lisp 11:55:46 -!- couloir [n=chatzill@S0106001a706b09fb.vc.shawcable.net] has left #lisp 11:57:28 -!- krumholt_ [n=krumholt@port-92-193-69-88.dynamic.qsc.de] has quit [Read error: 110 (Connection timed out)] 11:57:31 stassats [n=stassats@wikipedia/stassats] has joined #lisp 11:57:49 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 11:58:04 -!- alan`` [n=alan@n219077126007.netvigator.com] has left #lisp 11:58:27 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 12:06:17 *p_l* wonders what he should use to try accomplishing a "proof" webapp now. Ruby/Merb, Erlang/LFE or CL. In Ruby/Rails shop ^^; 12:06:30 So with all the newbies coming here, I would expect some of them to become net contributors after a year or so. However, I don't see any significant increase in contributions. 12:06:45 plage: newbies from where? 12:06:48 plage, what do you mean? 12:07:12 plage: that might be because oldies are dying off 12:07:13 Perhaps I am wrong, but it looks to me like we get new people coming here every day. 12:07:23 Xof: Yes, that could be. 12:07:34 also, maybe they contribute in areas that you're not interested in (e.g. web frameworks :-) 12:07:38 plage: it takes time, dedication and some organisation to get the snowball effect 12:08:06 not to mention that some languages make it much more easier to distribute contributions 12:08:10 Xof: Indeed, thats another possibility. 12:08:50 p_l: I don't want to go there really. That's an old debate. 12:09:42 I wouldn't be surprised if a lot of newbies turn away from Lisp after a short while. 12:09:54 I tried Lisp for a few weeks two years ago 12:10:07 But you are still here! 12:10:09 plage: sure it's old. But I know that certain tools speed up sharing a lot, like Hackage or gem/github combo 12:10:16 Although, I didn't know any good resources such as #lisp, c.l.l, or PCL 12:10:31 c.c.l and good? oh my 12:10:48 heh! 12:10:48 The advantages of lisp are also less compelling than they were back when the only competition was C, fortran or basic. 12:10:50 *p_l* was hovering around the issue of lisp for few years before getting his hands on PCL and actually starting to write 12:11:46 These days, the only parts that aren't standard for modern languages are multimethods and macros. 12:12:00 restarts, too 12:12:07 multiple-values, too 12:12:15 and some of those are a pretty big deal. 12:12:35 Zhivago: to say that, you must never have tried irb... 12:12:42 tcr is definitely right. 12:12:45 what's irb? 12:12:52 I'd say macros and Sexp syntax kinda take the cake 12:12:54 irb is the ruby repl. Lame. 12:12:55 Well, restarts are easy enough if you have dynamic variables -- and that's another lisp feature. 12:13:12 I hate irb... 12:13:13 Adlai: interactive ruby. And yes, it's lame, even compared to ipython 12:13:28 p_l, that's what I thought you meant, and I hate it. 12:13:36 Still, it's a lot less obvious to people why lisp is better these days, and a lot of the new development along the lisp line has shifted into haskell. 12:13:39 I would think the entire thing of being dynamic, i.e. the semantics being defined as a sequence of interactions, would still be quite an advantage. 12:13:43 I'm a Ruby fan (compared to other languages but Lisp), but I hate irb... 12:14:53 I often ask my students who claim Java or C# to be dynamic what it means to redefine a class that has already be defined. After a lot of research, they find that it is not defined. 12:15:00 Lisp just isn't very community-friendly at the moment, I think; there needs to be contemporary-style community websites and such. 12:15:11 I think the other problem is that a lot of programming has shifted away from anything theoretical. 12:15:22 Ralith: I would expect some of the newbies that care to work on such a thing then. 12:15:42 plage: and there's the attitude that's keeping it from happening. 12:15:51 I was talking to a fellow who claimed to have written a compiler and didn't know what a continuation was or even administrative normal form. 12:16:03 plage: no need really, there is already all a community might want: wiki, fora, newsgroups, irc channels, source repositories. 12:16:04 Ralith: Oh, come on! One person would be enough. 12:16:07 Lisp is great for nontheoretical stuff. 12:16:29 I'm writing an app right now that is thriving on Lisp... 12:16:30 plage: okay, perhaps. But you have to admit that it's a particularly inappropriate newbie task. 12:16:34 plage: the only thing that's "missing" is a one-command packager-sender-to-the-repository-downloader-installer. 12:16:40 A lot of programming these days is glueing things together, which requires playing nicely with others, which isn't a lisp strength, either. 12:16:48 I tried writing it old-style functional and it crash-and-burned, and now I'm using macros and CLOS and it's going well. 12:17:21 plage: For something like that, wouldn't you want it managed by someone who knows the existing community, libraries, etc. inside and out? 12:17:37 Zhivago, there should be an "asdf-package" companion to asdf-install 12:17:43 Ralith: Me? No! Never felt the need. 12:18:03 adlai: What would that solve? 12:18:09 Ralith: If I did, I would probably work on it. 12:18:31 that was a general you, not you in particular :P 12:18:43 Oops, I meant to address pjb's comment. 12:18:46 i know the existing community: there is no such community 12:18:57 stassats: there's regulars here, for starters. 12:19:02 that's something. 12:19:14 stassats: I know that's what people like to say. It's not quite true though. 12:19:14 and I'm sure there's much more than that. 12:19:31 Is there any equivalent of #'remove for trees? 12:19:48 the XML I'm getting has lots of "\n" in it... 12:20:00 <_3b> Ralith: lisp has lots of (mostly)independent communities... here, lispforum, cll, reddit, etc... 12:20:08 adlai: mapcar with remove? :) 12:20:18 Adlai: trees are not well defined in CL. 12:20:36 Yeah, I guess I'll basically be defining it myself. 12:20:47 mapcar and remove make it not too hard, though. 12:20:50 as for community... someone should get c.l.l into moderated status or what? 12:21:15 p_l: Or move to something else. The current state of things is a catastrophe. 12:22:28 there's lispforum already 12:22:58 speaking as someone who's recently gotten into lisp, it does look like things are picking up--I've seen lots of mention of how things like usable free implementations and a solid set of libraries are recent developments. 12:23:04 perhaps it's just a matter of time now. 12:23:28 stassats: It sounds like it must be web based. I can't stand web-based things for more than a few seconds. Then they drive me crazy for lack of abbrev-mode, flyspell-mode, etc. 12:23:34 yshigeru [n=shigeru@EM114-51-20-178.pool.e-mobile.ne.jp] has joined #lisp 12:23:45 drewc does a lot of good by keeping backup of ALU wiki... and frankly speaking, Cliki looks atrocious. I don't require beautiful looks, but it gives me the image of *mess* 12:24:09 Ralith: Sounds good! 12:24:22 -!- yshigeru [n=shigeru@EM114-51-20-178.pool.e-mobile.ne.jp] has left #lisp 12:24:24 p_l: if you want something looking beautiful, go to http://xxl.tv 12:24:33 hahaha 12:25:43 p_l: That's another thing that surprises me. Among all the newbies thinking like that, surely there must be at least one that cares about how it looks and therefore decides to do something about it. I don't see that however. 12:25:46 btw, ALU wiki (the one on tech.coop server) looks much cleaner. And I guess, since cliki is a wiki, it will take devoted editors 12:25:50 Ralith: for what to happen? 12:26:18 stassats: popularity to pick up significantly. 12:26:56 ruby has a crappy implementation, and it's quite popular 12:26:59 plage: newbies are by definition not committed to the language yet. 12:27:13 plage: Well, I'll admit that I'm lazy, and I don't like web stuff, even when I just upped my chances of working with very WebTwoOh thingy 12:27:15 stassats: okay? 12:27:27 Ralith: sorry, i now see your poinr 12:27:29 t 12:27:39 np 12:27:48 Ralith: Are you saying *every* newbie rejects Lisp because of looks? Then I am not sure I would want them in the "community". 12:28:09 ... maybe we need something that looks wicked cool and newbies can copypasta it, and then weed out unworthy railstrolls 12:28:51 But again, I really didn't mean to start this debate again. 12:28:59 plage: no, I'm saying that it's a bit odd to expect the people unfamiliar with the language to do such major work. 12:29:06 um 12:29:18 as a newbie, I'm extremely afraid to edit CLiki or the like 12:29:34 *p_l* does his part by pitching CL to everyone 12:29:35 -!- ken-p [n=ken-p@84.92.70.37] has quit [Read error: 104 (Connection reset by peer)] 12:29:42 Adlai: don't be 12:29:44 I'm a bad salesman, though 12:29:46 Ralith: we're patient. We will wait for youto be proficient in lisp before beautifying cliki. 12:29:58 Ralith: "major work". Come on! Edit a few web pages, create some pixmaps? That can't possibly be a major thing for someone who has opinions about looks. 12:30:09 plage: perhaps. I'm no authority. 12:30:24 Ralith: I could be wrong of course. 12:30:32 -!- danlei [n=user@pD9E2ECEB.dip.t-dialin.net] has quit [Read error: 104 (Connection reset by peer)] 12:31:03 I guess what I think the real issue is, is that the amount of time it takes for your average newbie to learn how awesome lisp is is greater than the time it takes for your average newbie to decide "this looks unpolished and ancient and impractical" based on misinformation and lack of compelling, clearly definitive sources. 12:31:04 sepult [n=user@xdsl-87-78-100-124.netcologne.de] has joined #lisp 12:31:20 one question, which is at the moment a little too far from simple editing: Could we merge Cliki and ALUwiki? 12:31:41 p_l: Seems politically impossible. 12:32:09 well, i g2g 12:32:17 Wait a few tens of years, when the USA will have invaded the whole planet there won't be any problem merging them anymore. 12:32:22 p_l: start merging content from one into the other, just as a user, then eventually that one you merged it into will be inarguably superior. 12:32:53 pjb: I'll commit a suicide with a nuke in such case 12:33:11 p_l: You could easily make both of the irrelevant by merging the contents in a third site. 12:33:22 wait. tens of years? I'm so outta mars orbit 12:33:52 Yeah! I said that in 1969 about 2000... 12:33:56 mrsolo [n=mrsolo@adsl-68-126-176-234.dsl.pltn13.pacbell.net] has joined #lisp 12:34:02 Reav__ [n=Reaver@212.88.117.162] has joined #lisp 12:34:04 Lisp, the alien technology! 12:35:19 haha 12:36:14 plage: I'd like to rewrite the software behind it, then. I'd love to see a wiki accessible in similar way to Zope pages 12:36:46 p_l: rewrite cliki ? 12:37:23 fe[nl]ix: yeah. I'd love something that you could easily access from Emacs etc. 12:37:31 without running a web browser 12:40:42 (example: ikiwiki) 12:41:01 -!- trebor_dki [n=user@mail.dki.tu-darmstadt.de] has quit [Remote closed the connection] 12:41:49 i don't think anyone edits cliki so often to bother with emacs modes 12:42:16 p_l: ask drewc to give you access to the sources of the new cliki 12:44:02 another nice feature would be templates, like "app template", library etc. 12:45:35 fe[nl]ix: I'll consider it 12:45:42 i'd like history, diffs, and preview 12:45:48 yeah 12:46:21 is the new cliki based on lolrotflmao stack? 12:46:55 -!- Reav__ [n=Reaver@212.88.117.162] has quit [Read error: 60 (Operation timed out)] 12:47:02 -!- Reav_ [n=Reaver@h15a2.n2.ips.mtn.co.ug] has quit [Read error: 110 (Connection timed out)] 12:48:28 p_l: I think so 12:50:19 HMAmemefan [n=HMAmemef@C-61-68-213-68.bri.connect.net.au] has joined #lisp 12:50:22 sup fags 12:50:34 *p_l* just had the evil idea of linking together moderated newsgroup with www forum 12:50:58 oh, and mailinglist bridge :> 12:50:58 considered unscientific and untimately destructive 12:51:27 HMAmemefan: only until we take over ;-) 12:51:38 ? 12:51:49 <_3b> p_l: i've seen cll as a forum before, was rather odd 12:52:26 -!- sepult [n=user@xdsl-87-78-100-124.netcologne.de] has quit [Remote closed the connection] 12:53:44 stassats` [n=stassats@wikipedia/stassats] has joined #lisp 12:54:02 I need your opinion on something noble #lispians 12:54:06 Up 'til now I considered Aussies more civilized than this. 12:54:37 I am being uncivilised? 12:54:53 HMAmemefan: like your first greeting? 12:55:18 minion: chant 12:55:18 MORE CIVILIZED 12:55:35 plage: hey, at least it wasn't trolling from join 12:55:37 standard greeting amongst the 16-25 year old demographic 12:56:02 *p_l* predicts that we have a bigger age range here... 12:56:09 -!- ChanServ has set mode +o Xof 12:56:29 p_l: and perhaps a wider cultural range as well. 12:56:46 Xof: Hey, give this person a chance. 12:56:55 I bet I'm about to be defeated by the stupid finite-sized ban list anyway 12:57:01 Xof: (admittedly it's looking bad) 12:57:01 HMAmemefan: Also, don't spam #haskell with /prog/, they already have more than enough of it 12:57:17 HMAmemefan: try to grow up before saying anything else here. 12:57:35 HMAmemefan: let me guess, you are asking about haxing something 12:57:38 ok, what is the average age here? 12:57:42 31 12:57:43 hax my anus 12:57:55 jesus, how do you know this Xof 12:58:06 We made statistics. 12:58:09 HMAmemefan: you confirm my initial impression. 12:58:27 because this community has been around for a while, and the average age has been tallied several times 12:58:28 (but I am guessing you don't care) 12:58:29 it's 31 each time 12:58:35 pjb: seriously? I thought it was an Ass Pull 12:58:39 now, go away 12:59:09 plage: well, AU was populated by England scums... 12:59:11 crazy 12:59:21 jleija [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 12:59:42 pjb: Yeah, the Kiwis are much nicer. 12:59:52 alright, before i am booted, i have a real question 13:00:04 y-combinator, how the shit do i get my head around this? 13:00:06 HMAmemefan: might be your last chance. 13:00:12 links, etc 13:00:24 http://google.com/ 13:00:38 oh! 13:01:03 Or even http://bing.com ; BING Is Not Google... 13:01:27 paul graham has tainted the search results 13:01:39 is he married yet? 13:01:59 HMAmemefan: don't push your luck. 13:02:55 HMAmemefan: You are already pretty much off topic, because the Y combinator is not quite related to Lisp. 13:03:27 HMAmemefan: better chances asking in #haskell 13:03:35 -!- Xof has set mode -b %*!*hask@*.bredband.skanova.com 13:03:35 they have more bias towards it 13:03:46 -!- Xof has set mode -b *!*n=user@*.bredband.skanova.com 13:03:52 -!- Xof has set mode +b *!n=HMAmemef@*.bri.connect.net.au 13:04:10 -!- Xof [n=crhodes@158.223.51.79] has been kicked from #lisp 13:04:44 -!- Xof has set mode -o Xof 13:05:18 jmbr_ [n=jmbr@14.32.220.87.dynamic.jazztel.es] has joined #lisp 13:05:19 :3 13:05:19 That's an example of a newbie who wouldn't contribute anything any time soon anyway. 13:05:26 hmh...I had in mind a nice y combinator explanation but missed the opportunity ;) 13:05:46 joga: did it include pointed, sharp objects? 13:05:52 don't tell me -- the IRC channel was too small to contain it? 13:06:04 joga: I was going to utter something similar to: HMAmemefan: You are lucky though that this channel is populated by very-smart people who know lots of stuff. But they might be less willing to answer you, given your behavior. 13:06:13 ken-p [n=ken-p@84.92.70.37] has joined #lisp 13:06:23 heh, nah, I didn't read far enough to realize he was being dorky 13:06:30 oh 13:07:02 -!- willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 104 (Connection reset by peer)] 13:07:12 whereas I am already marking exam scripts written by idiots, so my tolerance levels are quite low 13:07:22 he (I am assuming it's a he, only guys can be that bad) seemed to be serious about the Y-combinator thing. 13:07:32 -!- jmbr_ [n=jmbr@14.32.220.87.dynamic.jazztel.es] has quit [Read error: 60 (Operation timed out)] 13:07:38 Xof: we can tell, thank you very much :) 13:07:58 Xof: You'll chill out with age. 13:08:28 has didier been spotted here yet, by the way? 13:08:35 not to my knowledge 13:08:37 who's that? 13:08:42 Verna? No, not usually. 13:08:50 we talked about IRC at ELS 13:09:16 joga: The guy who proved that Lisp is faster than C for numeric problems (or something similar). 13:09:33 plage: he was in #reddit. I'm not so sure about seriousness 13:09:34 Xof: Really, I find exams by idiots can contain quite some comedy gems 13:09:38 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 110 (Connection timed out)] 13:09:39 at least not long-term one 13:10:03 truthair: You are assuming there is enough time to actually read such exams. 13:10:38 ocnzhao [n=hgsghrnj@122.159.58.26] has joined #lisp 13:10:44 -!- ocnzhao [n=hgsghrnj@122.159.58.26] has left #lisp 13:11:01 truthair: I am working on a Saturday 13:11:07 plage: I suppose, I don't have to grade the exams my mom brings home from school so I don't actually have any time pressure behind 13:11:14 how much fun do you think I'm having? 13:11:48 -!- jmbr [n=jmbr@108.32.220.87.dynamic.jazztel.es] has quit [Read error: 60 (Operation timed out)] 13:14:31 (it is true that there are howlers. Unfortunately, since these are exams in computer security, and many of these students will end up graduating, it's not funny: they'll probably write software to expose my credit card number to the world...) 13:14:42 *plage* is guessing close to 0 13:15:23 Xof, that bad on average? 13:15:37 Xof: It is worse than that. I keep thinking one of those students are now writing software for the nuclear power plant close to me. 13:15:44 *is 13:17:02 plage: oh, I'm pretty sure they won't be... the critical parts are supervised quite well (I suspect they have similar sanity checking procedures as aviation stuff) 13:17:03 Xof: I do have a colleague (with lots of energy) who exposes "best of"s in the student news groups every year. Doing so doesn't seem to have any major impact on the next year students though. 13:17:36 joga: well, it depends. I haven't actually taught these students (they're self-study), so I don't know how much of the pain is due to fundamental idiocy and how much is because learning by yourself isn't easy 13:18:03 p_l: What worries me is who is going to supervise it. In the best case, it is a student of mine with more experience. In the worst case, it is an engineer with no software experience. 13:18:05 plage: I loved exposing "best of" in assignements. like, writing, "that is not how you should design software" on top of function definition that was forced by professor 13:19:26 plage: I'm not sure it would be the worst case. The critical stuff has it's own kind of engineers, who do have safety burned into them. And the systems are sealed from outside interference, afaik. 13:20:00 p_l: I am sure you would be pleased to know I rarely force restrictions on my students with respect to what they can use to write their homework assignments. 13:21:21 Plus, I taught a course at the engineering scool this spring, and it is clear that the students were damaged by being taught too much about recursion on lists, and about explicit tal recursion. 13:21:25 plage: nice. Unfortunately being in first year has it's bad sides... 13:21:49 This is your case? 13:22:04 plage: yeah, waiting for exam results. 13:22:17 jbjohns [n=chatzill@52-45.3-213.fix.bluewin.ch] has joined #lisp 13:22:19 p_l: I still don't agree with such pedagogial practices. 13:22:30 but I wish you good luck of course. 13:22:47 plage: Me neither. I had more complicated "team exercise" in first year of high school 13:23:52 while first problem set in java that I got in CS1014 included exact prototypes of certain methods 13:23:57 p_l: Let me know when you like to transfer to Bordeaux, the highest-ranking university in CS in France! :) 13:23:58 in if, is the else-form accept multiple forms or must it be wrapped in progn? 13:24:14 leo2007: the latter 13:24:14 the latter 13:24:17 willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 13:24:19 damn 13:24:20 clhs if 13:24:20 http://www.lispworks.com/reference/HyperSpec/Body/s_if.htm 13:24:40 leo2007: you could have gone to the CLHS for that question. 13:24:49 joga: It is usually that bad, I'd rate myself as about average on programming skill. But if I compare myself to a lot of students in my year, a lot are about an order of magnitude worse :\ 13:25:09 plage: Now, if only I could speak french outside "Bonjour", however "goodbye" was spelled, and some broken variation on "would you sleep with me" 13:26:02 p_l: We usually allow our students a year to take courses (and get a French girl/boy friend) which usually makes all the difference. 13:26:10 haha 13:26:20 "voulez vous coucher avec moi?" is all i know in French 13:26:31 stassats`: oh, exactly the phrase I recall :D 13:26:39 my friend used to add "in bushes" 13:26:40 stassats`: That will get you a long way towards that particular goal. 13:26:54 stassats`: Don't even need to know that phrase, just make a circle with fingers on one hand move the index finder on your other hand in and out :p 13:26:54 -!- milanj- [n=milan@212.200.193.81] has quit ["This computer has gone to sleep"] 13:27:26 plage: statistical data says that straightforward asking will let you score ~70% 13:27:57 I think it will include a lot of "getting slapped", though 13:28:21 p_l: Impressive. Haven't tried that since I hooked up with my current wife, some 25 years ago. 13:28:34 never got slapped though 13:28:48 But then I never tried this in the US. 13:29:24 I'm pretty sure I can prove that statistic false in one afternoon of trying 13:29:39 truthair: I am pretty sure you can't. 13:29:43 *p_l* considers US to be one of the places where he shouldn't hit on anything that is still capable of moving, and then only with a stick to check if it's really dead and won't sue 13:30:03 p_l: Great! I love it! 13:30:30 plage: Wait, is that 70% as in 70% of the women will respond with yes or a 70% chance that one will say yes 13:30:34 truthair: an acquaintance of a coworker once tried it, returned after a week stating it was wrong - scuccess rate was ~80% 13:30:43 p_l: It wasn't quite as bad when I did my PhD there, but close. 13:30:44 truthair: former 13:31:36 pem [n=pem@159.226.35.246] has joined #lisp 13:31:37 I should be able to ask about 1000 women in the city in an afternoon with a relatively uniform distribution across various layers of civilization. I highly doubt that'll result in ~700 positive responses >.> 13:32:04 plage: in UK I gave up after reading on how law enforcement works on rape cases. Staying away is the only way you can avoid taking a year in jail to prove you are innocent (real story) 13:32:09 truthair: I suspect you need to spend more than a few seconds with each one. 13:32:24 I'd suspect a few hours at least. 13:32:50 In that case it's not really the straight forward asking part that's the key to the method :p 13:33:11 truthair: the second part is actually meaning it :P 13:33:12 dreish [n=dreish@minus.dreish.org] has joined #lisp 13:34:02 p_l: I was "educated" in the US where it was unacceptable, but when applying the same rules in France, I was cornered by half a dozen secretaries one day saying "Robert, what's wrong with you? You never say we are pretty, nor remark on our dresses or latest hair cuts. Are you gay or something?". 13:34:16 ... 13:34:24 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Remote closed the connection] 13:34:31 From that day on, I have applied different rules. 13:34:35 Oh well, no real sense in trying anyhoo. I wouldn't really know what to do with them if any did say yes 13:34:44 Spyderco [n=nash@194.45.110.65] has joined #lisp 13:34:59 truthair: That's pretty sad. Do you need advice? :) 13:35:48 plage: yes, I have checked clhs before asking, I want to be assured. I am in the middle of porting a fortran function. 13:35:52 Thank you all for help out. 13:36:05 *p_l* would end up in a very... interesting situation. Standing up a girl after such an answer would be unacceptable, while having zero experience would be a hindrance... 13:36:10 plage: I know what to do in the literal sense, but I rather prefer having slightly more of a connection then running into someone a couple hours earlier :p 13:36:17 sepult [n=user@xdsl-87-78-100-124.netcologne.de] has joined #lisp 13:36:21 leo2007: you're thinking of Emacs lisp? Personally I never use that form in emacs lisp. I find it unexpected. :) 13:36:22 leo2007: No problem. 13:36:57 thomas001 [n=thomas@p5B0F7CCA.dip.t-dialin.net] has joined #lisp 13:37:10 p_l: zero experience might actually get even more success. There are plenty of girls that are quite intrigued by the idea of being the first. 13:37:11 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #lisp 13:37:40 *p_l* goes to find where debugger went and why it isn't responding to condition 'bachelor-talk 13:38:02 jbjohns: yeah, but then you will need to know what to do, which I definitely didn't the first time (I was 13). 13:38:05 p_l: Well, on the upside, if you really don't know her she can't tell your friends if you turn out to suck ;) 13:38:21 -!- sepult [n=user@xdsl-87-78-100-124.netcologne.de] has quit [Remote closed the connection] 13:38:38 hahaha 13:38:42 plage: but if you claim zero experience, and hook up with one of those kind of girls, you won't need to know anything. :) They'll be quite happy to teach 13:38:44 plage: that's because there was no internet yet 13:39:14 I love it! 13:39:20 *p_l* actually got his hands first on books... 13:39:21 stassats`: I didn't have any worthwhile internet connection but I managed to figure it all out no trouble anyway :p 13:40:07 and that's quite an OT 13:40:19 I am starting to think this OT discussion is all my fault :( 13:40:25 sepult [n=user@xdsl-87-78-100-124.netcologne.de] has joined #lisp 13:40:31 plage: don't worry 13:40:37 Thanks! 13:40:47 it was quite amusing xD (And I'm at fault as well) 13:40:49 plage: are you beach? 13:41:06 jbjohns: Of course! How can you doubt? 13:41:20 So, how about them lists, eh? (Feeble on topic attempt) 13:41:25 I didn't know, don't hang out here quite enough to have all the personalities down. :) 13:41:31 jbjohns: beach, spiaggia, plage, Ufer, ... 13:41:44 aha. 13:41:49 jbjohns: they all mean the same thing. 13:42:01 plage is french for beach? 13:42:08 indeed 13:42:09 I guess so 13:42:11 But Ufer is shore 13:42:19 Strand would be beach 13:42:21 Isn't Ufer more of a bank/shore rather then beach? 13:42:30 jbjohns: They are all translations of the Swedish "strand" 13:42:46 i have a function which generates a string. is it faster to create an adjustable character array and adjust its dimension as needed or can i also use with-output-to-string? 13:42:50 ah. I don't know Swedish yet. :) 13:42:53 in polish we call it "plaa", which is similar to how you say plage in french (from my one year stint with it) 13:43:22 plage: You can use strand and claim it's Dutch when you get bored with Swedish 13:43:31 -!- mrsolo [n=mrsolo@adsl-68-126-176-234.dsl.pltn13.pacbell.net] has quit [Read error: 60 (Operation timed out)] 13:43:45 Dutch is a nifty language. 13:43:45 truthair: Thanks. I am not that surprized. 13:44:32 tic: Hell no, Dutch is brain damaged. 13:44:47 Haha. I like it. :-) 13:44:47 truthair: Once I was at the PCL (!) library in Austin, and the Swedish version of a novel lacked the last page, so I got the Dutch version, which was good enough. 13:44:49 hehe, yeah, in Czech the sound is just like French 13:44:50 plá 13:44:53 j8 13:44:57 I make less mistakes in English then in Dutch while I'm a native speaker of the last 13:45:19 <_3b> thomas001: with-output-to-string should be reasonable 13:45:29 truthair: "fewer" if you want to be an excellent speaker. 13:45:45 _3b, thanks 13:46:30 I think they changed the spelling rules twice since I was in 5th grade. I don't know of any language where the spelling got changed at all (in the sense of the government saying "You are now supposed to spell *this* way") 13:46:36 truthair: learning German vastly improved my (native) English spelling 13:47:19 truthair: spelling changes do happen. In Germany they apparently want to change "Stop" to "Schtopp" or something like that 13:47:38 jbjohns: really? 13:47:40 And in English we have the problem of British vs. American english. Colou?r and all that 13:47:43 jbjohns, no 13:47:49 <_3b> truthair: japanese, chinese, (maybe korean) depending on how you define 'spell' :) 13:47:53 stassats`: I don't know for sure, my German teacher said that 13:47:55 Stop has been(!) changed to Stopp here 13:47:55 jbjohns: That's a spelling change, I mean they changed the rules and caused like a couple thousand nouns to change spelling 13:48:32 thomas001: ah ok, he spelled out what they wanted, but I didn't speak so well then so I didn't record it well obviously 13:49:02 truthair: ah, yea, that is quite different. In English we just don't bother with rules. It's a free for all! 13:49:27 jbjohns, interstingly the traffic signs still read "STOP" here and not "STOPP" ;) 13:50:13 thomas001: That was a problem in Sweden initially, because STOP means a glass of beer. 13:50:14 *tic* can't remember what the Swedish stop signs say. 13:50:28 tic: they say STOP as well. 13:50:33 thomas001: I would hope so, that would be a ridiculous amount of money to spend just to become incompatible with English. I mean, they don't have to bow down to English, but if they're already compatible why change it 13:50:36 Few say 'ett stop öl' nowadays, though. :-) 13:51:09 jbjohns, some time ago "HALT" was printed on stop signs ;) 13:51:13 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #lisp 13:51:15 tic: that might be true. They probably say "en Pint of Beer" 13:51:21 thomas001: that works for english as well 13:51:31 true 13:51:43 but perhaps not in frensh or spanish 13:51:53 actually, I guess most people would figure out what Stopp means, but it just seems silly to replace all the signs for one letter 13:51:54 iirc traffic signs are the same across the EU 13:52:29 plage, nah, "stor stark," I think. Wouldn't know though. 13:52:40 I don't recall seeing Stop signs in Switzerland, we have the teeth 13:52:52 tic: and next time I come to Malmö, I'll find "cage leaf center" instead of "Burlöv centrum" 13:52:59 plage, :D 13:53:26 Burlöv centrum isn't even in malmö :( 13:53:31 plage, haha! you forgot your Malmö spelling! 13:53:42 schme: cut me some slack. It is close! 13:53:52 pfft! 20 minute bike ride for sure! 13:53:56 tic: oops, sorry, Malmř 13:54:41 danlei [n=user@pD9E2ECEB.dip.t-dialin.net] has joined #lisp 13:54:42 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 104 (Connection reset by peer)] 13:55:07 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 13:55:20 tic: I didn't think you would remember that. 13:55:41 -!- sepult [n=user@xdsl-87-78-100-124.netcologne.de] has quit [Remote closed the connection] 13:55:46 plage, my head is like a giant warehouse for storing useless information! 13:56:01 tic: congratulations! 13:56:07 (but now they are putting preassure on me to leave this restaurant. I might have to leave soon) 13:56:13 seejay [n=seejay@unaffiliated/seejay] has joined #lisp 13:57:23 rjack [n=rjack@adsl-ull-244-40.51-151.net24.it] has joined #lisp 13:58:44 -!- Spyderco [n=nash@194.45.110.65] has quit [] 14:02:22 naggum rip ? 14:02:33 according to reddit 14:03:53 Heh, I don't have a chance of getting dry at this rate. The kid made met wet second time in the last 15 minutes. 14:04:35 xristos: Wow 14:04:43 All without waking up, of course.. 14:07:12 mattrepl [n=mattrepl@ip68-100-82-124.dc.dc.cox.net] has joined #lisp 14:07:36 xristos; reddit thinks so, in any case. 14:07:40 -!- xan [n=xan@cs78225040.pp.htv.fi] has quit [Read error: 113 (No route to host)] 14:08:14 If so, a pity he's gone. 14:08:31 *nod* 14:09:10 xan [n=xan@cs78225040.pp.htv.fi] has joined #lisp 14:09:53 -!- mikezor__ [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 14:12:44 -!- plage [n=user@123.20.70.195] has quit [Nick collision from services.] 14:13:07 plage [n=user@118.68.32.211] has joined #lisp 14:14:44 I understand Naggum is still active in Norwegian groups, but that information dates back some time. 14:15:43 mikezor [n=mikael@c-a1e370d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp 14:18:08 _death [n=death@host-90-233-177-17.mobileonline.telia.com] has joined #lisp 14:18:46 sepult [n=user@xdsl-87-78-24-73.netcologne.de] has joined #lisp 14:19:44 ikki [n=ikki@189.139.132.197] has joined #lisp 14:19:47 seejay_ [n=seejay@202.69.200.5] has joined #lisp 14:20:38 -!- lde [n=user@184-dzi-2.acn.waw.pl] has quit [Read error: 60 (Operation timed out)] 14:21:17 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 14:22:11 Man, that sucks if Naggum is gone. Did anyone actually know him? 14:22:23 kroger [n=user@adsl-76-220-207-125.dsl.pltn13.sbcglobal.net] has joined #lisp 14:22:24 (anyone here I mean, in case that's not obvious) 14:23:00 I absolutely loved his rants on Perl. 14:24:58 lde [n=user@184-dzi-2.acn.waw.pl] has joined #lisp 14:25:41 joachifm [n=joachim@ti132110a340-3137.bb.online.no] has joined #lisp 14:27:04 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 14:28:07 The wiki quote page with this quotes is also nice: "For some reason, the United States is the only country on Earth where accidents don't happen  it's always somebody's fault, and you can sue that somebody for neglect. " So true. :) 14:36:17 -!- seejay [n=seejay@unaffiliated/seejay] has quit [Read error: 110 (Connection timed out)] 14:37:54 Reav_ [n=Reaver@h15a2.n2.ips.mtn.co.ug] has joined #lisp 14:38:55 milanj- [n=milan@212.200.193.81] has joined #lisp 14:39:38 I think I 14:39:47 'm sarting to hate 2009 14:40:02 (and my keyboard) 14:40:44 *stassats`* doesn't really like 2008 14:41:52 <_death> I have been to Oslo two weeks ago.. shame I didn't mail him 14:44:11 There's MERGE but no lookup function for a sorted-list... how unfortune 14:44:25 gerryxiao [n=gerry@58.55.81.55] has joined #lisp 14:44:57 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 14:45:12 here is just for common lisp? 14:45:23 yes 14:45:25 pretty much 14:45:45 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #lisp 14:46:39 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #lisp 14:46:52 where are the good beginner tutorials for cl? 14:47:06 minion: tell gerryxiao about pcl 14:47:08 gerryxiao: have a look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 14:48:00 ok 14:48:51 how about clojure? 14:49:02 #clojure 14:49:24 -!- seejay_ [n=seejay@202.69.200.5] has quit [Read error: 110 (Connection timed out)] 14:50:33 truthair: In poland, there's a running joke that there's no Dutch language, there's only particularly bad throat disease 14:51:05 -!- ruepel0r [n=rue@203-97-49-162.dsl.clear.net.nz] has quit [Read error: 110 (Connection timed out)] 14:52:05 -!- gerryxiao [n=gerry@58.55.81.55] has quit [""] 14:52:22 jmbr [n=jmbr@149.33.220.87.dynamic.jazztel.es] has joined #lisp 14:56:37 -!- mornfall [n=mornfall@kde/developer/mornfall] has quit [Read error: 104 (Connection reset by peer)] 14:56:39 mornfall [n=mornfall@anna.fi.muni.cz] has joined #lisp 14:56:41 sohail [n=Sohail@unaffiliated/sohail] has joined #lisp 14:58:26 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 15:02:57 -!- frodef [n=ffj@24.80-203-67.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 15:03:11 seejay [n=seejay@unaffiliated/seejay] has joined #lisp 15:04:03 elliotstern [n=chatzill@cpe-67-240-160-45.rochester.res.rr.com] has joined #lisp 15:04:16 mcspiff [n=user@DC7CB.WPA.Dal.Ca] has joined #lisp 15:04:20 -!- truthair [n=truthair@arazoid.nl] has left #lisp 15:05:01 -!- wedgeV [n=wedge@cm56-238-229.liwest.at] has quit [] 15:08:11 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 15:08:36 MDXRL [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has joined #lisp 15:09:24 Hey 15:09:55 Hello 15:10:13 who are youz? 15:10:15 0_o 15:10:36 a bunch of adults 15:11:55 so am I 15:12:49 who can tell, what with this being internet and all 15:13:12 what 15:13:28 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Connection timed out] 15:15:40 gigamonkey [n=user@adsl-99-179-44-126.dsl.pltn13.sbcglobal.net] has joined #lisp 15:17:28 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["Leaving"] 15:17:44 I have recently discovered comp.lang.lisp.. and I'm curious. Is there ever anything of interest on it? 15:17:58 yes, the frog dude and xah lee 15:18:07 schme: not anymore 15:18:08 frog dude? 15:18:23 It seems to be spam + random garbage :S 15:18:37 there's not much 15:18:49 Too bad. 15:19:06 sometimes some well-known smart people post something of value 15:19:40 hmmm.. google groups is too much pain for the occassional niceness. I'll just stick to reading the irc. 15:20:45 Can someone verify the post on c.l.l that Erik Naggum passed away? 15:21:23 tmh: it's also the top story on the programming reddit 15:22:31 -!- jmbr [n=jmbr@149.33.220.87.dynamic.jazztel.es] has quit [Read error: 110 (Connection timed out)] 15:22:36 Which is not confirmation but there's a bit more info in the comments. 15:23:04 gigamonkey: Just found that, but it just points to the twitter post. Not exactly authoritative and I'm interested in circumstances. I know he was having health issues. 15:23:17 <_death> see Kjetil's comment 15:23:31 -!- ia [n=ia@89.169.189.230] has quit [Success] 15:24:40 ia [n=ia@89.169.189.230] has joined #lisp 15:26:30 what does #1= do? 15:26:47 Thanks for the pointers, sad news. 15:26:50 krumholt__: let's you read cicular s-exps. 15:26:53 clhs #= 15:26:53 http://www.lispworks.com/reference/HyperSpec/Body/02_dho.htm 15:27:39 It's not just circular, it's to print lists readably 15:28:06 *Adlai* is back, and points out that #1# syntax also lets you create circular structures. 15:29:41 pstickne [n=pstickne@c-24-21-76-57.hsd1.wa.comcast.net] has joined #lisp 15:30:30 and not circular too 15:30:59 you could use it to insert unpackaged symbols into expressions 15:31:01 (progn #1=(print "FOO") #1#) if you are lazy to type print twice 15:31:09 -!- MDXRL [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has quit ["Leaving."] 15:31:12 so #1=(programmable . #1#) is a circular list with the symbol programmable in it? 15:31:20 no 15:31:28 krumholt__, it's a circular list. 15:31:51 Common Lisp, the (programmable programmable programmable programmable ...) programming language. 15:31:54 -!- p_l [n=plasek@89.248.166.201] has quit [Read error: 110 (Connection timed out)] 15:32:02 Adlai: wasn't that what krumholt__ said? 15:32:15 yes thats at least what i meant 15:32:17 thanks 15:32:20 ah, I missed the word "circular", lol 15:32:26 silly me 15:32:29 too hot outside 15:32:53 bad_alloc [n=marvin@HSI-KBW-078-042-139-239.hsi3.kabel-badenwuerttemberg.de] has joined #lisp 15:33:24 -!- karvus [n=thomas@ti511110a080-1297.bb.online.no] has quit [Read error: 110 (Connection timed out)] 15:33:46 so with #n= i can label an object. and access it with #n#. seems useless :) but at least i understand the topic of the channel now 15:34:30 it's not useless, it useful for printing and reading shared and circular structures 15:34:49 and gensyms. 15:35:28 -!- madnificent [n=madnific@83.101.62.132] has quit [Read error: 110 (Connection timed out)] 15:35:28 (progn #1=(gensym) (let ((#1# (foo))) (bar))) 15:36:36 -!- asksol [n=ask@084202075154.customer.alfanett.no] has quit ["Be back later"] 15:36:54 compared to (let (((gensym) (foo))) (bar)) ? 15:37:27 krumholt__: which is wrong 15:38:01 krumholt__, you wouldn't be able to access the return value of foo afterwards. 15:39:08 <_death> it is wrong because variable names are symbols, and (gensym) is not a symbol 15:39:29 right i just tryed let will need a symbol 15:39:34 ok i got it thanks 15:39:40 Perhaps you would like a nice macro? 15:41:15 (let ((#1=#.(gensym) 10)) #1#) 15:41:26 usually, Zhivago, I would... it's just good to know that it's possible to do that stuff if I ever needed to. 15:41:41 Even wrt macros, Lisp doesn't say TOOWTDI 15:44:16 stassats`, good example thanks 15:44:49 stassats`, you got it right there :) my example had a bug 15:46:00 vithorn [i=keep@095160156230.rudaslaska.vectranet.pl] has joined #lisp 15:50:25 -!- bad_alloc [n=marvin@HSI-KBW-078-042-139-239.hsi3.kabel-badenwuerttemberg.de] has quit ["Connection reset by beer."] 15:52:02 -!- mcspiff [n=user@DC7CB.WPA.Dal.Ca] has quit [Read error: 104 (Connection reset by peer)] 15:53:22 homovitruvius [n=user@pool-71-253-26-203.pitbpa.east.verizon.net] has joined #lisp 15:55:20 asksol [n=ask@pat-tdc.opera.com] has joined #lisp 15:56:37 -!- simplechat [n=simplech@unaffiliated/simplechat] has quit [Remote closed the connection] 15:59:52 bad_alloc [n=marvin@HSI-KBW-078-042-139-239.hsi3.kabel-badenwuerttemberg.de] has joined #lisp 16:02:37 is it normal to have a declaim form inside a function? 16:02:48 I have a function where speed is critical 16:03:00 it isn't normal 16:03:18 what to do in this case? 16:03:24 <_death> declare 16:03:42 put declaim at the top-level 16:03:43 declaim is only for the toplevel 16:04:05 but it then has lots of notes for other functions 16:04:13 where I don't care much about the speed 16:05:05 what has notes? 16:05:24 you only need to put declare in the functions which are speed-critical 16:05:45 compiler notes 16:06:05 alan`` [n=alan@n219077126007.netvigator.com] has joined #lisp 16:06:16 (declare (optimize (speed 1) (debug 2) (safety 1) (space 0) (compilation-speed 0))) 16:06:22 would the above work? 16:06:39 -!- alan`` [n=alan@n219077126007.netvigator.com] has left #lisp 16:06:51 do you put it inside the function, as the first form after the parameter list? 16:07:53 merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has joined #lisp 16:08:01 yes 16:08:03 yes 16:08:07 it seems to work 16:08:33 so basically declare and declaim are similar but use in different places 16:08:55 <_death> yes 16:09:30 thank you 16:09:41 now it is time to remove notes ;) 16:11:53 Can I write an inline function like this? 16:12:02 madnificent [n=madnific@83.101.62.132] has joined #lisp 16:12:16 never mind, that was stupid 16:12:18 declaim/proclaim are global, right? 16:12:23 declare is local. 16:12:49 you can make a local declare span multiple functions, though, using a 'locally form 16:12:57 rread [n=rread@192.18.41.196] has joined #lisp 16:13:48 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 16:16:53 carbocalm [n=user@75-119-234-173.dsl.teksavvy.com] has joined #lisp 16:17:19 -!- elliotstern [n=chatzill@cpe-67-240-160-45.rochester.res.rr.com] has quit [Read error: 110 (Connection timed out)] 16:19:29 hsuh [n=user@187.36.13.33] has joined #lisp 16:20:17 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 16:20:38 -!- bad_alloc [n=marvin@HSI-KBW-078-042-139-239.hsi3.kabel-badenwuerttemberg.de] has quit ["You shoot yourself in somebody else's foot."] 16:20:51 I got a warning like this 16:20:54 ; Asserted type DOUBLE-FLOAT conflicts with derived type (VALUES NULL &OPTIONAL). 16:21:02 any idea what might be the cause of it? 16:21:42 without the code, no 16:23:15 i can produce an example with such a warning: (let (float) (declare (double-float float)) float) 16:23:30 ruediger [n=ruediger@62-47-142-120.adsl.highway.telekom.at] has joined #lisp 16:24:52 -!- SandGorgon [n=OmNomNom@122.162.152.143] has quit [Read error: 110 (Connection timed out)] 16:26:08 optikalmouse [n=user@bas1-toronto10-1279558813.dsl.bell.ca] has joined #lisp 16:26:13 stassats`: yes, that is the cause 16:26:21 how to get rid of it? 16:26:33 (let ((float 0d0)) ...) 16:26:52 initial values 16:26:55 ok thanks 16:27:29 or (declare ((or null double-float) float)) 16:27:53 Swords2 [n=kohii@pool-71-112-23-110.sttlwa.dsl-w.verizon.net] has joined #lisp 16:28:02 -!- carbocalm [n=user@75-119-234-173.dsl.teksavvy.com] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 16:28:11 the speed increase from 17.6sec to 3.3 sec, not bad 16:30:28 with your declare form, it is 6.6sec 16:30:36 -!- madnificent [n=madnific@83.101.62.132] has quit [Read error: 110 (Connection timed out)] 16:31:16 into the rabbit hole of optimisation. 16:31:25 Fade: hehe 16:31:32 Fade: i just came out of that after spending 2 weeks there 16:32:22 -!- Reav_ [n=Reaver@h15a2.n2.ips.mtn.co.ug] has quit [Read error: 60 (Operation timed out)] 16:32:44 only 2 weeks? that's nothing 16:32:45 stassats`: it is not the form, it is the inital values that double the speed 16:33:21 not the what form? 16:33:30 stassats`: the declare form 16:34:00 -!- sepult [n=user@xdsl-87-78-24-73.netcologne.de] has quit [Remote closed the connection] 16:34:06 I translate the erf erfc etc. functions from fortran and it seems the code becomes longer in lisp 16:34:29 -!- pstickne [n=pstickne@c-24-21-76-57.hsd1.wa.comcast.net] has quit [Read error: 110 (Connection timed out)] 16:34:44 the lisp form, or the machine form? 16:34:57 sepult [n=user@xdsl-87-78-24-73.netcologne.de] has joined #lisp 16:35:01 -!- jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 16:35:02 the lisp form 16:35:05 highly optimised lisp is going to look a bit weird. 16:35:12 ;) 16:35:14 -!- optikalmouse [n=user@bas1-toronto10-1279558813.dsl.bell.ca] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 16:35:17 leo2007: translating code without changing its form to follow the strengths of the target language is rarely a good idea 16:35:27 but I'm happy with the speed 16:35:40 sbcl is a pretty good compiler. 16:35:44 run the erf 10 m times and it takes about 3.3 seconds 16:35:48 but why do you need to translate from fortran to lisp in the first place 16:36:01 -!- sepult [n=user@xdsl-87-78-24-73.netcologne.de] has quit [Remote closed the connection] 16:36:04 what do you do in this case? 16:36:17 I don't know how to use cffi yet 16:36:23 ah 16:36:39 I am learning while using it for a real project 16:36:45 learning cffi may be easier than rewriting your code - but your milage may vary 16:36:56 I dunno about you, but I'd much rather native lisp funcs than cffi calls to some intractable foreign funcs. 16:36:56 +l 16:37:03 where possible. 16:37:07 and macosx does not have a fortran compiler so 16:37:15 leo2007: of course it does 16:37:19 GCC has a fortran backend. 16:37:31 i mean from apple 16:37:40 i know I can install it 16:37:53 it doesn't have lisp from apple either 16:38:06 anymore 16:38:14 RIP Dylan? 16:38:22 ;) 16:38:24 cffi/uffi is a pain in the ass 16:38:31 I consider it a last resort. :) 16:38:51 for easy enough functions it looks quite straightforward. 16:39:00 sepult [n=user@xdsl-87-78-24-73.netcologne.de] has joined #lisp 16:39:03 Fade: you may have a point there - rewriting code is always a good idea (tm( 16:39:06 it's straight forward until it's not. 16:39:07 by the way, anyone here knows what is the equivalent of aint function in fortran 16:39:13 I use truncate 16:39:19 I'm no fan of NIH syndrome either. 16:39:22 what does it do? 16:39:23 but now sure if they do the same thing 16:39:25 cornucopic [n=r00t@115.184.165.115] has joined #lisp 16:39:26 Fade: nih? 16:39:34 nit invented here 16:39:35 not invented here 16:39:38 er s/nit/not 16:39:43 heh 16:39:56 Fade: quality/speed trade-off 16:40:14 stassats`: how is that a tradeoff 16:40:22 -!- sepult [n=user@xdsl-87-78-24-73.netcologne.de] has quit [Remote closed the connection] 16:40:26 speed may be one characteristic of quality 16:40:40 good, fast, cheap. you can have two. 16:40:54 HET2: see, Fade produced slightly incorrect result, but faster 16:40:55 Fade: good what 16:41:29 :) 16:42:06 sepult [n=user@xdsl-87-78-24-73.netcologne.de] has joined #lisp 16:42:19 in the meantime, i'm translating python code into lisp 16:42:31 i've been doing that for most of the week. 16:43:03 that way i'll be able to understand how it works 16:43:17 you shouldn't have to read code to understand how it works 16:43:18 *Fade* chuckles 16:43:26 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 16:43:38 -!- sepult [n=user@xdsl-87-78-24-73.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 16:44:05 if you need to understand how it works then it probably doesn't work well and you might as well start from scratch 16:44:07 i have to iterate over the array if i want a unique object for each element, right? 16:44:22 that's totally bogus. 16:44:44 Fade: which 16:44:49 HET2: no, that's because i don't understand python and its list comprehensions 16:44:52 re understanding. 16:45:12 list comprehensions are syntax to work around python's broken lambda. 16:45:23 they're identical to the haskell variant in-context. 16:45:24 ramus`, what do you mean? you probably do, though. 16:45:41 what's broken about python's lambda 16:45:50 although you could use :initial-contents in make-array, but then you'd need to have a list ready ahead of time. 16:45:56 it's limited to one expression 16:45:56 frodef [n=ffj@24.80-203-67.nextgentel.com] has joined #lisp 16:46:01 by that, i mean (make-instance...) in :initial-element won't generate a new one for each element 16:46:05 hmm, that'll work too 16:46:21 i just did (let ((board (make-array '(9 9)))) (map-into (make-array 81 :displaced-to board) (lambda () (copy-seq *digits*))) board) 16:46:35 you could use a (loop repeat N collect (make-instance ...)) with the :initial-contents arg 16:46:37 http://math.andrej.com/2009/04/09/pythons-lambda-is-broken/ 16:47:16 thanks Adlai 16:47:21 no problem :) 16:47:43 the limitations of lambda in python are well explored. google will show you, if you're actually interested. 16:47:51 ramus`: is that a vector? 16:48:08 no, 2-dimensional array 16:48:31 so two loops will do the job (unless you have something else) 16:48:39 ramus`: what i pasted is for 2-dimensional 16:48:42 <_3b> Fade: isn't that just the for only creating 1 binding? 16:48:47 for 1-dimensional it looks nicer 16:48:51 oh, hmm 16:49:09 ramus`, just make a 2-dim s-exp 16:49:59 or, I guess you could use stassats thing... I don't know much about displaced arrays. 16:50:09 _3b: in that example, yeah 16:50:11 yeah, i'm trying to understand it 16:50:15 Fade: i do not agree with this breakage 16:50:31 what I think stassats` was doing is creating an 81 element array in which each element corresponds to an element in the 9x9 array 16:50:35 python's lambda sucks 16:50:38 corresponds as in is EQ to that element 16:50:42 Fade: quite obviously i is outside the lexical scope of the lambdas - of course it will change for all lambdas when it changes 16:51:02 lambda is a redheaded step child in python. 16:51:03 that's what the ": displaced-to board" does 16:51:03 Fade: doesn't python's lambda also accept only a single arg? 16:51:15 and the body is limited to only one line? 16:51:15 sykopomp: yes, and it can only be one expression 16:51:16 -!- xan is now known as xan-afk 16:51:20 yeah 16:51:21 oh, one -expression- 16:51:23 funderful- 16:51:25 Adlai: right, something like that semantically 16:51:33 one argument, one expression?! 16:51:33 sykopomp: body's one expression, but I thought you were allowed multiple params 16:52:22 what else do you need? 16:52:26 stassats`, the only time I ever tried using displaced arrays was in trying to create an array which contained an existing array... that failed :( 16:52:37 guido has waffled between removing it from the language and not, for years. 16:52:47 stassats`, in Lisp, a lambda can be anything that a function/macro body can. 16:52:57 (although usually they're used like functions) 16:53:00 when list comprehensions entered python, it really looked like lambda was going to grip the dodo 16:53:23 stassats`: lambda loses its usefulness for building things on -top- of it, when it's broken like this. 16:53:40 <_death> Adlai: when are they not used like functions? 16:53:51 also, the closure is read-only in Python IIRC. 16:53:58 I used one once to generate code 16:53:59 that it be 16:54:06 it was basically a poor-man's local macro 16:54:10 i should've used macrolet 16:54:20 <_death> Adlai: please elaborate 16:54:41 warning: noob mistake ahead... 16:54:50 (lambda x: (lambda y: x + y))(2)(3) two arguments 16:54:53 I had a lambda which spliced its arguments into a bit of code 16:55:19 it actually wasn't getting evaluated directly 16:55:42 stassats`: ugh 16:55:49 i think i was using it to build an alist? dunno, it was some idiocy from a few months ago 16:56:17 heh 16:57:38 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 16:57:57 <_death> Adlai: lambda is just a macro that expands to (function (lambda ...)) that, when evaluated, results in a function 16:57:58 I still use python for most of my system integration logic, but we're moving toward lisp for pretty much everything else. 16:58:26 _death, I may be a n00b, but I think I know what a lambda is... 16:58:46 and that macro is a CL addition to the symbol 'lambda 16:59:10 lambda itself (aside from the lambda calculus) is just the symbol that JMC chose to use to denote a function 16:59:27 after working in lisp for so many months, going back to python in the old emacs causes a flurry of comedic syntactic errors. 16:59:28 <_death> Adlai: so "lambdas" don't play the same role as macros 16:59:43 <_death> in any case 16:59:46 _death, I know. That's why I've said that what I made was a stupid noob mistake. 17:00:01 i guess it doesn't help that I have '[' and '] 17:00:03 ' 17:00:10 rebound to the parens in my slime. 17:00:24 lemonodor [n=lemonodo@adsl-76-208-141-119.dsl.lsan03.sbcglobal.net] has joined #lisp 17:00:25 *stassats`* recently wanted to write something in C, each time i wanted to write a function a made (def^H^H^H^Hint ... 17:00:37 heh 17:00:39 yeah 17:01:02 I get gripped by this .oO(TOO.MUCH.PUNCTUATION) feeling. 17:02:59 also, I end up pining for a python equivalent of slime. 17:03:05 it'd be worse in C or C++ 17:05:03 hober [n=ted@unaffiliated/hober] has joined #lisp 17:05:51 -!- segv__ is now known as segv 17:08:10 -!- lde [n=user@184-dzi-2.acn.waw.pl] has quit [Read error: 110 (Connection timed out)] 17:09:17 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 17:09:41 ruediger_ [n=ruediger@62-47-139-35.adsl.highway.telekom.at] has joined #lisp 17:10:17 -!- illuminati1113 [n=user@pool-71-114-64-62.washdc.dsl-w.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 17:10:32 illuminati1113 [n=user@pool-71-114-64-62.washdc.dsl-w.verizon.net] has joined #lisp 17:13:28 sepult [n=user@xdsl-87-78-24-73.netcologne.de] has joined #lisp 17:14:08 -!- ruediger [n=ruediger@62-47-142-120.adsl.highway.telekom.at] has quit [Read error: 60 (Operation timed out)] 17:14:57 Ash [n=aaron@outofband.org] has joined #lisp 17:15:28 jmbr [n=jmbr@222.32.220.87.dynamic.jazztel.es] has joined #lisp 17:15:59 -!- myrkraverk [n=johann@unaffiliated/myrkraverk] has quit ["Leaving"] 17:23:48 ical [n=melayu@125.162.68.237] has joined #lisp 17:24:43 -!- ical [n=melayu@125.162.68.237] has left #lisp 17:32:43 Another CLOS question: does the presence or absence of &key parameters affect the order of the method combination? 17:33:03 <_death> no 17:33:39 what if two methods are specified, 17:33:48 with the same lambda list, except that one also has a keyword argument 17:33:58 and the keyword argument is given in the call 17:34:05 is there any way of knowing which method would get called first? 17:34:06 <_death> they have to have congruent lambda lists 17:34:19 what do you mean? 17:34:35 they both have &allow-other-keys 17:34:46 so one can have &key params that the other doesn't 17:35:52 <_death> what makes you think the order should somehow be affected? 17:36:00 -!- vithorn [i=keep@095160156230.rudaslaska.vectranet.pl] has quit [Read error: 104 (Connection reset by peer)] 17:36:00 antoni [n=user@253.pool85-53-35.dynamic.orange.es] has joined #lisp 17:36:10 because the second one has a more specific lambda list 17:38:13 <_death> with the standard method combination, the methods are ordered according to the required parameters, the only parameters that can be specialized 17:39:12 hm 17:39:31 actually, I think I've come up with a clever hack to get around the problem. 17:39:47 I can abstract out the first parameter 17:40:25 so I abstract it in the method which I want less specific, and specify it in the method which I want more specific 17:41:11 milanj [n=milan@91.150.119.155] has joined #lisp 17:41:24 <_death> (specialized upon) 17:42:14 -!- dreish [n=dreish@minus.dreish.org] has quit [] 17:46:09 the_real_seejay [n=seejay@202.69.200.5] has joined #lisp 17:48:35 seejay_ [n=seejay@202.69.200.5] has joined #lisp 17:49:04 [Blay] [n=blaay@BSN-143-124-165.dial-up.dsl.siol.net] has joined #lisp 17:49:46 -!- seejay [n=seejay@unaffiliated/seejay] has quit [Nick collision from services.] 17:49:53 -!- seejay_ is now known as seejay 17:50:38 -!- milanj- [n=milan@212.200.193.81] has quit [Read error: 110 (Connection timed out)] 17:50:58 where ASDF is looking for files, when I use asdf:load-op? Is it /usr/lib/sbcl/asdf ? 17:51:33 mrSpec: asdf:*central-registry* 17:52:06 is it function ? 17:53:02 ah ok, got it;) 17:53:35 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 17:55:01 -!- the_real_seejay [n=seejay@202.69.200.5] has quit [Read error: 60 (Operation timed out)] 17:55:16 -!- Harag1 [n=phil@wbs-196-2-98-168.wbs.co.za] has left #lisp 17:55:30 -!- antoni [n=user@253.pool85-53-35.dynamic.orange.es] has quit [Remote closed the connection] 17:59:19 elliotstern [n=chatzill@cpe-74-74-202-180.rochester.res.rr.com] has joined #lisp 18:01:53 tritchey [n=tritchey@c-68-58-88-241.hsd1.in.comcast.net] has joined #lisp 18:03:08 -!- cornucopic [n=r00t@115.184.165.115] has quit [Read error: 60 (Operation timed out)] 18:05:20 saikat_ [n=saikat@98.210.13.214] has joined #lisp 18:08:20 Pb_ [n=Pb@75.131.194.186] has joined #lisp 18:08:38 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 18:08:42 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 18:09:19 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 18:09:51 -!- Elench [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 18:10:35 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit [Read error: 113 (No route to host)] 18:12:14 the_real_seejay [n=seejay@202.69.200.5] has joined #lisp 18:14:54 -!- Pb_ [n=Pb@75.131.194.186] has left #lisp 18:16:04 Davidbrcz [n=david@nsc.ciup.fr] has joined #lisp 18:16:17 -!- krumholt__ [n=krumholt@port-92-193-1-76.dynamic.qsc.de] has quit ["Leaving"] 18:16:32 milanj- [n=milan@93.87.169.196] has joined #lisp 18:16:44 seejay_ [n=seejay@202.69.200.5] has joined #lisp 18:17:38 -!- seejay [n=seejay@unaffiliated/seejay] has quit [Nick collision from services.] 18:17:46 -!- whr [i=whr@91.203.134.77] has quit [Remote closed the connection] 18:17:49 -!- seejay_ is now known as seejay 18:17:53 -!- milanj- [n=milan@93.87.169.196] has quit [Client Quit] 18:18:13 -!- elliotstern [n=chatzill@cpe-74-74-202-180.rochester.res.rr.com] has quit [Read error: 110 (Connection timed out)] 18:18:32 milanj- [n=milan@93.87.169.196] has joined #lisp 18:19:53 -!- the_real_seejay [n=seejay@202.69.200.5] has quit [Read error: 60 (Operation timed out)] 18:20:07 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 18:24:31 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 18:25:03 the_real_seejay [n=seejay@202.69.200.5] has joined #lisp 18:25:53 -!- milanj [n=milan@91.150.119.155] has quit [Read error: 110 (Connection timed out)] 18:28:42 -!- the_real_seejay [n=seejay@202.69.200.5] has quit [Client Quit] 18:29:05 Another CLOS method combination question... 18:29:11 actually, nvm. 18:29:56 benny` [n=benny@i577A2066.versanet.de] has joined #lisp 18:31:20 mrSpec_ [n=NoOne@82.177.125.6] has joined #lisp 18:32:09 -!- mrSpec [n=NoOne@82.177.125.6] has quit [Nick collision from services.] 18:32:16 -!- mrSpec_ is now known as mrSpec 18:33:06 wol_ [n=wol@67.174.222.215] has joined #lisp 18:33:10 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 18:33:34 dreish [n=dreish@minus.dreish.org] has joined #lisp 18:36:24 damn. that's very sad about Erik Naggum 18:38:58 Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 18:39:36 -!- Aankhen`` [n=heysquid@122.162.160.44] has quit ["Log this!"] 18:40:12 dlowe: what's sad? 18:40:20 BrianRice: his demise 18:40:26 whoa. how? 18:40:34 dunno 18:40:40 details are scarce 18:41:50 athos_ [n=philipp@92.250.250.68] has joined #lisp 18:41:53 -!- athos [n=philipp@92.250.250.68] has quit [Read error: 104 (Connection reset by peer)] 18:43:41 -!- benny [n=benny@i577A1CF0.versanet.de] has quit [Success] 18:44:07 -!- benny` is now known as benny 18:44:29 -!- _death [n=death@host-90-233-177-17.mobileonline.telia.com] has left #lisp 18:45:42 -!- milanj- [n=milan@93.87.169.196] has quit ["This computer has gone to sleep"] 18:46:14 -!- seejay [n=seejay@unaffiliated/seejay] has quit [Read error: 110 (Connection timed out)] 18:46:41 -!- HET2 [i=diman@xover.htu.tuwien.ac.at] has quit ["Leaving"] 18:47:05 oh :( 18:50:50 HET2 [i=diman@xover.htu.tuwien.ac.at] has joined #lisp 18:51:53 is there a neat http client library for common lisp? 18:52:31 DRAKMA 18:52:43 minion: tell HET2 about drakma 18:52:46 HET2: direct your attention towards drakma: Drakma is a fully-featured Common Lisp web client library that knows how to handle HTTP/1.1 chunking, persistent connections, re-usable sockets, SSL, continuable uploads, cookies, and other things. http://www.cliki.net/drakma 18:53:15 -!- Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has quit [] 18:53:16 thanks 18:54:15 Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 18:54:18 *tic* smells dependency nightmare. 18:54:24 -!- lemonodor [n=lemonodo@adsl-76-208-141-119.dsl.lsan03.sbcglobal.net] has quit [] 18:54:53 true, but I got past it in about 10 minutes 18:55:10 it's not a nightmare if it all works 18:55:11 -!- athos_ is now known as athos 18:55:11 'twas my first time using asdf-install, and it worked fine except for one library that I got manually. 18:55:23 What's the best way to debug a function? It runs with no error but the output is incorrect. 18:55:25 tic: thank god for asdf-install 18:55:41 leo2007: wrap print statements around any suspicious values 18:55:47 when it works. :-) 18:55:47 print will return the value 18:56:00 so the function will work the same, but print some of its values 18:56:05 hmm 18:56:24 I really miss the edebug feature in Emacs, where one can step through a function 18:56:32 No better way? 18:56:34 legumbre [n=user@r190-135-16-136.dialup.adsl.anteldata.net.uy] has joined #lisp 18:56:38 i.e. (defun debugged-* (a b) (* (print a) (print b))) 18:56:49 not sure. 18:57:04 I have a question too. 18:57:11 alan`` [n=alan@n219077126007.netvigator.com] has joined #lisp 18:57:13 <_3b> copmile with higher debug settings, and step through it in slime? 18:57:23 tic: drakma has a lot of dependencies, but they're mostly things that you'd be likely to be using anyway 18:57:25 Is there any way to get a list of all the &key parameters passed to a function? 18:57:40 this is in a function which uses &allow-other-keys 18:57:51 rsynnott, as long it's a particular version of this or the other branch, I'm good. that's usually the case. 18:57:54 and needs to pass on its keywords through an 'apply 18:57:57 and yes drakma has surprisingly many deps 18:58:01 s/that's usually the case/that happens sometimes/ 18:58:36 -!- alan`` [n=alan@n219077126007.netvigator.com] has left #lisp 18:58:58 -!- willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 18:59:15 should I just use a &rest param as well, and pass that? or is there a better way? 18:59:42 willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 18:59:52 about half its dependencies are other Edi-ware 19:01:14 Adlai: (shadow '*) (defun * (&rest args) (apply (function cl:*) args)) (load "my-source.lisp") (trace *) (run-my-program) 19:02:03 pjb, my question is the one about &key params 19:03:07 Adlai: some lag ;-) But to have the parameter printed, it's easier to use TRACE ; only you cannot TRACE functions from CL, hence the SHADOW.... 19:03:33 pjb, I don't want to print the &key parameters, I want to pass them on to another function 19:03:43 but include in those passed on, any &allow-other-keys 19:03:56 Adlai: I'm still with debugged-* 19:04:02 ok 19:04:03 how to quickly print an array for debugging? 19:04:10 (print array) 19:04:34 *Adlai* likes that 19:04:40 Adlai: there are implementation dependant ways to get the list of parameters. The only portable way is function-lambda-expression, which unfortunately may return NIL. 19:04:52 lde [n=user@184-dzi-2.acn.waw.pl] has joined #lisp 19:05:11 pjb: that outputs nothing in repl 19:05:24 Adlai: otherwise you may do the required bookkeeping yourself: http://www.informatimago.com/develop/lisp/small-cl-pgms/ibcl/ 19:05:43 pjb, that's not what I'm trying to do. 19:05:47 leo2007: that should output something to the *STANDARD-OUTPUT*. 19:06:01 this is a function which &allows-other-keys 19:06:20 I'd like to get hold of those keys, and pass them to another function 19:06:25 OH, you mean at run-time: add a &rest parameter you will get the &key parameters there too. 19:06:31 that's the only way? 19:06:34 pjb: ;) thanks 19:06:38 Adlai: That's the way, yes. 19:06:45 ok, thanks, pjb. 19:08:31 sweeet... it works. 19:09:01 antifuchs: Are you here? 19:09:25 Does it count as spaghetti code if it uses CLOS? :D 19:10:14 legumbre_ [n=user@r190-135-3-215.dialup.adsl.anteldata.net.uy] has joined #lisp 19:10:30 -!- legumbre [n=user@r190-135-16-136.dialup.adsl.anteldata.net.uy] has quit [Read error: 104 (Connection reset by peer)] 19:11:49 CLOS-heavy code can easily be worse than spaghetti code 19:12:06 different kind of pasta 19:12:21 it's actually not spaghetti code. However, it uses method combinations in a potentially confusing way. 19:12:43 the main generic function uses the append method combination 19:13:03 however, there's an around method that frobs the list of results 19:13:12 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: 110 (Connection timed out)] 19:13:24 each potential method can take some keyword arguments to modify how it works 19:13:33 That sounds bad, yes 19:13:44 and one of the methods calls out to a helper generic fn, which uses another whole set of keyword args 19:14:15 I'm not sure if it's bad, though... it all works very logically. 19:14:23 in the sense that: 19:14:28 each method does *one* thing 19:14:39 and I'm trying to keep documentation as well 19:15:31 -!- HET2 [i=diman@xover.htu.tuwien.ac.at] has quit ["This computer has gone to sleep"] 19:15:52 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 19:16:07 most of the methods also seem to follow a pattern, so I'll probably be abstracting that out... but it's time for food 19:16:33 thanks for everybody's help recently 19:16:41 jmbr_ [n=jmbr@232.32.220.87.dynamic.jazztel.es] has joined #lisp 19:17:46 -!- tritchey [n=tritchey@c-68-58-88-241.hsd1.in.comcast.net] has quit [] 19:20:41 -!- I_Like_Turtles is now known as dalton 19:23:14 -!- rread [n=rread@192.18.41.196] has quit [] 19:24:49 rstandy [n=rastandy@net-93-144-202-106.t2.dsl.vodafone.it] has joined #lisp 19:24:57 rread [n=rread@192.18.41.196] has joined #lisp 19:26:31 lemonodor [n=lemonodo@adsl-76-214-3-60.dsl.lsan03.sbcglobal.net] has joined #lisp 19:27:01 -!- asksol [n=ask@pat-tdc.opera.com] has quit ["Be back later"] 19:27:10 -!- rread [n=rread@192.18.41.196] has quit [Client Quit] 19:27:15 -!- [Blay] [n=blaay@BSN-143-124-165.dial-up.dsl.siol.net] has quit ["Leaving"] 19:27:52 -!- legumbre_ is now known as legumbre 19:29:21 argible [n=argible@c-76-98-192-104.hsd1.nj.comcast.net] has joined #lisp 19:30:34 -!- jmbr [n=jmbr@222.32.220.87.dynamic.jazztel.es] has quit [Read error: 110 (Connection timed out)] 19:32:08 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 19:32:24 Pb [n=Pb@75.131.194.186] has joined #lisp 19:32:38 HET2 [i=diman@xover.htu.tuwien.ac.at] has joined #lisp 19:34:24 -!- HET2 [i=diman@xover.htu.tuwien.ac.at] has quit [Client Quit] 19:35:46 willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 19:36:12 -!- dalton is now known as ausente 19:39:21 SandGorgon [n=OmNomNom@122.162.118.69] has joined #lisp 19:39:30 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #lisp 19:39:51 roidrage [n=roidrage@dslb-084-058-148-106.pools.arcor-ip.net] has joined #lisp 19:43:14 X-Scale2 [i=email@89.180.201.150] has joined #lisp 19:44:25 rread [n=rread@192.18.41.196] has joined #lisp 19:47:49 I want to make a function accept both single and double float input 19:48:17 float is a supertype of both single-float and double-float 19:49:25 thanks 19:50:07 -!- rread [n=rread@192.18.41.196] has quit [] 19:50:11 but the rest of the function is optimised for double-float 19:50:31 what to do in this case? 19:50:34 another option is to coerce to double-float 19:50:58 (lambda (x y) (let ((x (coerce x 'double-float)) (y (coerce y 'double-float))) ..)) 19:52:20 -!- willb2 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 19:53:13 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 19:54:19 I try to in the beginning of the body do 19:54:24 (setf p (coerce 'p 'double-float)) 19:54:40 s/'p/p/ 19:57:59 now I got 4 errors 19:57:59 -!- jmbr_ [n=jmbr@232.32.220.87.dynamic.jazztel.es] has quit [Remote closed the connection] 19:58:07 it is a tricky business 19:58:20 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 19:59:16 you'd better coerce to double-floats somewhere at the very beginning of your interface 19:59:37 and use only them throughout other parts of your code 19:59:52 leo2007: what would be the double-float value of a symbol? 20:00:19 pjb: ?? I don't understand 20:00:30 (coerce p 'double-float) 20:00:33 -!- rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has quit ["Rakista has left the planet"] 20:01:11 And it's better to use LET than SETF, because LET is a naming mechanism, not a memory mutation mechanism: the compiler may better optimize out a LET than a SETF. 20:01:24 -!- X-Scale [i=email@89-180-161-149.net.novis.pt] has quit [Read error: 110 (Connection timed out)] 20:01:33 -!- X-Scale2 is now known as X-Scale 20:02:13 i prefer LET aesthetically 20:02:23 don't quite work 20:02:32 I paste the code here 20:02:33 Yeah that's also a good reason why DO-FOO macros may better expand to tail-recursive code 20:02:36 http://pastebin.ca/1467902 20:02:45 lisppaste url 20:02:45 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 20:02:51 not here, on lisppaste! 20:03:05 it does the inverse cdf for normal distribution 20:03:30 leo2007: coerce is a function. 20:03:38 (sin (pi / 3)) 20:03:53 well, declaration can be only at the second or first place in the function 20:04:21 so you need to place COERCE after declarations 20:04:43 -!- gigamonkey [n=user@adsl-99-179-44-126.dsl.pltn13.sbcglobal.net] has quit [Read error: 60 (Operation timed out)] 20:04:59 that gets rid of the errors 20:05:13 athos [n=philipp@92.250.250.68] has joined #lisp 20:05:18 leo2007: (sin p) 20:05:36 and you can use one declare form for many declarations, like (declare (type fixnum i) (type (unsigned-byte 64) x)) etc. 20:06:21 ok, let me simplify that 20:06:44 krumholt [n=krumholt@port-92-193-1-76.dynamic.qsc.de] has joined #lisp 20:07:39 asksol [n=ask@160.217.251.212.customer.cdi.no] has joined #lisp 20:08:34 pjb: basically i want a function to accept any user input and but use double-float inside the function 20:08:57 any number 20:08:59 leo2007: we told you: (let ((p (coerce p 'double-float))) ...) 20:12:15 thanks, I misunderstood 20:13:40 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 20:14:11 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 20:14:40 MasochisticLibra [n=chatzill@c-24-2-191-235.hsd1.ct.comcast.net] has joined #lisp 20:14:59 boyscare1 [n=bm3719@c-68-32-124-6.hsd1.va.comcast.net] has joined #lisp 20:15:18 Would anyone recommend CL as a first language for a sixteen year old? O: 20:15:31 i would 20:15:41 athos [n=philipp@92.250.250.68] has joined #lisp 20:15:46 Definitely! 20:16:09 *stassats`* stared learning CL at 16 years, but not as the first language 20:16:13 If only CL had been my first PL, I'd bet I'd be billionaire by now. :-) 20:16:17 MasochisticLibra: I'd start with SICP which uses a subset of Lisp. 20:17:30 no, no; traditionally 16 year olds are required to learn BASIC, on a BBC Micro or regional equivalent :) 20:17:58 tcr: I've glanced at SICP, but it seemed to fly over my head 20:18:36 MasochisticLibra: it goes with videos of the courses... 20:20:40 -!- segv [n=mb@p4FC1C65A.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 20:21:11 segv [n=mb@p4FC1CD0F.dip.t-dialin.net] has joined #lisp 20:21:34 pjb: So, it would be better to learn Scheme with SICP than online CL tuts? 20:21:59 MasochisticLibra: sicp IS NOT about scheme. 20:22:02 cinayakoshka [n=bar@adaptive.cs.unm.edu] has joined #lisp 20:22:37 http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages http://eli.thegreenplace.net/category/programming/lisp/sicp/ 20:23:44 has anyone gotten GSSL to work on Ubuntu 9.04? 20:24:00 -!- homovitruvius [n=user@pool-71-253-26-203.pitbpa.east.verizon.net] has quit [Connection timed out] 20:25:13 -!- boyscared [n=bm3719@c-68-32-124-6.hsd1.va.comcast.net] has quit [Read error: 110 (Connection timed out)] 20:25:48 -!- SandGorgon [n=OmNomNom@122.162.118.69] has quit [Read error: 110 (Connection timed out)] 20:26:00 wow, this is a lively channel... 20:26:20 -!- [Head|Rest] [n=win7@217.149.190.112] has quit [Read error: 110 (Connection timed out)] 20:26:22 my peers say that lisp is useless. 20:26:27 jthing [n=jthing@165.244.251.212.customer.cdi.no] has joined #lisp 20:26:28 I don't use ubunto, and don't know what GSSL is. 20:26:36 thanks 20:26:59 oh, well, be very careful of believing what PEOPLE say :) 20:27:03 gssl is the gnu scientific library for lisp 20:27:21 I do not wish to learn to use matlab, so I'm looking for a lisp alternative for linear algebra. 20:27:30 And what problem could there be specifically on ubuntu? 20:27:46 I'm getting an error... (will fetch) 20:27:48 maxima could be an alternative to matlab, no? 20:28:12 p_l [n=plasek@pp82.internetdsl.tpnet.pl] has joined #lisp 20:29:07 Have you heard that Erik Naggum is dead? 20:29:12 -!- rstandy [n=rastandy@net-93-144-202-106.t2.dsl.vodafone.it] has quit [Read error: 110 (Connection timed out)] 20:29:24 jthing: no, I read it on cll and redit. 20:29:42 ;; Loaded file /var/cache/common-lisp-controller/1000/clisp/local/src/cffi-net/cffi-grovel.fas 20:29:42 0 errors, 0 warnings 20:29:42 *** - READ from 20:29:42 # #P"/home/bar/.clc/systems/fsbv.asd" @20> 20:29:43 : # has no external symbol with name "GROVEL-FILE" 20:29:45 The following restarts are available: 20:30:12 pjb: Thank you, I was completely unaware of CL with SICP. 20:30:37 sure, I can try maxima. 20:30:45 cinayakoshka: cffi-net ??? 20:30:52 MasochisticLibra: that said, knowing both scheme, emacs lisp and Common Lisp is a good thing in the general culture of any lisper. 20:31:18 cinayakoshka: perhaps the problem come from common-lisp-controller, it's not regarded highly in general. 20:31:34 any suggestions? 20:31:36 minion: tell cinayakoshka about clbuild 20:31:37 cinayakoshka: have a look at clbuild: clbuild [common-lisp.net] is a shell script helping with the download, compilation, and invocation of Common Lisp applications. http://www.cliki.net/clbuild 20:31:49 thank you. I'll try it. 20:31:54 cinayakoshka: remove cffi-net from your system 20:31:58 okay. 20:32:33 cffi-grovel has been a part of cffi for nearly two years now 20:34:21 -!- jthing [n=jthing@165.244.251.212.customer.cdi.no] has quit [Remote closed the connection] 20:35:21 jthing [n=jthing@165.244.251.212.customer.cdi.no] has joined #lisp 20:41:42 -!- willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has quit [Read error: 104 (Connection reset by peer)] 20:42:12 willb1 [n=wibenton@173-18-243-255.client.mchsi.com] has joined #lisp 20:45:48 laynor [n=laynor@93.107.153.7] has joined #lisp 20:46:02 -!- p_l is now known as p_l|backup 20:47:57 -!- Pb [n=Pb@75.131.194.186] has quit ["Leaving"] 20:53:00 -!- MasochisticLibra [n=chatzill@c-24-2-191-235.hsd1.ct.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 20:54:56 -!- Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has quit [] 20:55:57 Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 20:58:24 -!- ausente is now known as I_Like_Turtles 21:02:10 -!- laynor_ [n=laynor@93.107.18.112] has quit [Read error: 110 (Connection timed out)] 21:04:04 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 21:05:11 SandGorgon [n=OmNomNom@122.162.118.69] has joined #lisp 21:07:18 krumholt_ [n=krumholt@port-92-193-111-173.dynamic.qsc.de] has joined #lisp 21:07:56 -!- krumholt [n=krumholt@port-92-193-1-76.dynamic.qsc.de] has quit [Read error: 60 (Operation timed out)] 21:08:36 -!- ziarkaen [n=ziarkaen@87.115.20.62.plusnet.pcl-ag01.dyn.plus.net] has quit [Remote closed the connection] 21:09:12 Jacob_H [n=jacob@92.3.201.109] has joined #lisp 21:14:36 Anyone who wants to try my symbols-have-source-paths patch? 21:14:42 It's here: http://common-lisp.net/~trittweiler/sbcl-patches/symbols-have-source-paths/ 21:14:46 MDXRL [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has joined #lisp 21:14:53 i'll try 21:15:00 )_0 21:15:26 It's basically what I'm going to submit, the only thing it misses are test cases for the suite 21:15:59 -!- slyrus_ [n=slyrus@adsl-75-36-213-9.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 21:18:34 Hi. 21:18:37 0_0 21:18:39 Hi thur. 21:18:45 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 21:19:42 tritchey [n=tritchey@c-68-58-88-241.hsd1.in.comcast.net] has joined #lisp 21:20:24 stassats`: I know that (let* ((quux quux)) ...) does not yet yield optimal results, but fixing that would need some serious refactoring, so I didn't do that 21:21:31 compiling sbcl 21:21:44 likewise for &key ((:foo bar) 42), where BAR isn't used 21:22:34 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 21:31:31 tcr: seems to work so far, nice 21:32:30 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #lisp 21:33:15 Right, just use it and watch for notes getting highlighted awkwardly (hasn't happened to me yet, but who knows) 21:34:32 MDXRL1 [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has joined #lisp 21:35:06 hmm, i get lots of "deleting unreachable code" on format control strings 21:37:08 *stassats`* builds clean sbcl 21:37:44 -!- SandGorgon [n=OmNomNom@122.162.118.69] has quit [Read error: 110 (Connection timed out)] 21:37:47 Yay, finally! a use case for M-x slime-format-string-expand 21:38:35 there's ... what? 21:39:17 what does that do? 21:39:28 how coool 21:39:33 Fade: try it 21:39:57 unfortunately sbcl's format-compiler does not create human-readably output 21:40:15 *stassats`* figured that 21:40:18 antifuchs: Does your boinkmarks include benchmarks of compilation times? 21:40:43 the COMPILER benchmark might measure compilation time 21:40:51 oh, do you mean bootstrap time of sbcl itself? 21:41:02 if so, no, doesn't measure that. 21:41:19 (the CLOS benchmarks are mostly compiler benchmarks as well) 21:41:38 Well I'd like to now in how far my patches above penalize compilation time 21:41:56 -!- kroger [n=user@adsl-76-220-207-125.dsl.pltn13.sbcglobal.net] has quit [Remote closed the connection] 21:41:57 Did you see the link? (check it out, screenshots included) 21:42:35 MDXRL2 [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has joined #lisp 21:43:10 but yeah it seems like there's something fishy with format control strings... this results in many more "deleting unreachable code" notes, which of course reduce compilation time, so it's not fair to benchmark now 21:43:57 -!- thomas001 [n=thomas@p5B0F7CCA.dip.t-dialin.net] has quit [Remote closed the connection] 21:44:33 milanj [n=milan@79.101.204.17] has joined #lisp 21:45:42 TDT [n=dthole@63.254.110.204] has joined #lisp 21:46:25 oh, ldb, wrong customize-target-features.lisp 21:47:11 I'm working with streams a bit more, and asked a bit about it but something still bugs me a bit about them. If I use (make-string-output-stream) to create the output stream, is there a way to create an input stream, based off that stream? Well..getting a bit confused on it is maybe all. 21:48:18 madnificent [n=madnific@83.101.62.132] has joined #lisp 21:49:33 -!- djkthx_ [n=yacin@glug.id.iit.edu] has quit ["leaving"] 21:50:09 http://paste.lisp.org/display/82194 <-- this is the general idea of what I want to accomplish, well..kinda, this doesn't work - but the value of "in" is what I'm having a hard time trying to deal with. 21:50:13 djkthx [n=yacin@glug.id.iit.edu] has joined #lisp 21:50:57 -!- milanj [n=milan@79.101.204.17] has quit ["This computer has gone to sleep"] 21:51:29 ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 21:51:59 -!- Nshag [i=user@Mix-Orleans-106-1-58.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 21:52:08 -!- ikki [n=ikki@189.139.132.197] has quit [Read error: 113 (No route to host)] 21:52:52 -!- rjack [n=rjack@adsl-ull-244-40.51-151.net24.it] has quit ["leaving"] 21:53:09 rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has joined #lisp 21:53:31 -!- rakista [n=rakista@c-71-59-128-255.hsd1.wa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 21:53:46 The basis where all this is going is to try and stub out the way that sb-ext:process-input and sb-ext:process-output works, which is what I'm using to try and interpret git operations. 21:53:59 -!- MDXRL1 [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 21:54:22 -!- MDXRL [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 22:01:51 -!- TDT [n=dthole@63.254.110.204] has quit ["heading home"] 22:03:16 -!- Ginei_Morioka [i=irssi_lo@78.112.47.46] has quit [Nick collision from services.] 22:03:24 Ginei_Morioka [i=irssi_lo@78.114.189.156] has joined #lisp 22:06:02 Bigshot_ [n=BIG_SHOT@CPE002129abc864-CM001ac35cd4d0.cpe.net.cable.rogers.com] has joined #lisp 22:06:06 stassats`: Ok I know how that regression comes about. I'll try to think of a fix tomorrow. 22:06:07 -!- MDXRL2 [n=MDXRL@75-145-98-146-Memphis.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 22:06:24 rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 22:06:40 why does expression "inside" of s-expression doesn't get bold? i tried many color-themes 22:06:46 i mean the keywords 22:06:58 s/expression/keywords 22:07:48 -!- rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Client Quit] 22:08:07 M-x customize-face RET font-lock-keyword-face RET 22:08:45 rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 22:09:14 -!- I_Like_Turtles [n=user7994@187.34.41.243] has quit ["eject (for infinit and beyond)"] 22:09:32 no, that's for another keywords 22:09:44 then? 22:09:57 I_Like_Turtles [n=user7994@187.34.41.243] has joined #lisp 22:10:02 only defun and function name gets "bold" all other are plain text :( 22:10:21 :| 22:10:41 you wont :keywords, right? 22:10:47 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"] 22:10:51 yeah like setq numberp etc 22:11:10 well, that's not keywords 22:11:20 in a lisp sense 22:11:21 functions 22:11:46 -!- rdd [n=user@c83-250-157-93.bredband.comhem.se] has quit [Remote closed the connection] 22:12:29 that's not very easy task 22:14:31 let's do it 22:15:09 vim does it. 22:15:13 let's pretend you don't really want it 22:15:20 for the ANSI CL at least. 22:15:25 (predefined) 22:15:51 because for it to be right, you need at least a code-walker 22:16:22 How about bolding the first word in every form (unless it's, say quoted)? 22:16:33 Would that be useless? 22:16:49 (let ((list ...))); bold list? 22:17:05 it's not like emacs gets it right 22:17:13 try (let ((cond (make-condition ...))) ...) 22:17:44 stassats`: I think I'd find that better than lots of plain text being served now. 22:18:55 i should experiment and highlight only comments and strings 22:19:47 and maybe keyword symbols too 22:19:53 On a side not  it really surprises me that emacs does not colorize whole comments, but only the preceding semicolons. 22:19:58 note* 22:20:08 This seems pretty dumb. 22:20:16 well, it does highlight them for me 22:20:35 perhaps, you configured it to do so 22:20:48 never heard anything like that 22:21:06 Not, unless I'm a lunatic. :) 22:21:29 try with emacs -q 22:21:33 TDT [n=TDT@126.91.248.216.dyn.southslope.net] has joined #lisp 22:22:09 -!- boyscare1 [n=bm3719@c-68-32-124-6.hsd1.va.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 22:22:21 boyscared [n=bm3719@c-68-32-124-6.hsd1.va.comcast.net] has joined #lisp 22:22:22 If this shouldn't happen by default, than that's OK. I'll sort that out. 22:22:44 woot is what i want possible? 22:23:01 I also never saw such behaviour 22:23:13 slash_ [n=Unknown@whgeh0138.cip.uni-regensburg.de] has joined #lisp 22:23:20 Bigshot_: http://common-lisp.net/~trittweiler/home-package-viewer-hack.png 22:23:23 Bigshot_: suboptimal variant is very easy to achieve 22:23:51 Bigshot_: all symbols are highlighted according to their home-package. In this case, symbols in :CL are colored blue 22:24:36 nice 22:24:42 how to i make this happen? 22:24:51 s/to/do 22:25:10 Hack Slime, alternatively give me incentive to do it for you 22:25:19 tcr: NEAT 22:27:20 S11001001: I used it to make sbcl's reader reside in its own package. Had to fish out symbols. (In retrospect it would have been easier if the hack just colorized all inherited symbols differently) 22:28:03 It's not on the screenshot, but if you hovered over a symbol it would display its home-package 22:29:01 alternatively, you can adjust lisp-font-lock-keywords 22:29:40 -!- Davidbrcz [n=david@nsc.ciup.fr] has quit ["Ex-Chat"] 22:30:40 i need paredit for this? 22:31:13 -!- rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 22:31:22 sytse [i=sytse@speedy.student.utwente.nl] has joined #lisp 22:31:35 umm, say. 22:31:44 I just tried (disassemble sb-impl::backq-cons) 22:32:15 is it normal for an alias to be 279 bytes of code? :S 22:32:20 perhaps you meant (disassemble #'sb-impl::backq-cons) 22:32:25 uh, indeed 22:32:28 I did that 22:32:46 alias? 22:33:01 (it's supposed to be just an alias for cons, dates back to the cmucl times) 22:33:08 backq-cons is an alias for cons, it's just there to be recognizable different from cons 22:33:17 for the pretty-printer 22:33:20 apparently helps pretty printing back-quoted lists 22:33:25 BUT. 22:33:34 -!- gemelen [n=shelta@shpd-78-36-167-108.static.vologda.ru] has quit ["I wish the toaster to be happy, too."] 22:33:35 it's also extremely large, and still calls cons itself 22:33:42 tcr: So how do you get that colouring as seen on your screenshot? I find it very readable. 22:34:05 even though it has truly-dynamic-extent declared on its &rest argument 22:34:11 sytse: arguments parsing? 22:34:19 maybe &rest is just very inefficient on sbcl? 22:34:24 Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has joined #lisp 22:34:43 antoszka: That was a one-time hack. I could add it to slime, but I have no incentive at the moment 22:34:44 (defined in src/code/backq.lisp btw) 22:35:42 tcr: Right. And what's the general color theme you're using (not counting the sweet hack)? 22:35:58 If you don't mind sharing that knowledge :) 22:36:06 antoszka: Ah, color-theme-hober2.el. 22:36:20 thx 22:36:44 it's not in the color-theme suite, you have to get it from the intertubes manually 22:37:06 some idiot apparently thought it would be nice to have all these aliases in backq.lisp defined in one run with a macro... but forgot that &rest is terribly inefficient 22:37:07 Bigshot__ [n=BIG_SHOT@CPE002129abc864-CM001ac35cd4d0.cpe.net.cable.rogers.com] has joined #lisp 22:37:15 https://rgrjr.dyndns.org/svn/kea-cl/trunk/backq.lisp <-- this version is *MUCH* better 22:37:34 *stassats`* recently switched to the almost default Emacs colour-theme 22:38:14 (results in exactly the same code as cons itself, though the code is copied which shouldn't be necessary imho) 22:38:54 tcr: Yep, just googled that out. 22:39:21 hey tcr can you tell me man how to do it? 22:39:57 what to do what? 22:40:10 oh btw, if the idiot who implemented the 'def' macrolet in backq.lisp is sitting here on irc, sorry for calling you an idiot ;-) 22:40:39 send a patch, if you aren't satisfied 22:40:43 tcr to highligh the function names in lisp 22:40:51 s/highligh/t 22:41:09 stassats`: indeed.. 22:42:43 Bigshot_: Read 23.6 (Font-Lock-Mode) of the Elisp manual 22:44:48 -!- dto [n=user@98.118.1.212] has quit [Remote closed the connection] 22:45:21 Jasko [n=tjasko@c-98-235-105-148.hsd1.pa.comcast.net] has joined #lisp 22:46:13 -!- ruediger_ [n=ruediger@62-47-139-35.adsl.highway.telekom.at] has quit ["Leaving"] 22:47:40 It's something like (font-lock-add-keywords 'lisp-mode '(("(\\(\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face))) 22:47:51 but you'll hate it 22:48:03 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 22:49:50 tcr where can i set Level-3 in font-lock-keywords? 22:49:50 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 22:50:25 where is this "font-lock-keywords"? 22:50:38 so that i can set level 3 22:50:45 tcoppi: <3 hober 22:51:26 spreading gossips, aren't you? 22:51:50 -!- Bigshot_ [n=BIG_SHOT@CPE002129abc864-CM001ac35cd4d0.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 22:53:24 -!- Jacob_H [n=jacob@92.3.201.109] has quit [Remote closed the connection] 22:54:05 hi, is there an easier/better way to map a function across a list while passing the element and it's index to the function? http://paste.lisp.org/display/82199 22:55:08 (loop for element in list for index from 0 do (print (list element index))) 22:55:25 stassats`: thanks for the help. clbuild is great. I am pleased to have gsll up and running in slime. :) 22:55:44 cinayakoshka: great, thanks to the authors of clbuild 22:55:51 stassats`: hm okay, not without loop though? 22:55:59 no kidding. lovely little program that. 22:56:13 egn: why? 22:56:57 (let ((index -1)) (mapc (lambda (element) (print (list element (icnf index)))) list)) 22:56:57 wedgeV [n=wedge@cm56-238-229.liwest.at] has joined #lisp 22:57:01 stassats`: dunno, I like the maps 22:57:01 k 22:57:11 thanks 22:58:08 sometimes they aren't the best tool 22:58:13 yeah 22:58:18 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #lisp 22:58:21 can't that be said about everything? 22:58:23 I guess I'm just used to them 22:58:55 or (let ((index -1)) (dolist (elt list) (print (list elt (incf index))))) 23:02:11 egn: maps are pretty awful for some tasks. 23:03:06 tcr isn't there ready made file out there that i can feed to this emacs so that it highlights the keywords? 23:03:11 like opening beer bottles, that's what lighters are for 23:03:28 ah sykopomp 23:03:35 uh oh 23:03:44 what's up?... 23:03:53 i am trying to highlight the keywords 23:03:54 antoni [n=user@188.pool85-53-1.dynamic.orange.es] has joined #lisp 23:03:54 Bigshot__: tcr has left this channel 23:04:09 e.g setq numberp etc 23:04:28 tyg13 [n=tyg13@ip68-9-205-46.ri.ri.cox.net] has joined #lisp 23:04:37 What is a good lisp compiler for linux? 23:04:47 sbcl 23:04:55 sykopomp: is there a ready made file i can use to do that? 23:04:57 tyg13: sbcl, clozure cl, and clisp are all alright. 23:05:07 clisp maybe not as much, but it's fine too. 23:05:16 Bigshot__: not that I know. 23:05:22 Any specific tuts? 23:05:29 don't you want all your lisp code highlighted sykopomp? 23:05:31 minion: pcl? 23:05:32 Or do I have to do that myself :D 23:05:33 pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 23:05:35 tyg13: for getting started with lisp? 23:05:37 Yeah 23:05:47 up there. Good book. ^^^^ 23:06:13 And is emacs really all that better for writing lisp or is that just editor evangelism?> 23:06:19 s/?>/? 23:06:24 it is indeed 23:06:30 tyg13: emacs has SLIME, which is actually a very very good IDE for lisp. 23:06:44 it is better than anything apart from a lisp machine 23:06:44 I'll get started. 23:06:47 Thanks :D 23:06:48 it's not really anything inherent in emacs, imo, but slime is for emacs :) 23:07:04 Which in turn makes emacs good for lispo 23:07:06 lisp* 23:07:12 tyg13: emacs also has paredit and redshank, which make editing lisp even nicer. 23:07:28 Holy crap 23:07:35 Ubuntu doesn't come with emacs installed 23:07:36 :( 23:07:46 that's because real emacs is huge. 23:07:56 Which emacs is that? 23:08:00 and bloat, for a unix app, if you're not an emacs user. 23:08:04 what system *does* come with an emacs installed? 23:08:04 solaris came with xemacs, afaik 23:08:13 stassats`: bloat. 23:08:27 It seems that its only 21 megs 23:08:34 Is that really bloat? 23:08:49 depends on your definition 23:08:50 in a 750~ install 23:09:05 ED is 160k 23:09:08 eighty megs and continually swapping 23:09:12 it's bloat when you're used to more minimalist distros :) 23:09:35 Like DSL and TinyLinux 23:10:10 Or LFS, I tried to install that like 2 times now and I've given up each time halfway :D 23:10:10 or like arch/slack/gentoo 23:10:22 they could throw OpenOffice away and put Emacs instead 23:10:36 sykopomp: but ubuntu is anything but minimalist 23:10:38 stassats`: But that would anger vi evangelists 23:10:44 Ralith: yeah, that sort of hit me. 23:10:44 gn all! 23:10:52 tyg13: -vi- ships with everything (bah) 23:10:52 tyg13: it has vi anyway 23:11:09 it has nano, too! 23:11:10 sykopomp: not on my computers 23:11:10 (wee!) 23:11:14 I enjoy nano 23:11:18 Thats the first editor I learned 23:11:19 oh damn, i have vi on n810 23:11:26 Mostly because I used cygwin frequently 23:11:31 stassats`: yeah? I thought pretty much every distro shipped with vi by default. 23:11:32 Which came packaged with it 23:11:54 sykopomp: i purge it and then dance around the fire 23:11:54 Fedora, talk about non-minimalist 23:12:03 4 gig install DVD 23:12:31 Then again, that includes packages and stuff 23:12:34 stassats`: I usually just do alias vi=echo Segmentation fault 23:12:44 enough noise, /me goes back do hacking lisp 23:12:53 -!- neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has left #lisp 23:12:53 less effort, and way funnier. 23:12:55 Indeed, I talk too much 23:13:58 sykopomp, I like that :) 23:15:23 sykopomp: you think i could let a vi-zealot touch my computer? 23:15:49 stassats`: I occasionally set up accounts for people on my box and have them ssh in for remote tutoring lessons. 23:16:28 not like anyone but me could use my desktop, anyways -- custom stumpwm setup. Qwerty keyboard with the keys bound to dvorak, etc. 23:17:18 security by obscurity! 23:21:16 -!- wedgeV [n=wedge@cm56-238-229.liwest.at] has quit [] 23:23:23 -!- wol_ [n=wol@67.174.222.215] has quit [Remote closed the connection] 23:23:33 heh, and I just painted the keys black 23:23:46 what do you mean? 23:23:50 manic12 [n=manic12@c-76-29-88-103.hsd1.il.comcast.net] has joined #lisp 23:23:57 so that there wouldn't be QWERTY text on them? 23:24:15 was an easy way to keep people from using my machine in college 23:24:24 heh 23:24:41 I think using Dvorak keeps non-hackers away. 23:24:57 when I was at boarding school, people would sit down at my computer, freak out, and run away. 23:25:13 also, sane people :P 23:25:20 *rsynnott* doesn't believe i dvorak 23:25:23 it balanced out the fact that my windows password protection broke, and I couldn't set a password... 23:25:40 rsynnott: it's really nice for lisp. 23:25:41 rsynnot, have you tried using dvorak? 23:25:59 course... not having windows kept alot of people away as well 23:26:02 why for lisp specifically 23:26:14 a few things 23:26:20 () are E and W on qwerty, respectively 23:26:26 firstly, lisp has a lot more text than most languages (other than COBOL) 23:26:29 - is where ' is in qwerty 23:26:33 dvorak is great for typing english text 23:26:51 pjb: thank you for the ftruncate help in cll 23:26:52 it doesn't matter as much in languages with less english (ie assembly or perl) 23:27:05 anyways, everything I'll use in lisp except fancy special characters and numbers are all right within close reach. 23:27:14 *stassats`* uses dabbrev-expand alot 23:27:28 which isn't a significant enough reason to learn dvorak, but I was pleased when I started doing lisp and found how comfortable it was 23:27:39 as opposed to the horrible hand-strain {} causes. 23:27:58 gigamonkey [n=user@adsl-99-17-205-4.dsl.pltn13.sbcglobal.net] has joined #lisp 23:28:20 when I was learning java, I'd actually keep my right hand in the corner of the keyboard where all the symbols and brackets are... it was awful 23:28:29 -!- mattrepl [n=mattrepl@ip68-100-82-124.dc.dc.cox.net] has quit [] 23:31:33 -!- antoni [n=user@188.pool85-53-1.dynamic.orange.es] has quit [Remote closed the connection] 23:31:37 leo2007: you're welcome. 23:32:03 p0a [n=emacs@athedsl-388604.home.otenet.gr] has joined #lisp 23:32:16 Hello, is there a project that translates sexps to HTML? 23:32:30 p0a: several libraries allow to do that, yes. 23:32:38 minion: cl-who? 23:32:39 cl-who: CL-WHO is yet another specimen of the Lisp Markup Languages category, that is, it's a Web library to create (X)HTML from S-expressions. http://www.cliki.net/cl-who 23:32:48 pjb: does anyone actually /prefer/ writing in sexps instead of typical HTML? 23:32:56 I do 23:33:02 I do, too. 23:33:04 I would if I ever wrote typical HTML 23:33:07 Alright, I just wanted to verify I'm not insane :-] 23:33:19 nah, *ML are insane. 23:33:26 thanks, cl-who then it is 23:33:36 Ralith: what about Standard ML? 23:33:40 p0a: have a look at http://groups.google.com/group/comp.lang.lisp/msg/c3b9ffc5123e2ede 23:33:48 stassats`: dunno, never seen it ssyntax 23:33:52 its syntax* 23:33:56 p0a: all lisper like to write sexps better than HTML. 23:34:31 p0a: have a look at http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/6812d19d7e252ee1/9626eab07ae4e25c?lnk=gst&q=naggum+xml#9626eab07ae4e25c 23:35:06 -!- plage [n=user@118.68.32.211] has quit [Remote closed the connection] 23:35:22 plage [n=user@118.68.32.211] has joined #lisp 23:35:26 Good morning 23:36:01 pjb: "Espen Vestre"'s post? 23:36:15 Erik Naggum's 23:36:18 and http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/215e36411c5a105/070e472762da1d16?lnk=gst&q=naggum+sgml#070e472762da1d16 23:36:23 pjb: in the former link Bourguignon has an overview of various implementaitons and that's nice 23:36:34 didn't erik naggum pass away today? 23:36:44 Indeed, it looks like he did. 23:36:50 Wow! 23:37:05 what? 23:37:49 Too bad there's no gateway between Paradize and the Internet :-( 23:38:36 heh, I've read this "ad hoc binary format" argument again in XML context 23:41:00 Where can I learn more about what #n= and #n# is? Google won't search these, at least I don't know how 23:41:10 clhs ## 23:41:10 http://www.lispworks.com/reference/HyperSpec/Body/02_dhp.htm 23:41:11 clhs #= 23:41:12 http://www.lispworks.com/reference/HyperSpec/Body/02_dho.htm 23:42:09 Try: (let* ((*print-circle* t) (x (list 1 2)) (y (list x x))) (print y) y) 23:42:35 -!- mrSpec [n=NoOne@82.177.125.6] has quit [] 23:43:24 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 23:43:33 -!- ia [n=ia@89.169.189.230] has quit [Client Quit] 23:44:27 pjb: temporary names for objects? 23:45:15 -!- I_Like_Turtles [n=user7994@187.34.41.243] has quit ["Nettalk6 - www.ntalk.de"] 23:45:21 okay, thanks 23:45:31 In a way, yes. It's a reader gimick to be able to reference already read objects, in the construction of the being read structure. 23:45:38 erik naggum sounds like an awesome guy. It's unfortunate I am part of the post-usenet generation :\ 23:45:57 sykopomp: there's still usenet discussions, with old and new people 23:46:04 sykopomp: well, thanks to google, you can read back usenet from "almost" the beginning. 23:46:21 pjb: yeah, but it's just unfortunate that I never participated in it. 23:46:30 pjb: google only bought dejanews 23:46:36 AFAIK they had the archives 23:46:39 never managed to get in, and I don't really know if I want to, at this point... 23:47:09 Yes, google archives don't go too far in the past of usenet, but you can find archives of older usenet eg. on the cmu ai lab repo. 23:47:13 mrsolo [n=mrsolo@adsl-68-126-176-234.dsl.pltn13.pacbell.net] has joined #lisp 23:47:18 -!- gigamonkey [n=user@adsl-99-17-205-4.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 23:47:58 -!- schme [n=marcus@sxemacs/devel/schme] has quit [Read error: 113 (No route to host)] 23:48:07 I noticed #1= is used even though you can start from 0. Is there a particular reason for this? 23:48:22 Perhaps because incf returns the incremented value. 23:48:41 incf = ++x, not x++. 23:48:55 -!- cinayakoshka [n=bar@adaptive.cs.unm.edu] has quit [Read error: 110 (Connection timed out)] 23:48:56 I'm aware, but how is incf related? 23:49:40 (let ((counter 0)) (defun get-next () (incf counter))) is simplier than (let ((counter -1)) ...) or (let ((counter 0)) (defun get-next () (prog1 counter (incf counter)))) 23:50:13 Yes simpler, but less robust perhaps 23:50:40 that's a use for prog1 I hadn't thought of 23:50:55 Also, LISP comes from a time before Dijkstra wrote about the benefits of 0-base :-) 23:51:30 blackwolf [n=blackwol@ool-45763541.dyn.optonline.net] has joined #lisp 23:51:33 http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html 23:51:53 is dated 1982, very young... 23:53:34 ia [n=ia@89.169.189.230] has joined #lisp 23:53:35 Relatively young you must mean 23:53:53 very young, compared to LISP born 4 march 1959 :-) 23:54:32 well our current time is ~2010, and lisp is ~1960, so it's 50 years difference, with 1985 being the middle 23:55:04 ok 23:55:36 I have a bad habbit to take some sayings seriously sorry 23:55:43 I have to go bye 23:55:44 -!- p0a [n=emacs@athedsl-388604.home.otenet.gr] has quit ["bye"] 23:59:48 mhm, #= is kinda nice for do..