00:00:27 -!- Zoba [i=Zoba@wva4448rn.rh.ncsu.edu] has quit ["Leaving"] 00:06:39 -!- boyscared [n=bm3719@c-69-143-195-98.hsd1.va.comcast.net] has quit [Read error: 110 (Connection timed out)] 00:06:47 -!- kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has quit ["Quitte"] 00:07:55 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 00:08:02 -!- ozy` [n=vt920@pool-71-184-104-97.prvdri.fios.verizon.net] has left #lisp 00:08:19 -!- jollygood_______ [n=jolly@129.71.215.161] has quit [Read error: 60 (Operation timed out)] 00:08:20 Soulmann [n=kae@gatekeeper.vizrt.com] has joined #lisp 00:08:41 kpreid: this one is even duller. I have a subclass, and for that subclass, I don't want the initialize-instance constructor (that I defined) of the superclass to be called, is that possible? (I can work around it) 00:08:53 no. 00:09:08 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Remote closed the connection] 00:10:22 that is a rather fair limitation (for it forces me to design things correctly) 00:10:58 -!- adeht [n=death@nessers.org] has quit ["changing servers"] 00:11:10 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit [Remote closed the connection] 00:11:17 adeht [n=death@nessers.org] has joined #lisp 00:11:47 -!- Soulman__ [n=kae@gatekeeper.vizrt.com] has quit [Read error: 54 (Connection reset by peer)] 00:11:57 jollygood_______ [n=jolly@129.71.215.161] has joined #lisp 00:12:05 araujo [n=araujo@gentoo/developer/araujo] has joined #lisp 00:12:30 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 00:12:47 guenther1_ [n=guenther@sahnehaschee.unix-ag.uni-kl.de] has joined #lisp 00:12:47 -!- guenther__ [n=guenther@sahnehaschee.unix-ag.uni-kl.de] has quit [Read error: 104 (Connection reset by peer)] 00:13:00 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 00:14:54 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 00:15:44 tc-rucho [n=tc-rucho@190.191.162.100] has joined #lisp 00:17:30 how can I have a function running in background so it doesn't 'lock' the repl? 00:17:44 -!- Ginei_Morioka [i=irssi_lo@78.114.146.162] has quit [Read error: 113 (No route to host)] 00:18:02 is defmethod supposed to handle that? 00:18:28 no, defmethod has nothing to do with that, but creating a thread would do it 00:18:47 tc-rucho: given that your implementation has support for threads 00:18:59 kpreid: thank you very much, I've gotten that to work 00:19:28 hefner__: that's what I thought, thread, but, I recall having seen some code where a function defined using defmethod was able to be run in background 00:20:32 ahem, control stac exhausted o_O 00:20:42 stack even 00:20:49 -!- dash_ [n=dash@dslb-084-057-046-056.pools.arcor-ip.net] has quit [Read error: 60 (Operation timed out)] 00:25:04 dash_ [n=dash@dslb-084-057-055-103.pools.arcor-ip.net] has joined #lisp 00:27:09 Guest83702 [n=opera@91.78.92.227] has joined #lisp 00:27:57 -!- milanj [n=milan@79.101.137.83] has quit ["Leaving"] 00:27:59 Guest53748: get back there! 00:28:10 Guest53748: w00ps, you're not the same guest :) 00:28:45 hello! #cl-gardeners is totally empty.. would you help me a little? 00:29:09 Guest83702: then get back there! you only gave us a minute to answer your request for livety :) 00:29:18 Guest83702: and just ask :) 00:36:57 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 00:38:18 -!- jollygood_______ [n=jolly@129.71.215.161] has quit [Read error: 104 (Connection reset by peer)] 00:38:23 Adamant [n=Adamant@c-69-254-76-231.hsd1.ga.comcast.net] has joined #lisp 00:38:33 jollygood_______ [n=jolly@129.71.215.161] has joined #lisp 00:40:41 dfox [n=dfox@r5cv134.net.upc.cz] has joined #lisp 00:43:53 elderK [n=elderK@202.20.97.243] has joined #lisp 00:44:05 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 00:48:28 -!- elderK [n=elderK@202.20.97.243] has quit [Client Quit] 00:49:55 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit ["Leaving"] 00:50:37 Kaz pasted "Common Lisp References" at http://paste.lisp.org/display/71952 00:51:44 Ginei_Morioka [i=irssi_lo@78.115.204.64] has joined #lisp 00:52:56 -!- Guest83702 [n=opera@91.78.92.227] has left #lisp 00:54:33 hmmm, cl-fad:list-directory doesn't grok relative pathnames? 00:55:00 are callbacks into sbcl from C considered reliable? has anyone really stress-tested them? 00:55:27 Kaz, if you're reading this mate, thanks for the move. i followed you to lisp from clc, yeah :-) 00:55:36 *hefner* thinks back to the alien stack thing of six months ago, imagines how many more fun ways a callback might fail 00:55:49 hefner: it's minimally tested each time you spawn a new thread ;) 00:56:38 Kaz, where on earth is Typhoon nowadays? hacked on it a bit, 2001 - 2002, wanted to take a look again but the source disappeared 00:57:29 back to mbox parsing 00:57:40 -!- jpcooper [n=justin@unaffiliated/jpcooper] has quit ["Leaving"] 00:59:36 weird, i have two buffers in slime, doing M-x cd shows i'm in the right directory. but doing (list-directory ".") does a listing of ".." 01:00:03 ,cd ? 01:00:06 fusss: the cwd for your lisp and your emacs might not be the same. 01:00:37 ,cd shows i'm in the right directory 01:00:42 ah right. 01:01:09 -!- dfox [n=dfox@r5cv134.net.upc.cz] has quit [Remote closed the connection] 01:01:21 NB: this is Windows and anything else might be broken, including ".", which might need to be in uppercase :-P 01:03:36 dfox [n=dfox@r5cv134.net.upc.cz] has joined #lisp 01:04:30 fusss_ [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 01:04:31 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 01:04:32 -!- fusss_ is now known as fusss 01:04:53 rvirding [n=rvirding@h235n3c1o1034.bredband.skanova.com] has joined #lisp 01:07:37 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 01:09:20 -!- mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 01:09:27 -!- hjpark [n=user@61.109.28.117] has quit [Remote closed the connection] 01:09:46 garvin [n=garvin@210.75.16.226] has joined #lisp 01:13:02 -!- dv_ [n=dv@85-127-102-97.dynamic.xdsl-line.inode.at] has quit ["Verlassend"] 01:15:04 ebzzry [n=rmm@124.217.82.211] has joined #lisp 01:17:32 -!- ebzzry [n=rmm@124.217.82.211] has quit [Remote closed the connection] 01:17:35 gtasso [i=ca502eba@gateway/web/ajax/mibbit.com/x-ec26a1fa4108d253] has joined #lisp 01:21:15 -!- felipe [n=felipe@my.nada.kth.se] has quit [Client Quit] 01:21:42 ebzzry [n=rmm@124.217.82.211] has joined #lisp 01:23:43 fusss_ [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 01:24:21 Wombat2 [n=willy@216-31-242-4.static-ip.telepacific.net] has joined #lisp 01:24:36 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 01:24:50 -!- fusss_ is now known as fusss 01:25:09 -!- Wombat1 [n=willy@216-31-242-4.static-ip.telepacific.net] has quit [Read error: 104 (Connection reset by peer)] 01:26:28 -!- willb [n=wibenton@wireless34.cs.wisc.edu] has quit [Read error: 110 (Connection timed out)] 01:26:44 -!- ia [n=ia@89.169.165.188] has quit [Client Quit] 01:29:59 boyscared [n=bm3719@c-69-143-195-98.hsd1.va.comcast.net] has joined #lisp 01:30:14 -!- cddr [n=user@user-5443a3d9.lns5-c8.dsl.pol.co.uk] has quit [Read error: 110 (Connection timed out)] 01:30:31 -!- rvirding [n=rvirding@h235n3c1o1034.bredband.skanova.com] has quit ["Leaving."] 01:31:13 -!- ltbarcly [n=jvanwink@12.233.20.2] has quit [Read error: 54 (Connection reset by peer)] 01:31:38 -!- jbomo [n=dkd@pool-71-108-227-15.lsanca.dsl-w.verizon.net] has quit [] 01:32:11 rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has joined #lisp 01:32:19 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 01:32:23 fusss_ [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 01:32:25 -!- fusss_ is now known as fusss 01:45:25 ths_ [n=ths@X43ef.x.pppool.de] has joined #lisp 01:45:37 fusss pasted "how to parse mbox format with cl-mime" at http://paste.lisp.org/display/71953 01:47:48 -!- njsg [n=njsg@unaffiliated/njsg] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 01:49:29 will try to figure out something, combining cl-mime and mel-base to get something like Mail::Mbox::MessageParser and MIME::Attachment::Stripper, at least the function API can be copied. 01:50:11 Thas1 [n=weechat@97-113-43-185.tukw.qwest.net] has joined #lisp 01:50:47 wouldn't depend on text/plain always being the first part 01:51:08 -!- O_4 [n=souchan@ip-118-90-90-242.xdsl.xnet.co.nz] has quit [] 01:52:33 -!- sabetts [n=sabetts@S0106000a95700fd8.gv.shawcable.net] has quit [Remote closed the connection] 01:52:33 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 01:52:57 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 01:53:56 -!- Thas [n=weechat@97-113-43-185.tukw.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 01:54:58 Kaz annotated #71830 with "Discussion." at http://paste.lisp.org/display/71830#1 01:56:35 weirdo: you're absolutely right. 01:57:05 -!- gonzojive [n=red@fun.Stanford.EDU] has quit [Remote closed the connection] 01:57:38 gonzojive [n=red@fun.Stanford.EDU] has joined #lisp 01:58:59 anybody knows who is that Kaz? 01:59:09 -!- lemonodor [n=lemonodo@adsl-76-214-19-17.dsl.lsan03.sbcglobal.net] has quit [] 01:59:23 -!- ths [n=ths@X4f4a.x.pppool.de] has quit [Read error: 110 (Connection timed out)] 02:00:19 stassats`: Kaz Kylheku, of KazLib fame. Originally a C Hacker, now also uses CL. I think he works at a company in BC. 02:00:23 stassats`: kaz, man. 02:00:36 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #lisp 02:01:10 *hefner* knew who he was, but not the kazlib part 02:02:12 is he here? or is he mistakenly attaching paste to #lisp? 02:02:22 he was certainly here earlier 02:02:52 maybe 02:03:19 of all the people in cll, two i never miss to read; kaz and pjb 02:03:37 can mel-base generate efficient FETCH queries? 02:04:06 weirdo: it does fetch, just not sure of the efficiency as i never tested it. my mails are locally hosted. 02:04:27 knows about a bunch of folder types too 02:04:52 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 02:07:43 protocol-agnosticism is usually a flaw :/ 02:08:12 like those multi-protocol IM clients that can't even use jabber transports 02:08:36 heh 02:09:08 O_4 [n=souchan@ip-118-90-90-242.xdsl.xnet.co.nz] has joined #lisp 02:11:27 don't blame protocol agnosticism on bad IM clients. 02:11:42 IM clients that don't support multiple protocols well usually started out non-agnostic. 02:11:47 GAIM comes to mind. 02:11:58 the ones that started agnostic do a pretty good job (bitlbee) 02:12:30 bougyman: bitlbee started out using GAIM's library before giving up and rewriting most of it, so that's a bad example. It's also not such a good topic. 02:12:32 bougyman: bitlbee has worse support for multiple protocols than pidgin does. 02:12:46 we're veering offtopic, but I can't resist interjecting that support for multiple protocols in gaim seems to have been detrimental to usability 02:13:02 i.e. I liked the older versions much better 02:13:03 sykopomp: really? i've never had a problem with it. 02:13:12 though to pk's point I picked it up after they dropped the gaim libs. 02:13:24 had been using centerICQ til it lost its yahoo support. 02:14:11 fooquux [n=fooquux@udp265832uds.hawaiiantel.net] has joined #lisp 02:15:15 psi works for me <3 02:15:27 my users are liking psi. 02:15:34 heard that pidgin crashes, like, every minute or so 02:15:38 the only problem is that you can't have persistent xmpp conferences. 02:15:44 I concur with pkhuong. This isn't really a relevant discussion for this channel :) 02:15:45 or not that they've been able to manage. 02:16:25 is ever using EVAL a bad idea? 02:16:35 -!- ebzzry [n=rmm@124.217.82.211] has quit [Remote closed the connection] 02:16:39 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [] 02:16:51 especially to define a method without doing all mop machinery? 02:16:59 weirdo: How so? It's pretty bad if you're taking random unsanitized input and just READ/EVALing it 02:17:11 weirdo: also, the MOP is a beautiful thing. 02:17:37 yeah, but (eval `(defmethod ...)) is tad shorter 02:17:59 weirdo: maybe you're looking for a macro? 02:18:28 probably... dunno why i didn't define it as a macro 02:18:40 -!- mrsolo [n=mrsolo@nat/yahoo/x-8c7128ae669a0611] has quit ["Leaving"] 02:18:43 ??cleaver 02:18:49 cl-perec has a wonderful MOP :) 02:19:02 made a bunch of functions for editing instances in html forms 02:19:23 it's all configurable thanks to multimethods and handles all kinds of associations 02:19:25 is cl-perec the fancy new persistence library? Are people already feeling like elephant and rucksack are outdated? :P 02:19:41 elephant only uses BDB, doesn't it? 02:19:42 it's a persistence library, yes. 02:19:52 cl-perec uses pg, love that. 02:19:53 no. Elephant uses various different backends. 02:20:07 pg rules, down with mysql 02:20:10 including postgres 02:20:29 perec is still in active development 02:20:40 but it still rules :) developers are very helpful 02:20:48 so is elephant... although I can't say the same thing about rucksack (it probably is, though. 02:20:50 ) 02:20:53 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #lisp 02:21:15 what's nice about perec, by the way? I'm in the market for persistence, specially a persistence lib that I can combine with a different metaclass 02:22:09 sykopomp: i don't know enough lisp to reliably audit the cl behind it, but from a using-it side of things it's been very nice. 02:22:24 it will probably become the backend for my next project. 02:22:43 bougyman: how was setup? 02:23:01 sykopomp: setup was me learning about lisp environments. 02:23:39 i'm only 3 months into CL, before that used a proprietary lisp in the workplace 14 years or so ago. 02:23:52 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 02:24:36 once I decided to follow the instructions it was very easy. 02:24:44 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 148 (No route to host)] 02:28:06 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Remote closed the connection] 02:29:19 I wonder if perec takes a simpler MOP approach than elephant 02:29:24 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [] 02:29:36 I'm worried about writing my little MOP mess and not being able to hook it up to a backend without a ton of patching. 02:30:22 -!- garvin [n=garvin@210.75.16.226] has quit ["Ex-Chat"] 02:33:25 -!- fe[nl]ix [n=algidus@88-149-211-249.dynamic.ngi.it] has quit [Read error: 110 (Connection timed out)] 02:33:25 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 02:35:40 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 02:37:53 see what methods are overriden by mop 02:38:09 if you both override same ones, you'll have to jump through some hoops 02:38:31 persistence stuff overrides slot-value-using-class and friends 02:38:48 yeah, I'll probably be doing a lot of hoop jumping. 02:39:04 I'm slowly starting to plan out what I need to implement a prototype object system on top of the MOP 02:39:11 this may or may not be a good idea :( 02:39:19 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 02:41:50 perec even supports deadlock detection <3 02:42:59 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 02:47:32 ebzzry [n=rmm@124.217.82.211] has joined #lisp 02:47:40 eno__ [n=eno@adsl-70-137-147-189.dsl.snfc21.sbcglobal.net] has joined #lisp 02:51:10 peter_12 [n=peter@pool-71-105-154-91.lsanca.dsl-w.verizon.net] has joined #lisp 02:53:02 -!- rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has left #lisp 02:54:13 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 02:55:41 -!- saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has quit [] 02:59:56 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 03:01:31 -!- rpg [n=rpg@216.243.156.16.real-time.com] has quit [] 03:03:23 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 03:03:24 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 03:04:59 any way to 'expand' a deftype? 03:05:00 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 03:06:44 -!- Tordek [n=tordek@host186.190-137-177.telecom.net.ar] has quit [Read error: 60 (Operation timed out)] 03:08:22 ManateeLazyCat [n=user@222.212.133.80] has joined #lisp 03:09:00 H4ns2 [n=hans@p57A0C4A7.dip.t-dialin.net] has joined #lisp 03:09:11 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [] 03:09:39 jestocost [n=cmell@cb8a16-090.dynamic.tiki.ne.jp] has joined #lisp 03:10:16 -!- crod [n=cmell@cb8abf-127.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 03:10:50 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 03:12:09 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [Read error: 54 (Connection reset by peer)] 03:12:28 esden [n=esden@91-67-156-166-dynip.superkabel.de] has joined #lisp 03:13:39 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 03:13:44 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [Client Quit] 03:14:34 silas428 [n=ryan@c-67-182-172-128.hsd1.ca.comcast.net] has joined #lisp 03:15:40 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 03:15:43 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [Client Quit] 03:17:17 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 03:17:17 how's sbcl on ms windows? anything broken too horribly? 03:17:28 using it now 03:17:38 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 03:17:45 only thing wrong with it is the warning label 03:18:48 -!- dialtone [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has quit ["leaving"] 03:19:58 btw, i have cl-mime working for me just perfect, however, it only has a CONTENT accessor for message of type TEXT-MIME. how can i get the body/content of messages of type MULTIPART-MIME 03:20:20 it's not a cl-mime question, more of mime RFC understanding thing 03:20:38 g'day 03:20:47 hey schme 03:20:55 ltbarcly [n=jvanwink@12.233.20.2] has joined #lisp 03:21:12 hello fusss :) 03:21:59 i thought Subject, From, To, and Body were all standard header types, (mapcar #'print (get-mime-headers mime)), no matter how large the sample size of email messages always returns Content-Type and Content-Transfer-Encoding as recognized headers. 03:22:39 mel-base interns header names in the keyword package, aieee 03:22:56 lisp-newbie [n=mek@c-76-118-78-185.hsd1.vt.comcast.net] has joined #lisp 03:23:04 fusss, mapc :) 03:23:05 Howdy. 03:23:20 hey lisp-newbie 03:23:26 Hi there fusss. 03:23:53 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 03:24:04 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 03:25:01 -!- HET2 [n=diman@chello080109123012.9.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 03:25:35 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [] 03:27:31 -!- H4ns1 [n=hans@p57A0DAF8.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 03:29:09 Can one have just &rest as a parameter for a function? 03:31:25 -!- Thas1 is now known as Thas 03:32:17 You need something for &rest to be. 03:32:26 &rest foo 03:32:41 Ah. 03:32:54 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 03:33:15 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 03:33:38 Does this make sense? http://paste.lisp.org/display/71956 03:34:13 I am trying to test the user input -- and if the user input matches a condition, add any number of arguments to a list. 03:34:51 redefining cl:assert isn't a good idea 03:35:03 Didn't know it was already defined. 03:35:15 I shall change it. 03:35:19 ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has joined #lisp 03:35:27 Doesn't your CL tell you? 03:35:37 I might have during the load. 03:35:47 Possibly glossed over that. 03:35:49 If so, stupid me. 03:36:10 :( 03:36:54 Is that the wrong way to add &rest sympts to a list ? 03:37:12 simplechat [n=simplech@unaffiliated/simplechat] has joined #lisp 03:37:13 Granted there are a bunch of small errors like a missing * in the identifier of *y-sympt* 03:37:20 what do you use for auto-generating pdfs? 03:37:24 *weirdo* needs to generate invoices 03:39:04 weirdo: I have no idea. Looking it up on google returned: https://kanis.fr/svn/trunk/wk/lisp/muse/muse-latex.el 03:39:21 ";;; muse-context.el --- publish entries in ConTeXt or PDF format " 03:39:30 Doubt that's helpful. 03:40:26 thinking about cl-typesetting, but the syntax is scary 03:40:32 ugh. cl-perec uses #t and #f for booleans. What the hell. 03:40:36 *sykopomp* is disgusted. 03:40:43 sykopomp, cl-syntax-sugar:e-s-b-s 03:40:55 -!- peter_12 [n=peter@pool-71-105-154-91.lsanca.dsl-w.verizon.net] has quit [] 03:40:58 damn thing barfs at meta-point 03:41:09 e-s-b-s? :P 03:41:17 enable-sharp-boolean-syntax :P 03:41:33 couldn't care less except for meta-point :) 03:41:35 lisp-newbie: If you want to add stuff to a list you might like PUSH instead of SETF 03:41:37 *sykopomp* cries 03:41:57 cl-pdf should be easy, tell me if it's not, need to generate invoices also 03:42:05 schme: I shall read the docs on push. 03:42:17 Can I push (&rest foo) onto a list? 03:42:22 see also CONS and ADJOIN 03:42:24 Or do I not even know what I'm talking about 03:42:33 append 03:42:34 lisp-newbie: Yes. You can push anything onto a list. 03:42:41 weirdo: not sure what you mean. Do I have no choice but to use silly scheme-wannabee syntax, or can I use proper CL t/nil? 03:42:57 (push '(&rest foo) my-list) 03:43:00 works just fine. 03:43:03 sykopomp, it's only a read macro that translates to usual t/nil 03:43:09 ah 03:43:28 Neat. 03:43:49 Does (push '(&rest foo) my-list) push a list onto the list, though? 03:43:59 yes. 03:44:02 Or recursively each element 03:44:04 Ah, okidoke. 03:44:30 So I could just use tail recursion with labels if I wanted to push each element onto the list. 03:44:55 :D 03:45:01 I'll mess around with it for a bit, thanks schme and weirdo 03:45:06 :o) 03:45:11 (dolist (i some-list) (push i place)) 03:45:27 or rather, NCONC 03:45:33 see also APPEND 03:45:47 Sure but doesn't append kill the stack? 03:45:50 lisp-newbie: if you want to push each item you might as well just (append list rest) or some such. 03:45:57 ? 03:46:04 there's NCONCF in alexandria :) 03:46:06 Wouldn't it just be easier to cons them on. 03:46:15 Why? 03:46:33 You'd have to do each one then. 03:46:39 lisp-newbie, APPEND and really everything else is fine to use in macroexpansions :) 03:46:44 i mean, in macros 03:46:57 no one cares if macros cons or run slowly 03:47:36 Kay :o) So I should try (dolist (i some-list) (append i place)) ? 03:47:49 yes, by all means! 03:47:55 execute it in your repl, right now! :-) 03:47:57 huh 03:47:58 Great, thanks again for the suggestions. 03:48:33 why not just (append i some-list) ? 03:48:57 (append some-list some-other-list) 03:49:12 I suppose I can. 03:49:28 Seems easier to me, but what do I know! 03:49:31 read some PCL and hyperspec 03:49:42 always helps having hyperspec.el around 03:50:38 A lot more than I do. 03:50:39 :o) 03:51:03 Does anyone think [a b c...] is an ugly way to syntactically sugar-coat (list a b c...) 03:51:05 ? 03:51:14 felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has joined #lisp 03:51:20 what are the semantics for :thread in sb-ext:make-timer and timers in general? 03:51:25 Quadrescence: Yes, I do. 03:51:33 Quadrescence: given how rarely I type (list a b c...), yes. 03:51:39 -!- O_4 [n=souchan@ip-118-90-90-242.xdsl.xnet.co.nz] has quit [] 03:52:09 what does it mean to raise a condition in a thread where a different thread registers a handler? 03:52:23 hefner: schme: What do you think [] is better used for? (Not necessarily in CL, but in any lisp) 03:52:45 how is that sldb handles exceptions from all the threads? 03:53:01 Quadrescence: I use it for sql syntax it would seem. 03:53:01 Yay! 03:53:07 *lisp-newbie* does a happy dance. 03:53:18 waldofll [n=waldofll@c-75-74-217-138.hsd1.fl.comcast.net] has joined #lisp 03:54:03 Quadrescence: I'm not sure I've ever seen it used for anything useful. 03:54:27 hefner: Aww, it's a shame to put those characters to waste! 03:54:28 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 131 (Connection reset by peer)] 03:54:56 I'm thinking of syntax for a lisp dialect. 03:54:58 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 03:55:06 weirdo: it's the default handler. 03:55:08 the main thing I frequently want shorter ways to write are various instances of lambdas, partial application, and function composition 03:55:12 Welcome back, fusss. 03:55:16 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 03:55:42 i'm sitting way too far from the wifi 03:55:43 Quadrescence: I use 'em for (select 'foo :where [and [= 'bar 12] [like 'baz "%bananas%"]]) 03:55:58 -!- pitui [n=pitui@c-76-98-192-104.hsd1.nj.comcast.net] has quit [Read error: 110 (Connection timed out)] 03:56:07 schme: what does that buy you? 03:56:33 hefner: Nothing, but it seems to be what cl-sql wants. 03:56:36 hefner: In my syntax, I stole (\ (args) (function)) from Haskell 03:57:01 Quadrescence: you could go with /. like Qi does. 03:57:08 \ is annoying. 03:57:27 are python's lamdas similar to Lisp macros? 03:57:43 silas428: python's lambdas are similar to stabbing yourself in the eye with a dull pencil. 03:57:53 silas428: they're not even silimar to lisp lambdas 03:57:55 is anything similar to lisp's macros? 03:58:13 fusss: considering lisp's macros rely on code-as-data, I would say 'not really' 03:58:15 fusss: I dont know, I am just a hobbyist programmer 03:58:28 silas428: except hobbled by the fact that python's syntax doesn't differenciate between binding and assignation. 03:58:31 silas428: and i'm a salesman :-) 03:58:37 sykopomp: Is `\` not very accessible on many keyboards? 03:58:52 Quadrescence: it's an annoying pinky reach. 03:59:14 sykopomp: The only reason I wouldn't want to use `/` is because of division. 03:59:26 Quadrescence: /., not / 03:59:37 (it looks like a lambda) 03:59:42 Ah, I didn't see that. 03:59:44 (but not really) 03:59:49 wasabi_______ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 03:59:51 That's not a bad idea. 03:59:56 It's just a lambda backwards. :) 04:00:00 it's a reverse lambda, I guess. Yes. 04:00:31 -!- eno__ [n=eno@adsl-70-137-147-189.dsl.snfc21.sbcglobal.net] has quit ["leaving"] 04:00:44 sykopomp: Or maybe I could do something like QUOTE's syntactic sugar 04:00:48 also recommend putting the pencil in the nostril and colliding the head with a desk 04:01:01 goddammit! spent all night writing and mbox parser to scrape data from a mailinglist when there is an RSS feed! grrrrr 04:01:05 Quadrescence: or you could try avoiding adding syntax to lisp. 04:01:06 weirdo: UGH GO AWAY 04:01:06 >_M 04:01:08 might not cause brain injury but will cause inconceivable pain 04:01:17 sykopomp: I guess so. 04:01:22 weirdo: that's a nice magic trick, eh? ;) 04:02:36 sykopomp: I only want to add syntax as a last resort -- if it truly makes things easier. I actually wanted to get rid of ` and just replace it with '. 04:03:03 ...huh? 04:03:05 what? 04:03:10 What? 04:04:04 Godawful. What's the "standard/best" way to query for the current date in a lisp program? 04:04:40 mogunus: get-decoded-time is what I use 04:04:59 clhs get-decoded-time 04:04:59 http://www.lispworks.com/reference/HyperSpec/Body/f_get_un.htm 04:05:37 There's a lot of neat goodness @ http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node232.html as well. 04:05:39  x  y (+ x y) 04:05:41 how about that syntax? 04:05:42 :) 04:05:45 (for time) 04:05:59 weirdo: >:( 04:06:03 weirdo: :D 04:06:23 Tordek [n=tordek@host186.190-137-177.telecom.net.ar] has joined #lisp 04:06:30 weirdo: I'm definitely going with that. 04:06:46 If only there was a lambda key. 04:07:12 Who needs a lambda key when you can just paste it somewhere safe and copy+paste whenever you need it? :D 04:07:37 lisp-newbie: One of modes for emacs displayed every 'lambda' as the correct character :) 04:07:51 Ha, neat. 04:08:21 p_l: You can set up jedit to do such replacements: -> turns into an arrow, alpha turns into the greek alpha, etc. 04:08:29 But we all know jedit is not for lisp. ;) 04:08:30 Quadrescence: why do that when you can lamTAB faster than it would take you to copy/paste?... 04:08:42 Quadrescence: sounds like greenspunning to me. Copy and pasting instead of just [...] 04:08:44 sykopomp: I was being sarcastic. :) 04:08:45 Never mind. 04:09:41 Quadrescence: Well, you can do that in emacs too. And I actually managed to input arrows on my keyboard :D 04:10:31 p_l: But jedit provides a GUI to set it all up. ;) ;) 04:10:49 GUIs make me cry :o/ 04:11:18 So with jedit, you can pretend you're an APL programmer! 04:12:38 -!- wasabi______ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 110 (Connection timed out)] 04:12:46 I have enough trouble pretending I am a programmer. I'll stick to emacs in hopes that one day I will be semi-proficient. 04:13:32 weirdo pasted "greek lambda reader hack!" at http://paste.lisp.org/display/71958 04:13:50 too bad it's not a lisp-1 04:14:22 Hehe 04:14:31 That's really neat. 04:15:50 "Implementation of the  combinator is left as an exercise for the reader." 04:16:31 (That's U+1D550 MATHEMATIAL DOUBLE-STRUCK CAPITAL Y) 04:17:18 What do you guys think the "best" character set/alphabet is best for a lisp? A-Z 0-9 +-*/ '`, _ ; = () 04:17:41 fooquux annotated #71958 with "" at http://paste.lisp.org/display/71958#1 04:18:02 The convention has always been ASCII. 04:18:21 But with Unicode increasingly available, theres no good reason for a new implementation not to use it. 04:18:26 binding greek stuff to Super might come in handy 04:18:47 Most GUIs nowadays support complex keyboard layouts. 04:19:00 Even Windows can do Unicode layouts now. 04:19:35 Windows does unicode better than unix, mate 04:19:36 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [Client Quit] 04:20:10 actually, Solaris 10 is the closest thing to unix for writing complex arabic texts 04:21:21 KMFL for Loonix Unicode keyboards: http://kmfl.sourceforge.net/ 04:21:47 I suppose it works for any modern X11 that supports SCIM. 04:22:01 Mac OS X has fantastic Unicode keyboard layout support. 04:22:21 You can even bind sequences of Unicode characters to single keypresses. 04:22:37 So really all the major OSes can support Unicode keyboard layouts. 04:22:50 For a new Lisp, theres no reason not to go for it. 04:23:40 eevar [n=snuffpup@36.80-203-45.nextgentel.com] has joined #lisp 04:23:44 ( (x y z) (× z (÷ x y))) 04:24:25 noooo, it's more obfuscated without parens :) 04:25:03 You mean x.y.z.×z(÷xy) ? 04:25:05 I think Unicode would be far too cumbersome for a new lisp 04:25:12 Why? 04:25:41 Strictly because of input -- unless every operator has a corresponding ascii version. 04:25:51 (operator, function, etc) 04:25:54 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 04:25:57 Yeah, just implement a read macro for the fancy versions. 04:26:24 But users could define new ones that don't have corresponding ASCII-compatible names. 04:26:58 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 04:27:27 -!- waldofll [n=waldofll@c-75-74-217-138.hsd1.fl.comcast.net] has quit [] 04:27:30 -!- fooquux [n=fooquux@udp265832uds.hawaiiantel.net] has quit ["Quit"] 04:27:37 I was thinking of strictly only using A-Za-z0-9 `',():;. But I thought that might be a bit too strict 04:27:49 (actually, not even a-z) 04:28:22 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 04:28:29 that's just gorgeous fooquux 04:28:43 foom, -calculus is fine too 04:33:43 Do you guys have any better syntactical alternative to #'foo ? 04:35:18 -!- silas428 [n=ryan@c-67-182-172-128.hsd1.ca.comcast.net] has quit [] 04:35:33 sure, use a lisp-1 04:35:51 Quadrescence: You sure care a lot about syntax for a language that really isn't all that much about syntax. 04:35:53 *shrugs* 04:36:38 lisp-newbie: As I (might) have said, I'm writing a lisp, and one of my goals is to make things easier (without changing semantics). 04:37:07 Easier, as in, more comfortable, perhaps. 04:37:50 fe[nl]ix [n=algidus@88-149-211-135.dynamic.ngi.it] has joined #lisp 04:39:04 -!- ManateeLazyCat [n=user@222.212.133.80] has quit [Remote closed the connection] 04:39:29 ia [n=ia@89.169.165.188] has joined #lisp 04:39:53 -!- phao [n=phao@189.13.133.142] has quit ["Leaving"] 04:40:41 -!- eevar_ [n=snuffpup@36.80-203-45.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 04:41:03 -!- pkhuong [n=pkhuong@modemcable125.83-81-70.mc.videotron.ca] has quit [Read error: 145 (Connection timed out)] 04:44:07 -!- eevar [n=snuffpup@36.80-203-45.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 04:45:49 eevar [n=snuffpup@36.80-203-45.nextgentel.com] has joined #lisp 04:46:00 Good morning. 04:46:09 -!- cpc26 [n=cpc26@72.170.156.242] has quit [] 04:46:29 mornin', beach 04:46:31 -!- tc-rucho [n=tc-rucho@unaffiliated/tc-rucho] has quit ["WeeChat 0.2.6"] 04:49:24 -!- lemoinem [n=swoog@modemcable125.83-81-70.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 04:51:04 So... I'm sorry: Is there any really basic lisp 3d engine out there? 04:51:38 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [Read error: 104 (Connection reset by peer)] 04:51:45 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 04:52:56 -!- mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has quit [] 04:53:22 fusss pasted "so i figured out cl-mime, now i'm too bored to document it :-P" at http://paste.lisp.org/display/71960 04:53:52 Failing that, how easy to deal with is CL-sdl> 04:54:14 mogunus: _engine_? none that i know of. there is the whole of opengl and you get to have fun writing your own physics engine and other stuff 04:54:41 mogunus: lispbuilder-sdl + cl-opengl is fantastically easy. i was almost offended to have read the README before I installed. 04:54:56 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [] 04:55:12 fusss: Yeah, I was really thinking engine. Is lispbuilder-sdl different from cl-sdl? 04:55:19 fusss: If you're looking to be offended, I can easily send you some of my code. 04:55:21 *lisp-newbie* chuckles. 04:55:28 mogunus: lispbuilder-sdl is well-maintained, and has a pretty good api. I think cl-sdl is dead. 04:55:50 likewise, lispbuilder-sdl-opengl is unmaintained, and you should use cl-opengl if you're gonna use lb-sdl 04:55:52 cooldude127 [n=user@lawn-128-61-127-145.lawn.gatech.edu] has joined #lisp 04:55:59 lispbuilder is an umbrella project whose sole mission in life is to To Do The Right Thing. beautiful. 04:56:21 That's pretty exciting. lispbuilder-sdl and cl-opengl it is, then. 04:56:42 ManateeLazyCat [n=user@222.212.133.80] has joined #lisp 04:56:49 mogunus: are you just doing 3d graphics? 04:56:58 i have never seen CFFI stuff work out of the box. lispbuilder works with sbcl, clisp and lispworks .. on _Windows_, out of the box 04:57:16 sykopomp: Ugh. No. I might try and write a 3d engine with physics, in lisp. 04:57:33 sykopomp: Or, you know, really I would just be porting WildTalent. 04:57:47 mogunus: ah ok. lispbuilder is nice. I've been playing around with it a lot lately. 04:58:09 lisp-newbie: the first lisp function i ever wrote on my own, without the help of a book is right there in usenet 04:59:43 -!- existentialmonk [n=carcdr@64-252-145-185.adsl.snet.net] has quit [Remote closed the connection] 04:59:46 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 05:00:29 fusss: I find it fascinating that you actually remember the first function you ever wrote in lisp :P 05:00:59 sykopomp: only because Mathew Danish gave me the biggest ass whooping for it 05:01:11 fusss: haha 05:01:19 Mine was an itty bitty tail recursive powerset function with an accumulator. 05:01:39 everybody remembers their first day in Folsom, or Paris Island ;-) 05:01:55 Had to write a simple NFA to DFA program and decided to give it a-go in lisp :o) 05:02:11 I decided I'd rather be mediocre in lisp... 05:02:13 let's just say, i wrote split-string, mainly to test the cmucl garbage collector. nuff said. 05:02:17 Than excellent at java or c++ 05:03:45 fusss: Did you have interesting results? 05:03:54 *shrugs* 05:04:07 -!- gonzojive [n=red@fun.Stanford.EDU] has quit [] 05:04:28 lisp-newbie: i got the thrashing i wanted, and the trashing i didn't expect (will anybody get this horrible pun?) 05:04:43 -!- Kopophex [n=kopophex@dtp-1.dyn.cs.washington.edu] has quit ["Leaving"] 05:04:53 it was a convoluted way to say it was "consy" 05:06:07 -!- felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 05:06:32 -!- segv [n=mb@p4FC1CBE4.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 05:08:32 -!- NoorDextor is now known as HelicopterBen 05:11:01 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 05:11:03 lisp-newbie, read PCL, on lisp and maybe PAIP for good lisping 05:12:14 I'm up to chapter six in PCL -- and thoroughly enjoying it. 05:13:02 PAIP? Paradigms of AI Programming? 05:13:11 -!- HelicopterBen is now known as NotAmeriCANT 05:13:19 yes 05:13:32 Will do, thank you kindly for the suggestion, weirdo. :o) 05:14:44 *lisp-newbie* is temporarily indisposed. 05:16:04 pkhuong [n=pkhuong@modemcable125.83-81-70.mc.videotron.ca] has joined #lisp 05:16:05 anyone familiar with cliki help me post a small addition? 05:16:32 checkout http://www.cliki.net/CL-MIME and everything under the download link is my own doing :-( 05:16:41 eevar_ [n=snuffpup@36.80-203-45.nextgentel.com] has joined #lisp 05:17:07 -!- NotAmeriCANT is now known as HelicopterBen 05:17:54 -!- ``Erik_ [i=erik@c-68-54-174-162.hsd1.md.comcast.net] has quit [Read error: 110 (Connection timed out)] 05:18:42 just how do i format code? 05:22:36 segv [n=mb@p4FC1DC29.dip.t-dialin.net] has joined #lisp 05:23:32 -!- weirdo is now known as neko-akuma 05:23:33 nyaaaa 05:25:56 oudeis [n=oudeis@bzq-82-81-30-92.red.bezeqint.net] has joined #lisp 05:28:12 -!- fe[nl]ix [n=algidus@88-149-211-135.dynamic.ngi.it] has quit ["Valete!"] 05:28:12 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 05:29:03 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 05:34:33 -!- eevar [n=snuffpup@36.80-203-45.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 05:35:31 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #lisp 05:39:34 -!- oudeis_ [n=oudeis@bzq-82-81-30-92.red.bezeqint.net] has quit [Read error: 113 (No route to host)] 05:40:56 Good morning 05:41:21 hello tic 05:41:34 hey beach. some 10 hours left now? 05:42:09 more like 7. 05:44:25 tic: weren't you looking for a wiki written in CL? 05:45:53 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 05:46:58 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 05:47:29 anybody seen this error loading a system in slime? 05:47:30 failed to find the TRUENAME of /private/var/tmp/inventory.lisp 05:47:49 it's trying to load files from /tmp for some reason 05:47:55 mulligan [n=user@e178026065.adsl.alicedsl.de] has joined #lisp 05:48:24 if you recompiled the system definition from slime with C-c, that throws off its idea of the path to the system (because it's compiled from a temporary file in a temporary directory) 05:48:48 oh shit 05:48:51 i did that 05:49:00 how can i fix that? 05:49:17 so if you're editing an asd file in emacs and want to redefine it, recompile the whole file with C-c C-k instead 05:49:38 so if i do that now, will it fix it? 05:49:43 it should, yeah 05:50:07 ok it still fails but for different reasons, thank you 05:52:09 eevar [n=snuffpup@127.80-203-27.nextgentel.com] has joined #lisp 05:52:10 apparently i should do something like eval file or something 05:52:22 cuz my .asd has the same name as a .lisp in the same dir 05:52:30 so C-c C-k makes a fasl 05:52:40 nostoi [n=nostoi@244.Red-83-34-25.dynamicIP.rima-tde.net] has joined #lisp 05:52:49 which prevents the right stuff from getting loaded 05:53:27 we're in business now 05:53:30 thanks hefner 05:56:02 "Embrace the brace." 05:56:48 (or "Embrathe the brathe" >:D) 05:57:36 dakeyras_ [n=dakeyras@pool-98-117-134-71.sttlwa.fios.verizon.net] has joined #lisp 05:58:13 Quadrescence: what do you mean by "Embrathe the brathe"? 05:58:47 -!- eevar_ [n=snuffpup@36.80-203-45.nextgentel.com] has quit [Read error: 145 (Connection timed out)] 05:58:53 lisp is made of of braces, and lisp is also made up of `th`s. 05:59:01 05:59:14 Oh, how funny! HAHAHAHAHAHAHAHAHAHAHAHA! 05:59:24 I never realized the pun on "Lisp". 05:59:26 fusss, I was looking for any wiki-and-a-blog-and-cms, actually, but the Lisp part is non-essential, even though if it would be nice. 05:59:41 beach: :D 05:59:48 Also, someone just said "Lisp lacks syntax." 05:59:56 Lisp lacks sugar. 06:00:02 (mostly) 06:00:36 Lisp doesn't need much sugar. 06:00:37 Quadrescence: thank you for such an orignial joke. I'll be sure to repeat it to my colleages this afternoon. 06:00:37 fusss, thing is, I have hosting at Dreamhost, where I can't really run SBCL. Or well. maybe I could. Except it uses a bit too much memory. Anyway. Do you have something for me? :) 06:00:46 beach: Heheh :D 06:01:08 Quadrescence, the standard read table, mostly. 06:01:37 tic: i was going to recomment cliki, hihihihi 06:01:37 Xen host, mate. might over kill for static pages, but good nevertheles. 06:02:02 fusss, you have the source? I thought epic novels were written about it. 06:02:42 sources for cliki? should be somewhere 06:03:25 but you don't need that, better go with a point and click thing lotsa templates and modules builtin. who has time to hack on their own cms anyway? it's 2009. 06:03:53 you know, I've been trying to slap WordPress into submission since 2004. 06:04:23 i used Drupal but disabled it after i got tired of the frequent upgrades. 06:04:57 tic: emacswiki+planner/org-mode and pyblosxom? 06:05:00 Yeah, I've been through that too. 06:05:17 <3 org-mode 06:06:09 -!- HelicopterBen is now known as NoorDextor 06:06:37 pkhuong, I don't swing Emacs, but I have considered pyblosxsom in the past. Thanks for reminding me! It seems rather light-weight. The problem is that I seem to have a wet dream about a CMS/wiki + blog that is just not possible. Like sane URLs, page creation + markup facilities and easy-to-use blagging. 06:09:02 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 06:11:12 dash__ [n=dash@dslb-084-057-055-103.pools.arcor-ip.net] has joined #lisp 06:11:16 http://img101.imageshack.us/img101/4996/lollolrk3.png 06:11:17 :D 06:12:06 (input: (+ 1 2 '(sqrt 3.0)/;hey;/ (list 1 2 '(expt x 2) 4)) ;Hello there [newline] /;Hello (+ 1 1);/ ) 06:12:26 ``Erik_ [i=erik@c-68-54-174-162.hsd1.md.comcast.net] has joined #lisp 06:12:38 Quadrescence, just as expected then? 06:12:50 tic: So far, seems so. :) 06:13:01 Quadrescence, your own app? 06:13:34 Well, I didn't write the code to do the drawing. But I'm writing the parser and all that. 06:13:52 (However, in strict ISO C89) 06:13:58 (princ-to-string (macroexpand-1 ...)) ? ;) 06:14:03 tic: i don't think "blagging" is what you meant :-) it means mooching in birtish 06:14:04 Oh. I'm sorry for you. 06:14:15 tic: Yeah. :'( 06:14:43 fusss, I don't know what mooching is either, so that's okay! (I'm reusing whatshisname of xkcd.com fame's term) 06:17:23 -!- cooldude127 [n=user@lawn-128-61-127-145.lawn.gatech.edu] has quit [Read error: 110 (Connection timed out)] 06:17:33 tic: Do you know much about compiler internals? 06:17:48 fusss_ [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 06:17:55 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 06:18:04 Quadrescence, try me. 06:18:28 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 06:18:31 -!- fusss_ is now known as fusss 06:18:56 tic: When parsing/evaluating something like (+ 1 2.0), are types attached to the numbers? 06:19:44 So in essence, it's internally read as, in some lispy pseudocode, (funcall #'+ (integer 1) (float 2.0)) 06:19:47 Quadrescence, there's a difference between the parsing and the evaluation step. You usually transform it into an AST, with types attached when possible. 06:20:24 -!- mornfall [n=mornfall@anna.fi.muni.cz] has quit [Read error: 60 (Operation timed out)] 06:20:29 mornfall [n=mornfall@anna.fi.muni.cz] has joined #lisp 06:20:43 Right. So the AST does indeed attach a type (when possible), e.g., 2.0 -> (float 2.0), or something like that? 06:20:45 Quadrescence, when you've parsed the code, you'll often need to do a second pass at the AST to annotate expressions properly, if you have variables. 06:20:49 Yes. 06:20:49 -!- phax [n=phax@unaffiliated/phax] has quit ["Leaving"] 06:21:18 Ah, so my mind wasn't on the wrong track. 06:22:49 Quadrescence, if you can read Haskell, you /might/ get an idea for how to do it in https://svn.jansson.be/school/D4/LP1/TDA280-Compiler/lab2-24p/TypedAST.hs 06:23:23 Luckily I programmed in Haskell for a bit. 06:25:15 Alas, I don't know how easy it is to get hold of bnfc. 06:26:17 There are plenty of bnf-based programs. 06:27:52 sure, but you need bnfc. 06:28:04 although, there might be a precompiled version included already in the repos. 06:29:18 I found some binaries/sources. 06:30:52 pstickne [n=pstickne@c-71-236-177-238.hsd1.wa.comcast.net] has joined #lisp 06:31:13 tic: This (bnfc) might be very useful. Thanks! 06:31:29 Quadrescence, good luck. 06:32:21 Haskell is pretty sexy :o) 06:32:28 I think nomads are for shit, though. 06:32:29 dtulig [n=dtulig@cpe-72-179-46-14.austin.res.rr.com] has joined #lisp 06:32:36 lisp-newbie: monads, haha 06:32:43 Quadrescence: I realize. 06:32:47 :D 06:32:58 It's nice for a while, until you get into all that. 06:33:18 -!- dash_ [n=dash@dslb-084-057-055-103.pools.arcor-ip.net] has quit [Read error: 110 (Connection timed out)] 06:33:25 I've had to do a few projects in Haskell... And the mathematical representation (as well as the lazy evaluation) are really for the win. 06:33:33 But the more I get into lisp, the more I love it. 06:34:02 lisp, to me, is the ultimate generalization of languages/ideas/structures 06:34:03 :o 06:34:30 Quadrescence: At least for our current day and age. 06:34:32 I find Lisp to be a good playground for new ideas, as you're not restricted by the lack of programmability found in other languages. 06:34:48 saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has joined #lisp 06:34:54 tic: I agree one hundred percent, despite my lack of knowledge in the playground you call lisp. 06:35:05 I'm restricted to the swing set. 06:35:11 But it's a pretty freaking cool feeling. 06:35:35 lisp-newbie: You're just passing the along on the sidewalk. 06:35:40 lisp-newbie, you'll get up to speed soon. I'm a Lisp newbie, too. 06:35:42 You're not on the swingset yet. 06:36:31 I owned the playground back in my ocaml days. 06:36:34 Ha. 06:36:39 :o( 06:36:44 ocaml. Hehe. 06:37:05 tic: I hope my little endeavor turns out to be useful for not just me, but for the lisp community too. :o 06:37:33 Quadrescence: I'm sure it will be neat. 06:37:44 As always, it's been an honor conversing with you ladies and gents. 06:38:00 But I have to finish this medical diagnostics expert agent and then off to bed I am. 06:38:06 Have a wonderful night/morning. 06:38:11 You too. 06:38:14 -!- lisp-newbie [n=mek@c-76-118-78-185.hsd1.vt.comcast.net] has left #lisp 06:39:21 Quadrescence, what are you making, anyway? 06:40:30 By the end, hopefully a lisp (I'm not sure if I really want it to be CL) compiler/interpreter written in purely standard ISO C89 06:40:54 for embedability purposes? 06:41:36 -!- neko-akuma is now known as weirdo 06:41:40 Embedability/portability. I realized many pitfalls when I was trying to get lisp in my iphone. 06:41:46 beach` [n=user@ABordeaux-158-1-127-127.w90-60.abo.wanadoo.fr] has joined #lisp 06:41:53 hi again beach`. 06:42:10 Quadrescence, someone was working on an ARM port of SBCL. Maybe you should help out with that? 06:42:16 -!- beach [n=user@ABordeaux-158-1-108-6.w90-60.abo.wanadoo.fr] has quit [Nick collision from services.] 06:42:20 how much of clisp is non-portable? 06:42:26 -!- beach` is now known as beach 06:42:56 tic: maybe. My goal is twofold though. I also want to learn and go through this whole process of developing something like this. 06:44:07 weirdo: IIRC, my problems, personally, were...now I don't remember. Probably the fact that iphone isn't linux, and I don't know if it's POSIX compliant. 06:46:16 slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has joined #lisp 06:46:22 evening 06:47:01 speaking of next-gen phones 06:47:26 is it possible to disable the ability of the man to sniff audio while the phone is turned off in a open-source phone? 06:53:31 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 06:56:25 "BNFC is a compiler compiler compiler" 06:56:26 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 06:56:26 :) 06:57:01 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 06:57:33 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Client Quit] 07:09:10 -!- dakeyras_ [n=dakeyras@pool-98-117-134-71.sttlwa.fios.verizon.net] has quit [] 07:13:20 -!- nostoi [n=nostoi@244.Red-83-34-25.dynamicIP.rima-tde.net] has quit ["Verlassend"] 07:34:23 Aankhen`` [n=Aankhen@122.162.159.16] has joined #lisp 07:51:03 good morning 07:51:56 http://rubymentor.rubyforge.org/wiki/wiki.pl This is a great idea. 08:01:30 -!- ``Erik_ [i=erik@c-68-54-174-162.hsd1.md.comcast.net] has quit [Read error: 110 (Connection timed out)] 08:02:01 -!- cesco_paris [n=tfb@81-64-212-95.rev.numericable.fr] has quit [] 08:10:01 loz [i=loz@r220-101-67-198.cpe.unwired.net.au] has joined #lisp 08:11:25 batiestuta [n=chatzill@125.34.197.233] has joined #lisp 08:14:19 jdz [n=jdz@85.254.248.11] has joined #lisp 08:17:35 -!- VityokOrgUa [n=user@193.109.118.130] has quit [Read error: 110 (Connection timed out)] 08:19:34 fe[nl]ix [n=algidus@89.202.147.22] has joined #lisp 08:20:04 hello 08:21:52 howdy fe[nl]ix 08:22:59 ebzzry_ [n=rmm@124.217.85.2] has joined #lisp 08:23:04 hello slyrus_ 08:25:27 -!- ebzzry [n=rmm@124.217.82.211] has quit [Read error: 60 (Operation timed out)] 08:27:38 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 08:27:52 araujo [n=araujo@gentoo/developer/araujo] has joined #lisp 08:28:13 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 08:31:41 Adamant [n=Adamant@c-69-254-76-231.hsd1.ga.comcast.net] has joined #lisp 08:31:50 H4ns1 [n=Hans@p57BB95ED.dip0.t-ipconnect.de] has joined #lisp 08:34:18 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 08:37:11 KingNato [n=KingNato@fw.polopoly.com] has joined #lisp 08:37:20 yrb [n=yrb@121-72-230-58.cable.telstraclear.net] has joined #lisp 08:37:20 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 08:38:08 aerique [i=euqirea@xs2.xs4all.nl] has joined #lisp 08:39:56 -!- Anarki [n=tprg@granit.intersv.com] has quit [Read error: 104 (Connection reset by peer)] 08:42:56 -!- KingNato [n=KingNato@fw.polopoly.com] has quit [Read error: 104 (Connection reset by peer)] 08:43:22 KingNato [n=KingNato@fw.polopoly.com] has joined #lisp 08:43:52 -!- yrb [n=yrb@121-72-230-58.cable.telstraclear.net] has quit ["Lost terminal"] 08:45:12 -!- KingNato_ [n=KingNato@fw.polopoly.com] has quit [Read error: 148 (No route to host)] 08:45:42 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 08:48:35 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [No route to host] 08:50:14 -!- H4ns [n=Hans@p57BBA2C3.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] 08:51:57 valiza2 [n=haroldo@r190-133-131-188.dialup.adsl.anteldata.net.uy] has joined #lisp 08:53:23 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 08:54:05 -!- lyte [n=lyte@unaffiliated/neerolyte] has quit [Read error: 60 (Operation timed out)] 08:55:21 lyte [n=lyte@60-242-109-30.tpgi.com.au] has joined #lisp 08:55:41 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Read error: 110 (Connection timed out)] 09:01:21 HET2 [n=diman@chello080109123012.9.15.vie.surfer.at] has joined #lisp 09:01:47 Good morning. 09:03:09 mornin' beach 09:03:13 -!- Modius [n=Modius@adsl-67-67-217-250.dsl.austtx.swbell.net] has quit [Read error: 104 (Connection reset by peer)] 09:03:33 Modius [n=Modius@adsl-67-67-217-250.dsl.austtx.swbell.net] has joined #lisp 09:03:54 mega1 [n=mega@pool-054ef.externet.hu] has joined #lisp 09:06:37 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 09:06:44 -!- KingNato [n=KingNato@fw.polopoly.com] has quit [Remote closed the connection] 09:07:13 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 09:07:20 KingNato [n=KingNato@fw.polopoly.com] has joined #lisp 09:08:13 -!- valiza1 [n=haroldo@r190-133-150-110.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 09:08:37 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Connection reset by peer] 09:08:48 -!- saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has quit [] 09:08:50 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 09:11:04 jso [n=user@151.159.200.122] has joined #lisp 09:11:11 vtl [n=user@nat/redhat/x-a18d6b29b051b090] has joined #lisp 09:12:49 -!- manic12 [n=manic12@c-98-227-126-106.hsd1.il.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 09:14:33 plage [n=user@serveur5.labri.fr] has joined #lisp 09:17:22 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 09:17:27 -!- KingNato [n=KingNato@fw.polopoly.com] has quit [Remote closed the connection] 09:17:42 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 09:19:58 hello spiaggia 09:20:26 Hey mvilleneuve. What's up? 09:23:31 -!- yangsx [n=yangsx@218.247.244.25] has quit [Read error: 145 (Connection timed out)] 09:25:22 Hello spiaggia! What's the situation of Internet in Vietnam? Is it generally accessible? 09:25:26 felipe [n=felipe@my.nada.kth.se] has joined #lisp 09:26:25 matimago: Not only that. It's usually free in every hotel. 09:26:45 Which is much more civilized that, say, the UK. 09:27:09 -!- pchrist_ [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 09:27:40 pchrist [n=spirit@gentoo/developer/pchrist] has joined #lisp 09:28:54 spiaggia: not much right now 09:29:12 spiaggia: how about yourself? still working on font rendering? 09:29:35 mvilleneuve: not this week :) 09:29:42 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 09:29:53 mvilleneuve: I am struggling to get everything done before the end of the year. 09:30:24 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 09:33:53 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 09:34:53 -!- H4ns1 is now known as H4ns 09:35:42 hi tcr 09:35:50 splittist [n=splittis@169-98.203-62.cust.bluewin.ch] has joined #lisp 09:35:52 morning 09:35:59 hello splittist 09:36:36 -!- pstickne [n=pstickne@c-71-236-177-238.hsd1.wa.comcast.net] has quit [Read error: 60 (Operation timed out)] 09:36:39 heh. The MOP is actually a bit confusing. :( 09:37:15 *splittist* really wishes they'd called OpenCL something else. 09:37:57 spiaggia: I was asking, for the local people? Do they have enough computers and enough internet access? 09:40:29 matimago: The intenet is widely available. I don't know how common it is to own a computer, but certainly each of our students has a laptop. 09:44:33 AshyIsMe [n=User@220.157.86.160] has joined #lisp 09:48:12 -!- sohail [n=Sohail@unaffiliated/sohail] has quit [Read error: 60 (Operation timed out)] 09:49:07 VityokOrgUa [n=user@193.109.118.130] has joined #lisp 09:50:50 stassats [n=stassats@ppp78-37-146-157.pppoe.avangarddsl.ru] has joined #lisp 09:51:11 matley [n=matley@matley.imati.cnr.it] has joined #lisp 09:51:26 jdz_ [n=jdz@85.254.193.149] has joined #lisp 09:54:01 -!- xan [n=xan@cs78225040.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 09:56:21 pervonisse [n=yakov@h-60-147.A163.priv.bahnhof.se] has joined #lisp 09:57:34 xan [n=xan@cs78225040.pp.htv.fi] has joined #lisp 09:58:34 jdz__ [n=jdz@85.254.248.11] has joined #lisp 10:00:14 -!- repnop [n=Mage@adsl-69-225-6-192.dsl.skt2ca.pacbell.net] has quit [Read error: 110 (Connection timed out)] 10:00:30 repnop [n=Mage@adsl-69-225-2-109.dsl.skt2ca.pacbell.net] has joined #lisp 10:01:35 -!- teilzeitstudent [n=teilzeit@p5B17E790.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 10:01:52 teilzeitstudent [n=teilzeit@p5B17DE8E.dip.t-dialin.net] has joined #lisp 10:03:27 -!- dfox [n=dfox@r5cv134.net.upc.cz] has quit [Remote closed the connection] 10:04:29 -!- mishok13 [n=gdmfsob@dm.sonopia.com] has quit [Read error: 104 (Connection reset by peer)] 10:08:09 -!- jdz [n=jdz@85.254.248.11] has quit [Read error: 110 (Connection timed out)] 10:08:32 jewel [n=jewel@dsl-242-132-48.telkomadsl.co.za] has joined #lisp 10:09:00 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 10:09:31 -!- esden [n=esden@91-67-156-166-dynip.superkabel.de] has quit ["Computer has gone to sleep"] 10:11:27 spiaggia: Thanks for the info. 10:13:11 Does anyone know where I can set mailman to only accepts posting from list members, and not annoy me with pending mails? 10:16:55 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 10:17:09 -!- jdz_ [n=jdz@85.254.193.149] has quit [Read error: 110 (Connection timed out)] 10:20:32 <_8david`> [Privacy Options] -> [Sender Filters] -> generic_nonmember_action -> Reject 10:20:35 <_8david`> I think 10:21:25 <_8david`> (also make sure accept_these_nonmembers on the same page is empty to avoid spam coming through) 10:25:39 a-s [n=user@89.38.174.194] has joined #lisp 10:27:00 -!- ia [n=ia@89.169.165.188] has quit [Connection timed out] 10:27:03 -!- vtl [n=user@nat/redhat/x-a18d6b29b051b090] has quit [Remote closed the connection] 10:28:00 -!- jewel [n=jewel@dsl-242-132-48.telkomadsl.co.za] has quit [Connection timed out] 10:28:01 mishok13 [n=gdmfsob@dm.sonopia.com] has joined #lisp 10:28:21 ia [n=ia@89.169.165.188] has joined #lisp 10:30:10 -!- Aankhen`` [n=Aankhen@122.162.159.16] has quit ["“I was a vegetarian until I started leaning toward the sunlight.” — Rita Rudner"] 10:31:12 _8david`: Thanks! 10:32:00 _8david`: Someone in the Munich Lisp Group is interested in resurrecting your sb-heapdump 10:32:35 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 10:32:44 besiria [n=it0646@195.251.209.11] has joined #lisp 10:33:20 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 10:33:33 <_8david`> cool! 10:33:36 <_8david`> Although I wasn't aware that it had died. :-( 10:34:30 there have been some layout changes on hash-tables, I think 10:34:54 Aankhen`` [n=Aankhen@122.162.159.16] has joined #lisp 10:36:18 <_8david`> Okay. I don't recall whether I ever forward-ported it to the newer relocate.c from my relocation branch. Would make sense to have only one version of that in the tree. 10:36:59 <_8david`> Someone would have to figure out why the cold core isn't relocatable before I'd consider committing relocate.c though. 10:37:29 vtl [n=user@nat/redhat/x-28aed0e5c8fc83ef] has joined #lisp 10:38:04 -!- dostoyevsky [i=sck@oemcomputer.oerks.de] has quit [Read error: 131 (Connection reset by peer)] 10:39:48 esden [n=esden@lapradig77.informatik.tu-muenchen.de] has joined #lisp 10:41:40 free_tinker [n=willijar@eas-nw709pc01.aston.ac.uk] has joined #lisp 10:47:19 -!- pervonisse [n=yakov@h-60-147.A163.priv.bahnhof.se] has quit [Read error: 104 (Connection reset by peer)] 10:51:22 -!- besiria [n=it0646@195.251.209.11] has quit [Remote closed the connection] 11:01:25 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 11:02:11 sometimes I'm really amazed that some people manage to find actual work writing software. 11:02:31 kiuma [i=4d5de922@gateway/web/ajax/mibbit.com/x-c73deafd657e6785] has joined #lisp 11:02:38 hello lispers 11:02:45 hello kiuma 11:02:51 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 11:09:16 can I use utf32 with cl-ppcre? 11:09:48 HET2: cl-ppcre does not care about character encodings. it works on objects of the lisp character type, however it is implemented. 11:14:10 silenius [n=jl@yian-ho03.nir.cronon.net] has joined #lisp 11:14:29 H4ns: yes but 11:14:39 H4ns: i cannot actually type these characters 11:14:55 H4ns: and \x{000effff} makes cl-interpol puke 11:14:55 -!- ths_ [n=ths@X43ef.x.pppool.de] has quit [Operation timed out] 11:15:23 HET2: then you have a problem with cl-interpol. not cl-ppcre, right? 11:19:54 HET2: does your lisp support utf32? 11:20:20 i.e. what is your CL:CHAR-CODE-LIMIT? 11:21:13 -!- loz [i=loz@r220-101-67-198.cpe.unwired.net.au] has quit ["Leaving"] 11:22:01 1114112 11:22:06 jewel [n=jewel@41.247.195.35] has joined #lisp 11:22:09 that sounds like utf32 to me 11:22:22 jpcooper [n=justin@unaffiliated/jpcooper] has joined #lisp 11:22:38 then i guess you have discovered a bug in cl-interpol. 11:22:46 uh oh :) 11:23:53 it may be that the \x{} syntax is restricted to 16 bits, but the documentation does not really tell. 11:24:29 It looks to me like HET2 is trying to make a character from a memory representation? 11:25:17 i think he wants to make a character from a unicode code point, but i'm guessing 11:25:19 In Common Lisp, you usually make a character from an integer value, not from its putative binary representation 11:25:41 HET2: cl-interpol does not have a restriction on the length of the number in #\x{} 11:26:13 HET2: (length #?"foo\x{000effff}") works fine for me 11:26:27 HET2: i think what you have is a slime problem, really :) 11:28:02 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 11:28:42 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 11:28:52 -!- HET2 [n=diman@chello080109123012.9.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 11:29:20 that i love. 11:31:16 elurin [n=user@85.99.172.78] has joined #lisp 11:32:02 ecraven [n=nex@140.78.42.103] has joined #lisp 11:32:44 ths [n=ths@p549AF2C5.dip.t-dialin.net] has joined #lisp 11:35:27 -!- vtl [n=user@nat/redhat/x-28aed0e5c8fc83ef] has quit [Remote closed the connection] 11:35:37 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 11:38:19 xinming_ [n=hyy@125.109.250.77] has joined #lisp 11:38:29 http://phil.nullable.eu/ I'm gonna write some basic tutorials using this :) 11:38:46 -!- xinming [n=hyy@125.109.250.77] has quit [Read error: 104 (Connection reset by peer)] 11:40:06 -!- lyte [n=lyte@unaffiliated/neerolyte] has quit [Read error: 104 (Connection reset by peer)] 11:40:27 -!- xinming_ is now known as xinming 11:42:04 lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has joined #lisp 11:42:14 vtl [n=user@nat/redhat/x-642c85c71eb02707] has joined #lisp 11:45:51 -!- kpreid [n=kpreid@cpe-67-242-2-23.twcny.res.rr.com] has quit [] 11:46:09 andrea1 [n=andreas@p579F88F7.dip.t-dialin.net] has joined #lisp 11:47:04 Nshag [i=user@Mix-Orleans-106-1-238.w193-248.abo.wanadoo.fr] has joined #lisp 11:47:11 -!- andreas [n=andreas@p579F83F3.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 11:47:28 -!- andrea1 is now known as andreas 11:47:51 -!- daniel__ is now known as daniel 11:48:04 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 11:58:24 attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has joined #lisp 12:05:30 clhs interger-length 12:05:30 Sorry, I couldn't find anything for interger-length. 12:05:35 clhs integer-length 12:05:36 http://www.lispworks.com/reference/HyperSpec/Body/f_intege.htm 12:05:54 dostoyevsky [i=sck@oemcomputer.oerks.de] has joined #lisp 12:07:39 -!- a-s [n=user@89.38.174.194] has quit [Remote closed the connection] 12:09:10 a-s [n=user@89.38.174.194] has joined #lisp 12:10:19 Tordek_ [n=tordek@host186.190-137-177.telecom.net.ar] has joined #lisp 12:11:30 -!- Tordek [n=tordek@host186.190-137-177.telecom.net.ar] has quit [Read error: 104 (Connection reset by peer)] 12:13:44 tiesje [n=user@202.63.242.211] has joined #lisp 12:18:33 is it better, worse, or about the same to use symbol-function to look up a function at runtime vs. storing the function names and values in an alist or hash-table and looking them up that way? 12:19:08 locklace: simpler is better. 12:19:38 locklace: or, why do you need function names? 12:19:39 locklace: you might trade off simplicity for speed if you need it. but that'd require that you identify the hot spots by measurement first. 12:20:22 -!- b4|hraban [n=b4@0brg.xs4all.nl] has quit ["Leaving"] 12:20:52 what i'm asking is, what's the operational difference? 12:20:52 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 12:21:03 mehrheit [n=user@lan-84-240-55-160.vln.skynet.lt] has joined #lisp 12:21:03 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 12:22:35 <_8david`> (defvar *foo* #'foo) (defun foo () (new-definition)) (funcall *foo* :uses-the-old-definition) (funcall #'foo :uses-the-new-definition) 12:25:04 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 12:25:28 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 12:26:35 -!- gaja [n=Gabriel@c-0689e555.017-40-6c6b7013.cust.bredbandsbolaget.se] has quit ["Lost terminal"] 12:28:04 Anryx [n=user@vpnp088.vsb.cz] has joined #lisp 12:28:17 i guess the question is really about the implementation of symbol-function and whether there're any reasons to avoid it. i seem to recall something about that, but may be misremembering 12:28:27 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 12:28:42 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 12:31:12 locklace: why do you need function names? 12:33:12 <3 5am 12:33:53 loclace - there will be a difference if you redefine a function e.g. by reloading a file 12:36:33 S11001001: in this case because the user must be able to choose amongst several functions at runtime. function names are just one of several ways to accomplish that 12:37:04 free_tinker: sure 12:37:56 is there something lispers standardly do to filter doubles out of a list? 12:38:10 clhs remove-duplicates 12:38:10 http://www.lispworks.com/reference/HyperSpec/Body/f_rm_dup.htm 12:38:25 ahhh, I hoped for something like that. Thanks H4ns 12:39:13 locklace: what kind of user? 12:39:42 davazp [n=user@72.Red-88-6-205.staticIP.rima-tde.net] has joined #lisp 12:40:57 S11001001: hmm? 12:43:27 srcerer_ [n=chatzill@dns2.klsairexpress.com] has joined #lisp 12:43:40 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #lisp 12:43:50 well, sufficiently sophisticated users, the kind who might "choose amongst functions", might be the ones who know that a symbol can be given in most contexts that expect a function, as funcall and apply and pretty much everything interprets symbols as functions 12:44:26 if these are not such sophisticated sort of users, then they are likely to want more "human" names than those typically given as Lisp function names 12:45:23 -!- ManateeLazyCat [n=user@222.212.133.80] has quit [Remote closed the connection] 12:46:09 -!- ineiros_ is now known as ineiros 12:46:25 -!- tiesje [n=user@202.63.242.211] has quit [Read error: 60 (Operation timed out)] 12:47:24 right, the naming isn't too much of an issue here. i can easily do it in lots of ways, eg having a table of functions, symbol-function, eql specializers, some big case statement... ;) 12:48:45 was just curious if there were any caveats around symbol-function from an internals perspective 12:51:26 there aren't, but calling symbol-function directly is not needed when all you are doing is calling the resulting functions 12:55:43 -!- Anryx [n=user@vpnp088.vsb.cz] has left #lisp 12:56:06 sure. thanks for the confirmation 12:57:11 i've always had this feeling that passing symbols instead of function objects to forms like apply and mapcar was slightly shady, but it's probably unjustified ;) 12:59:01 -!- srcerer [n=chatzill@dns2.klsairexpress.com] has quit [Read error: 110 (Connection timed out)] 12:59:14 ``Erik_ [i=erik@c-68-54-174-162.hsd1.md.comcast.net] has joined #lisp 12:59:58 locklace: passing symbols instead of function objects makes it possible to redefine the function. 13:00:58 jdz__: right, but it must involve an extra overhead as well, yes? 13:01:11 of course. it's a tradeoff. 13:01:31 shmho [n=user@58.142.15.103] has joined #lisp 13:01:37 ok, makes sense 13:01:41 locklace: how large is the overhead? did you measure? 13:02:01 and in case of symbols in common-lisp package compiler can optimize, because user is not allowed to change the function values of those symbols. 13:02:22 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #lisp 13:02:24 H4ns: not trying to optimize, only understand 13:03:09 jdz__: good point. is that the only case where that optimization can happen? 13:03:22 -!- Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has quit ["Leaving"] 13:03:30 locklace: yes, but you are talking about "extra overhead" - it makes sense to be able to quantify the overhead in order to know whether it is worth discussing. 13:03:31 locklace: depends on the compiler. 13:04:11 dbalcer [i=dbalcer@151.82.5.101] has joined #lisp 13:04:23 -!- dbalcer [i=dbalcer@151.82.5.101] has left #lisp 13:05:57 H4ns: feel free to replace "overhead" with "step" 13:05:57 Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has joined #lisp 13:07:20 jollygood [n=jollygoo@129.71.215.161] has joined #lisp 13:08:02 jdz__: is it the case that a function name would not normally need to be kept around in compiled code, unless the code was trying to look it up by name? 13:08:23 locklace: code can always change. 13:09:00 locklace: but some compilers have options to strip down the resulting image where this optimization is done. 13:09:15 it's called "tree shaking" or something like that. 13:09:48 ok. so typically the function name would be kept around, but could be removed by an optimizer pass 13:10:00 not really. 13:10:16 schme, I _think_ I have solved my keymap problem. 13:10:30 locklace: there is no such thing as an "optimizer pass" 13:10:50 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 13:10:55 locklace: at least in a sense i think you mean it. 13:12:55 jdz__: what i mean is, if a function name were to be removed from the compiled code, that would be the result of optimization done by the compiler. is that right? 13:13:28 locklace: there is no such thing as a function name 13:13:37 hello lispers 13:13:50 minion: tell me about sbcl 13:13:51 plage: have a look at sbcl: Steel Bank Common Lisp is an open source / free software Common Lisp implementation. http://www.cliki.net/sbcl 13:14:03 minion: thanks! 13:14:04 you're welcome 13:14:10 minion: are you a bot? 13:14:11 i'm not a bot. i prefer the term ``electronically composed''. 13:14:47 clhs print 13:14:48 http://www.lispworks.com/reference/HyperSpec/Body/f_wr_pr.htm 13:16:07 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 13:17:47 minion: tell me about slime 13:17:48 plage: direct your attention towards slime: SLIME is the Superior Lisp Interaction Mode for Emacs. http://www.cliki.net/slime 13:19:47 -!- kuwabara [n=Kuwabara@cerbere.qosmos.fr] has quit [Remote closed the connection] 13:19:47 jdz__: but i'm sure you know what i mean. :) if you have a bunch of defuns, which assign functions to symbols, it seems like there are cases where those symbols need not be kept around in compiled code - but if the code were to try to look up such a function by name dynamically, then the symbol would have to be kept 13:20:43 locklace: that is what is usually being done by "tree shakers"; and it is a tradeoff - you cannot expect to hot-patch your running code after doing it. 13:20:53 kuwabara [n=Kuwabara@cerbere.qosmos.net] has joined #lisp 13:21:08 locklace: but, as you can infer, it can be done, and is actually being done. 13:21:40 locklace: look in the "delivery" sections of [usually commercial] lisp implementation documentation. 13:22:38 jdz__: ok. so is that kind of analysis something that eg sbcl does automatically now as part of optimization? 13:23:01 locklace: no, sbcl does not do it. 13:23:23 -!- me-so-stupid [n=hooyambo@77.236.84.166] has quit ["Leaving"] 13:23:24 ok, cool. thanks for the info 13:23:32 locklace: and, as i said, it's not a part of compilation, but delivery. 13:24:07 well, the distinction is a bit subtle (since delivery implies compilation). 13:25:34 but you mean it's not in the same class as other "pure compiler" optimizations? something that happens at a later stage 13:26:08 HET2 [n=diman@e195-052.eduroam.tuwien.ac.at] has joined #lisp 13:26:39 -!- lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has quit ["leaving"] 13:27:23 locklace: "later stage"? the spec is quite specific about compilation time 13:27:28 Zoba [i=Zoba@wva4448rn.rh.ncsu.edu] has joined #lisp 13:27:47 plage, presentation time? 13:29:07 pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has joined #lisp 13:29:10 <_8david`> jdz__: Given that LispWorks is the only Lisp with a tree shaker available today, I find it a little odd how often it is recommended as the "usual" solution here. 13:29:27 jdz__: right, so it happens after that ;) 13:29:48 <_8david`> I wouldn't even want to use a tree shaker if my lisp supported it, because it's a completely unreliably process my design. 13:29:48 _8david`: where did you see me recommending it as a solution to something? is it not a well-known technique? 13:30:04 _8david`: if it works, it works. 13:31:21 is there any howto as to how _manually_ remove certain parts from image? kind of manual size "optimization"? 13:32:06 p_l: yes, you can unbind symbols and delete packages 13:32:19 It seems to me any danger of things half-working can be detected when shaking. 13:32:36 jdz__: that helps surprisingly little. 13:32:48 <_8david`> pkhuong: I don't see how to detect such subtle problems without the help of a very comprehensive test suite. 13:33:37 _8david`: the tree shaker itself can detect which symbols are actually used, etc. 13:34:10 -!- jdz__ [n=jdz@85.254.248.11] has quit ["Somebody rebooted me"] 13:35:46 <_8david`> Perhaps if you audited the source code carefully for FIND-SYMBOL and FUNCALL uses... (That's not even assuming presence of a compiler or eval, because you'd probably not use a tree shaker if you had space for a compiler.) 13:35:48 That's very conservative, but there aren't that many symbols in my programs. Warn when, e.g., INTERN or FDEFINITION are called from a function. 13:35:56 How can I write the equivalent of a while loop from Java? I've been trying do, but it doesn't repeatedly execute my code at the end (just once) and I can't work out the keywords needed to use in loop. Help is much appreciated 13:36:20 Zoba: (loop while (foo) do (bar) (baz) ...) 13:36:40 thanks pkhuong 13:36:53 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 13:37:35 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 13:39:13 mtd [n=martin@ops-13.xades.com] has joined #lisp 13:41:55 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 13:41:57 phao [n=phao@189.13.113.125] has joined #lisp 13:42:15 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 13:54:02 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 13:54:23 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 13:54:35 -!- shmho [n=user@58.142.15.103] has quit [Remote closed the connection] 13:57:02 -!- HET2 [n=diman@e195-052.eduroam.tuwien.ac.at] has quit ["This computer has gone to sleep"] 13:58:43 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 13:59:04 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 14:01:50 Are any of you more-or-less not in favor for the syntax of lisp's LOOP construct? 14:02:02 Yes. 14:02:07 And no. 14:02:42 tic: Elaborate? :) 14:02:52 blitz_ [n=blitz@77.64.176.217] has joined #lisp 14:02:58 ignas [n=ignas@office.pov.lt] has joined #lisp 14:03:28 minion: tell Quadrescence about iterate 14:03:28 -!- drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has quit [Read error: 110 (Connection timed out)] 14:03:29 Quadrescence: look at iterate: iterate is a lispy and extensible replacement for the :(CLHS "LOOP") macro. http://www.cliki.net/iterate 14:03:34 Quadrescence, well, it's not considered to be very Lispy, much like FORMAT. it's kinda quirky to use as well, the syntax is a bit hard to remember (imo). Then of course, PG doesn't like it. ;) 14:04:38 locklace: Just discussing. 14:05:29 bapdog [n=pt@78-86-201-141.zone2.bethere.co.uk] has joined #lisp 14:05:32 -!- bapdog [n=pt@78-86-201-141.zone2.bethere.co.uk] has left #lisp 14:07:40 Quadrescence: i avoid loop if i can because code usually looks shitty as emacs does a less than perfect job at formatting loops 14:08:00 Quadrescence: this certainly is a variation of the "it is not lispy" theme, but for me, this has quite a practical aspect. 14:09:52 H4ns: I have been liking how cl-indent manages it; it seems to understand conditionals with compound statements and everything 14:10:08 but I like series better 14:10:11 Zoba: (defmacro while (cond &body body) `(do () ((not ,cond)) ,@body)) 14:10:14 -!- benny [n=benny@i577A2355.versanet.de] has quit [Connection timed out] 14:10:16 Zoba: what do you loop on? 14:10:31 I got it, pkhuong helped me 14:10:33 Zoba: but of course, you should use (loop while ... do ...) 14:10:54 Zoba: I'm just wondering why you couldn't put DO to good use. 14:12:33 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 60 (Operation timed out)] 14:12:38 Zoba: I ask because while loops are mostly useless. 14:12:59 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 14:13:01 tic: yeah, but you were too late. 14:13:10 Wizzup [n=puzziw@ow130.science.uva.nl] has joined #lisp 14:15:25 spiaggia, was it successful? 14:15:38 deximer [n=deximer@168.203.117.66] has joined #lisp 14:17:30 S11001001: do you mostly use series instead of iteration? 14:18:44 -!- jajcloz [n=jaj@pool-98-118-118-197.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 14:18:49 I mostly use mapc and such, but when I need something more sophisticated (like parallel multi-type iteration or generated indices), I use series 14:20:35 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 14:21:22 -!- Wizzup [n=puzziw@ow130.science.uva.nl] has left #lisp 14:21:51 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 14:24:27 jgracin [n=jgracin@93-138-121-154.adsl.net.t-com.hr] has joined #lisp 14:31:17 -!- pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has quit ["Leaving"] 14:31:39 S11001001: do you know how to use loop? :) 14:31:58 lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has joined #lisp 14:32:02 -!- lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has quit [Client Quit] 14:32:12 loop is way less fun 14:37:14 clhs series 14:37:15 Sorry, I couldn't find anything for series. 14:37:29 cltl2-section Series 14:37:30 http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node347.html 14:37:38 locklace: thanks 14:40:38 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 14:41:31 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 14:44:11 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 14:45:47 zhili [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has joined #lisp 14:46:17 tic: I think so. There were quite a few people and quite a few questions. 14:46:33 -!- S11001001 [n=sirian@pdpc/supporter/active/S11001001] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 14:46:54 Harag [n=phil@wbs-196-2-98-168.wbs.co.za] has joined #lisp 14:47:10 hello ppls 14:47:11 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 14:47:50 does anybody have a link to an example of building s-sql queries on the fly? 14:48:13 I am sure I saw something like that some where but I cant find the site again 14:50:18 -!- zhili [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has quit [Client Quit] 14:54:59 tic: horray! 14:56:38 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 14:59:41 -!- pragma_ [n=pragma@blackshell.com] has quit [Read error: 104 (Connection reset by peer)] 15:01:28 zhili [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has joined #lisp 15:03:17 -!- zhili [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has quit [Remote closed the connection] 15:03:33 Athas` [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 15:05:49 Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has joined #lisp 15:08:40 -!- jestocost [n=cmell@cb8a16-090.dynamic.tiki.ne.jp] has quit [Remote closed the connection] 15:09:12 umis [n=umis@prudent-gloryer.volia.net] has joined #lisp 15:10:33 spiaggia, good to hear. 15:11:48 schme, it seems the format of the xmodmap files has changed. or maybe not. I think my modifiers work now, too. At least I can type any combination of control, shift, meta and backspace (except for c-m-b) without having it killed. 15:12:28 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 15:13:54 tc-rucho [n=tc-rucho@unaffiliated/tc-rucho] has joined #lisp 15:15:04 -!- Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has left #lisp 15:15:28 willb [n=wibenton@wireless34.cs.wisc.edu] has joined #lisp 15:18:43 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 15:18:47 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Read error: 110 (Connection timed out)] 15:18:56 benny [n=benny@i577A1A45.versanet.de] has joined #lisp 15:19:35 lately X.Org had been playing a lot with configs (including breaking input configuration completely and changing names in kbd) 15:20:59 Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has joined #lisp 15:21:06 Might be related. 15:21:26 athos [n=philipp@92.250.204.223] has joined #lisp 15:22:51 -!- ``Erik_ is now known as ``Erik 15:22:56 -!- oudeis [n=oudeis@bzq-82-81-30-92.red.bezeqint.net] has quit ["This computer has gone to sleep"] 15:24:31 -!- Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has left #lisp 15:24:41 milanj [n=milan@77.46.248.38] has joined #lisp 15:25:18 tic, xmodmap is totally deprecated now afaik, you are supposed to use the new xkb stuff 15:25:21 Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has joined #lisp 15:26:00 tic, at least I complained because my .xmodmap broke when updating to X.org 1.5 and they told me to just translate it to the new format 15:26:01 xan, know which specific command I want to look at? 15:26:24 tic, setxkbmap 15:26:28 thanks. 15:26:49 xorg were never great for that 15:27:13 phew. note to self: do not run just 'setxkbmap' (lost my current keymap) 15:27:40 heh 15:28:01 tic: Also, disable automatic input config 15:28:13 otherwise all your efforst might be in vain 15:28:23 p_l, alright. 15:28:45 setxkbmap -print was fairly useless. I want to dump my current keymap. Is that possible? 15:28:48 *p_l* considers the hal-based stuff the worst part of Xorg 1.5 15:29:28 no idea 15:30:04 I just use a small variant of 'programmer's dvorak', which is already included, so I just copied that, made my few changes, and was good to go 15:30:05 looks like a chapter of the Unix-Hater's Handbook needs updating 15:30:25 Xof: Except that this time it's thanks to going _against_ Unix style... 15:30:54 xan, incidently, that's what I have too :-) Just instead, a Swedish variation of Dvorak (svorak) w/ {[]}/?() mapped to useful positions. :) 15:31:00 hello, I'm having a weird error using cl-irc, when the bot is idle, after some hours (idling) I get this http://rafb.net/p/TBwx1P56.html Any hint? 15:31:09 Xof: nah, it already covered other eccentric X11s 15:31:30 tic, so, /usr/share/X11/xkb/us, you have dvp mapping there, copy it to dvptic and whatever and change your stuff 15:31:37 lemoinem [n=swoog@modemcable125.83-81-70.mc.videotron.ca] has joined #lisp 15:31:44 -!- Karpar [n=zhili@2001:da8:8000:d010:0:5efe:7dd9:febb] has left #lisp 15:31:46 s/and/or 15:31:55 tc-rucho: always after it hasn't been doing anything for a while? 15:32:03 I didn't figure how to be able to have the variant in my homedir yet, which would be useful... 15:32:46 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 15:32:49 rsynnott: aye, it actually has some schedule task that keeps working even when that error works, but all the message handlers/hooks stop working 15:33:10 xan, thanks! 15:33:17 it sometimes happens when it's idle, sometimes when it's active 15:33:21 it's really weird 15:33:49 I didn't even know there was a data-type (MOD 1152921504606846973), this has to be some ugly bug 15:33:57 tic, and then it would be something like setxkbmap us -model evdev -variant dvptic (you need evdev model in latest Ubuntu, YMMV) 15:34:11 tc-rucho: my guess is that that corresponds to 'positive integer number' 15:34:13 xan, ... except there is no us/ directory in /usr/share/X11/xkb 15:34:24 or positive integer fixnum, maybe 15:34:32 tic, it's not a dir, should be a file 15:34:43 xan: Unless you disable this autodiscovery stuff 15:34:54 tic, I can send you my 'us' file, it has the original dvp 15:34:56 (the first thing I did after my X.Org got upgraded) 15:34:57 tc-rucho: what are you using for socket comms? 15:35:08 rsynnott: sb-bsd 15:35:18 p_l, right 15:35:19 abeaumont [n=abeaumon@223.pool85-49-171.dynamic.orange.es] has joined #lisp 15:35:49 rsynnott: err, sb-bsd-sockets 15:35:50 thing is, if it only happened when it had been completely idle for a few hours, I'd tend to suspect the connection was being quietly closed by the operating system 15:35:59 xan, I'm on an earlier version of X.Org, so I might not have gotten into that problem yet. But yeah, it'd be nice if you could paste it somewhere for me? 15:36:09 tic, sure 15:36:09 tc-rucho: next time it happens you should check if the connection is still there with netstat 15:36:17 rsynnott: that's unlikely to happen, I have a scheduler for pings 15:36:20 xan, just curious, do you speak Swedish? 15:36:21 oudeis [n=oudeis@p11811120.orange.net.il] has joined #lisp 15:36:23 ah, okay, then it shouldn't 15:36:43 tic, nope :) 15:37:00 rsynnott: actually the socket is still active while I have the thread interrupted 15:37:38 tic, http://pastebin.com/ma5c0a0f 15:37:51 odd 15:38:00 rsynnott: bot is still connected to the network, and the socket used to communicate with an app it controls is still working (a scheduled command uses that socket and keeps working while the thread get's interrupted) 15:38:00 xan, thanks! I should be able to slap it into submission. 15:38:02 tc-rucho: sure that you're using a sensible encoding on your stream? 15:38:15 tic, you're welcome 15:38:26 rsynnott: utf-8, actually, I haven't had any encoding problem 15:38:30 *rsynnott* doesn't know IRC protocol, so don't know what WOULD be sensible 15:38:31 :) 15:39:18 salex [n=user@216.80.143.240] has joined #lisp 15:40:52 berlusconianoDOC [n=irc@host118-234-dynamic.33-79-r.retail.telecomitalia.it] has joined #lisp 15:40:57 siete tutti comunisti! 15:41:00 -!- berlusconianoDOC [n=irc@host118-234-dynamic.33-79-r.retail.telecomitalia.it] has left #lisp 15:41:42 ah, a flying visit from an italian communist 15:41:46 the internet is WEIRD 15:42:03 wouldn't have it any other way 15:42:09 wasn't he an anti-communist? I think he was calling us communists 15:42:15 oh, actually, an italian fascist, yes 15:42:19 xan: that's right 15:42:30 vasa [n=vasa@mm-1-90-84-93.dynamic.pppoe.mgts.by] has joined #lisp 15:42:38 equally weird though 15:42:39 all lispers are dfh's -> communists or something? 15:42:41 *rsynnott* doesn't speak italian, so has to puzzle it out by vague resemblence to languages I do sort of speak 15:42:52 yeah, no less weird though 15:43:14 I just kickban'd the guy in another channel. seems he didn't like it :D 15:44:36 morning 15:44:41 -!- _8david` [n=user@port-83-236-3-70.dynamic.qsc.de] has quit [Read error: 60 (Operation timed out)] 15:44:50 hello slyrus_ 15:45:03 _8david` [n=user@port-83-236-3-235.dynamic.qsc.de] has joined #lisp 15:45:08 slyrus_: I think my talk went very well! 15:45:20 congratulations! 15:45:26 -!- jgracin [n=jgracin@93-138-121-154.adsl.net.t-com.hr] has quit [Remote closed the connection] 15:45:31 What type of questions were asked, beach? 15:46:07 tic: All kinds, from simple ones to how the GC is implemented. 15:47:08 This was the first talk in a series that I suggest in order to fill in the gaps of the seminar schedule, so at this rate there will be enough stuff for a year or so. 15:48:18 beach: what did you cover? 15:49:05 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"] 15:49:18 -!- a-s [n=user@89.38.174.194] has quit [Remote closed the connection] 15:52:16 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 15:52:33 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 15:52:55 how can I get the time of the last modification/save of a file from Lisp? 15:52:59 -!- oudeis [n=oudeis@p11811120.orange.net.il] has quit ["This computer has gone to sleep"] 15:53:02 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 15:53:06 disturbing: http://flickr.com/photos/niallkennedy/3018789426/sizes/o/ 15:53:10 oops, wrong channel 15:53:22 Tumblr raises 4.5mill series B. Where /is/ antifuchs? 15:53:30 here (: 15:53:34 splittist: was this recent? 15:53:44 didn't think anyone was raising anything these days... 15:53:46 that sounds neat. I hope we'll get to series b (: 15:53:50 rsynnott: it happens 15:53:56 mcxx: file-write-date 15:54:05 rsynnott: reported today http://www.pehub.com/26046/tumblr-raises-45-million/ 15:54:09 rsynnott: it's just that tiny bit harder (: 15:54:20 Impressive 15:54:22 that url sounds more impressive than the actual title (: 15:54:27 locklace: thanks 15:54:50 I never understood tumblr myself; always found it like blogger but with fewer features and a less ugly admin interface 15:54:55 antifuchs: heh 15:55:07 (and less of that disturbing feeling that Google has just abandoned it) 15:56:46 (top proofreading in para 5...) 15:57:03 antifuchs, what are you hacking on? 15:57:13 what language is tumblr written on? 15:57:16 And the best part: "Tumblrs Q1 2009 plans include the launch of a premium service that represents the companys first revenue generation." 15:57:19 I'm working on soup.io, a tumblelogging/lifestreaming platform 15:57:34 splittist: yeah, it's all the rage these days, making money... 15:58:42 antifuchs: is cl? :) 15:58:45 Nah - you just have to become too big to fail! 15:59:11 splittist: or that (: 15:59:26 rsynnott: nah, rails... /-: 15:59:36 (what I wouldn't give for backtraces with values in them!) 15:59:37 b4|hraban [n=b4@0brg.xs4all.nl] has joined #lisp 15:59:58 do you get a sensible interactive debugger these days when working with rails? 16:00:08 you/I wish 16:00:44 you don't even get a sensible language ;) 16:01:03 ah well, it's ok. I just wish some implementation details here and there were different (: 16:01:14 line numbers and function names should be enough for everyone 16:01:18 (*sigh*) 16:02:06 could be worse, I'm likely to spend most of tody messing about in TCL. sigh. 16:03:02 *ksergio* shudders 16:03:23 dlowe: did you make any progress with the partial timestamp stuff? 16:04:38 dlowe: we have so many KLUDGE annotations now that we are considering doing it based on your notes. (but then we may go off-track, as you have probably spent more time thinking bout it) 16:05:00 -!- esden [n=esden@lapradig77.informatik.tu-muenchen.de] has quit ["leaving"] 16:05:07 -!- Zephtar [n=s@d62-185.icpnet.pl] has quit [] 16:07:00 -!- Zoba [i=Zoba@wva4448rn.rh.ncsu.edu] has quit [Read error: 110 (Connection timed out)] 16:07:21 Zoba [n=Zoba@wva4410rn.rh.ncsu.edu] has joined #lisp 16:07:36 -!- elurin [n=user@85.99.172.78] has quit [Remote closed the connection] 16:07:50 is it possible to define a setf on a method that has more than one argument? 16:07:53 elurin [n=user@85.99.172.78] has joined #lisp 16:08:38 madnificent: you cannot define setf on a method. but you can define a setf expander for a function that takes more than one argument, if you mean that. 16:09:01 attila_lendvai: haha. I'd be interested in your annotations for ideas regarding your needs 16:09:20 (defgeneric axis-value (object axis &rest rest) is what I would like setf to be able to set. (H4ns, yes it would be an expander, I guess) 16:09:42 attila_lendvai: It wouldn't hurt my feelings if you wrote the timespec stuff. I'm not going to have any free time until next year. 16:09:51 antifuchs: heh, I work with rails quite a bit as well. You like it much? 16:10:26 madnificent: yes, that is possible 16:10:28 TDT: I know it well enough to make it do what I want. that doesn't mean I like it a lot (-: 16:10:29 dlowe: most of them is about date handling, we have a (parse-datestring ...) that parses into a timestamp. but we also need partial timestamps now for app features 16:10:41 antifuchs: Yeah, I do it for a job..I'm not a huge fan of it 16:11:14 I used it for a tiny little project once; was most unimpressed considering they hype (at the time; this was a few years back) 16:11:16 dlowe: ok. i was hoping to push you into making it... ;) we'll probably take a look at it 16:11:54 H4ns: could you give me an example? I can't seem to find it in the hyperspec 16:12:06 if only my brain would not hurt working on cl-quasi-quote 16:12:08 attila_lendvai: I intend for timestamps to only represent points in time, though. Dates should probably be kept in decoded form 16:12:23 rsynnott: I suppose it has gotten much better, but it's still not exactly great (: 16:12:33 attila_lendvai: also, are you using git? If so, I wouldn't be averse to converting the whole repository over 16:12:43 dlowe: can't a partial timestamp represent dates? 16:12:53 madnificent: you should read up on define-setf-expander and defsetf. 16:12:59 yep, cl-quasi-quote looks... frightening, to say the least 16:13:39 dlowe: i can't stand git's complexity. please if there's no real reason stay with darcs... especially that there's darcs2 now on cl-net, so not even the exponential issue is valid anymore 16:13:40 though I like the class inspector demo :) 16:13:46 H4ns: thank you 16:14:00 -!- ignas [n=ignas@office.pov.lt] has quit ["Download xchat-gnome: apt-get install xchat-gnome"] 16:14:12 attila_lendvai: it could, but I'm not convinced that it should. A time specification is conceptually different than a timestamp 16:14:30 attila_lendvai: ok, I just saw what looks like git hashes in your patches 16:14:35 alec [n=aberryma@ita4fw1.itasoftware.com] has joined #lisp 16:14:53 rsynnott: i'm integrating list quasi quoting. with these changes you can use it in macros without surprises and now it collates the quote/unquoted macro parts, too 16:15:32 dlowe: that's just a new darcs feature, visible when using older darcs versions and on gitweb 16:15:58 attila_lendvai: I see. 16:16:26 dlowe: ok, that's a valid point about dates... so, you say that there should be a date class? 16:16:47 ...with a sinlge DAY slot? 16:17:19 attila_lendvai: I thought I made notes on this. The timespec class should contain the decoded date with optional fields 16:17:30 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 16:17:47 dlowe: oh, ok, i'll reread it again 16:17:59 *attila_lendvai* heads back to cl-qq 16:18:00 *rsynnott* prepares for horrible surgery on elephant database :( 16:18:06 http://img.4chan.org/b/src/1229012255606.gif 16:18:26 attila_lendvai: the idea is that you could specify May 1st and June 3rd, and calculate the interval between them without reference to the year 16:18:35 -!- mehrheit [n=user@lan-84-240-55-160.vln.skynet.lt] has quit [Read error: 104 (Connection reset by peer)] 16:18:41 dlowe: you can't always do that, surely? 16:18:43 attila_lendvai: or you could do time arithmetic without reference to the date, too 16:18:47 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 16:18:48 (leap-years, and leap-seconds) 16:19:10 leap-second this year, iirc 16:19:13 (or, if you go back far enough, annoying Roman consuls arbitrarily shoving a few days in here and there) 16:19:14 rsynnott: no, you can't always do that. 16:19:16 salex: there is 16:19:26 I'm vaguely worried it will kill my vmware machines 16:20:01 (for some reason, previous leap-seconds have badly upset UML and VMWare systems, though hopefully the relevant bugs are fixed now) 16:20:05 dlowe: yeah, what about the ambiguous situations? have a flag whether an error should be signaled in case of amibuouity? 16:20:11 ebzzry__ [n=rmm@124.217.79.243] has joined #lisp 16:20:38 rsynnott: going back far enough in time does not mean that you need to change calendars... we are talking about the gregorian calendar only here 16:21:07 rsynnott: the system applies, even if at that time the calendar was not even incented 16:21:10 attila_lendvai: I'd prefer an aggressive approach to detecting ambiguity to avoid runtime errors that only happen around the end of February 16:21:45 dlowe: ok, error by default, that's my preference also 16:22:01 My example was a bad one - you really shouldn't be able to find the interval between month-days without reference to the year 16:23:19 attila_lendvai: honestly, we could do worse than to just port Joda over to common lisp. Most of the stuff I thought of is already in there. 16:23:39 and a lot of features that I hadn't 16:23:51 -!- ebzzry_ [n=rmm@124.217.85.2] has quit [Read error: 60 (Operation timed out)] 16:24:07 dlowe: leap seconds aren't in feb, anyway 16:25:04 salex: um, thanks. 16:25:10 salex: did I say they were? 16:25:33 if not, i misread your " avoid runtime errors that only happen around the end of 16:25:36 February" 16:25:38 whups 16:26:18 salex: which would happen in the case of a missing year while doing calculations between month/day, without any time specifier 16:26:32 -!- Athas` [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 16:26:40 *slyrus_* wishes there where an add-class function 16:26:57 ah, day only. gotcha 16:27:28 otherwise, without year you wouldn't know to second resolution if there was a leap, and if so, when it happened (they vary) 16:27:47 anyway, carry on :) 16:27:52 if you were thinking very long-term, you could get in early and make it support relativistic time :) 16:28:07 (GPS sats actually already have to deal with relativistic time) 16:28:29 -!- splittist [n=splittis@169-98.203-62.cust.bluewin.ch] has quit ["accelerates away at c"] 16:28:46 (local-time:now :speed-in-c 0.05) 16:29:14 rsynnott: for that matter, over long term leap seconds won't fix the earth-spinning-down problem eiether 16:29:28 well, that's longer term 16:29:38 you said very long term ... 16:30:07 anyway, back to work 16:30:08 even a mars base would have trouble with relativistic time within a century or so 16:31:34 prxq [n=mommer@Zdbef.z.pppool.de] has joined #lisp 16:31:53 Abelian [n=adam@yax.org.uk] has joined #lisp 16:33:52 HET2 [n=diman@chello080108038192.1.11.tuwien.teleweb.at] has joined #lisp 16:34:43 clhs is always hard to read for the first time, perhaps it is one of those things that scares newcomers. (But I did get my setf to work \o/) 16:36:29 specs tend to be like that. this one much less so than many (most?) 16:36:53 far less so, I think 16:37:00 compare with the C++ one :) 16:37:16 Yeah, CLHS is very readable and usable. I like the examples. 16:37:31 clhs may be more difficult to read than, say, the java standard distribution class docs, though 16:37:55 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 16:38:04 tzimakis [n=lisa@150.140.225.243] has joined #lisp 16:39:24 LiamH [n=none@common-lisp.net] has joined #lisp 16:40:00 slyrus: what would add-class do? 16:42:12 [ot] doesn't it look like greek riots are a false flag operation instigated by right-wingers? 16:42:56 http://dis.4chan.org/read/prog/1208110675/ <--- Actually somewhat related 16:43:17 tiento [n=user@190.161.24.77] has joined #lisp 16:43:44 weirdo: highly unlikely 16:44:00 4chan has a programming channel now? 16:44:41 rsynnott: do you use SBCL? 16:44:41 rsynnott, yeah, the mob's probably incompetent in promoting leftist agenda :( 16:44:41 16:44:42 rsynnott: The imageless part is usually hidden 16:44:49 kgn [n=kglovern@CPE001b11e68946-CM0014f8ca15f0.cpe.net.cable.rogers.com] has joined #lisp 16:44:57 -!- tzimakis [n=lisa@150.140.225.243] has left #lisp 16:45:20 tc-rucho: I do 16:45:37 they should light candles at the murder site, exchange pictures of the slain kid, employ media spin doctors to turn the sheeple against the ruling party 16:45:55 weirdo: the sort of far-right loonies who might like to orchestrate riots probably don't have a good way to convince students to riot 16:45:57 imply how the killing was politically motivated... etc 16:46:01 rsynnott: could you help me check if it's cl-irc or something I'm doing wrong? could you try to (asdf-install:install 'cl-irc) ? 16:46:10 rsynnott: it fails to compile here 16:46:13 tc-rucho: not right now, I'm afraid 16:46:34 so with the riots, everyone other than rioters hates the leftists 16:46:49 gaja [n=Gabriel@c-0689e555.017-40-6c6b7013.cust.bredbandsbolaget.se] has joined #lisp 16:46:57 now they surely won't win the democratic process 16:47:46 weirdo: how is that related to lisp? 16:47:50 leftists don't plan on overthrowing the democratic order by force. no other possibility than their being sore losers due to the riots 16:48:12 ok, i'll shut up 16:48:47 -!- NoorDextor is now known as NoorielDextor 16:51:21 -!- simplechat [n=simplech@unaffiliated/simplechat] has quit [Remote closed the connection] 16:52:31 -!- tiento [n=user@190.161.24.77] has left #lisp 16:52:38 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 16:53:12 salex: Not much at all. Infinite-precision integers, rational arithmetic, complex numbers, some CLOS stuff including instances being updated when class changes, some generic functions and methods, but only very basic stuff. 16:53:48 sounds like it was well received; yay! 16:54:28 Hmm..really weird. I had a question a bit about how lists work in general. Trying to understand the destructive vs non-destructive stuff. Here's my example code: http://paste.lisp.org/display/71987. From my understanding, setf (second x) should set the car of the 2nd element of the list to 'foo' 16:54:47 I find the update-instance-for-redefined-class a bit cumbersome, at least from reading the AMOP. Maybe it's not too bad when you do it in practice. 16:55:03 try doing it in c++ ;) 16:55:10 I believe it's a destructive operation, just assigning the value - but found it only works if I do a (setf x (...)), which what I'm curious of is that (first ...) works, but (second ..) doesn't. 16:55:23 salex, RTTI ftw! 16:55:31 I've also tried (sixth) and received errors at that point. I may be missing some of this stuff. 16:55:46 ft{something}, anway 16:56:06 (defvar *x* '(1 2 3 4)) (setf (second x) 9) ; => (1 9 3 4) 16:56:11 salex, what's ft? 16:56:27 TDT: you are not allowed to modify constant data. 16:56:29 -!- kiuma [i=4d5de922@gateway/web/ajax/mibbit.com/x-c73deafd657e6785] has quit ["http://www.mibbit.com ajax IRC Client"] 16:56:31 josemanuel [n=josemanu@199.0.222.87.dynamic.jazztel.es] has joined #lisp 16:56:38 (defvar *x* (list 1 2 3 4)) (setf (second x) 9) ; => (1 9 3 4) 16:56:56 "for the", innit? 16:57:28 eep. I keep forgetting the constant lists. (I tend to view ' as a short-hand for list, which it of course isn't) 16:57:41 use ` 16:57:45 ;) 16:58:05 salex, ah yes. Yeah, guess it's slightly better than in C++. 16:59:28 salex: backquote results in a non-constant list? 16:59:33 Where do I find backquote in the spec? 16:59:46 tic: reader macros. 16:59:57 clhs ` 16:59:57 http://www.lispworks.com/reference/HyperSpec/Body/02_df.htm 17:00:13 tzimakis [n=lisa@150.140.225.243] has joined #lisp 17:00:26 Oh, syntax. I was looking at the Reader chapter. Thanks beach. 17:00:38 No problem. 17:00:57 -!- srcerer_ is now known as srcerer 17:01:18 Just great. While fixing my keymap I killed backquote. 17:02:15 -!- 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."] 17:02:17 beach: I'm not sure I understand what you mean. I apologize for the kinda basic question maybe, just trying to wrap my head around this. 17:03:04 -!- aerique [i=euqirea@xs2.xs4all.nl] has quit ["..."] 17:03:06 TDT: quoted lists like '(1 2 ...) are constant data. The spec says you are not allowed to modify them with destructive operations. Use (list 1 2 ...) instead. 17:04:28 -!- elurin [n=user@85.99.172.78] has quit [Read error: 110 (Connection timed out)] 17:04:57 beach: Interesting, why did (first) work in this..did it assign a new con cell, and then link the cdr or whatever to the 2nd element and throw away the first? 17:05:03 TDT: also, a `)' should never be preceded by whitespace. 17:05:34 TDT: I have no idea, but your programman is not conform, so the system is allowed to do whatever it wants. 17:06:15 -!- kgn [n=kglovern@CPE001b11e68946-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit ["Ex-Chat"] 17:07:20 beach: *nod* ok, I'll try setting it to list and seeing if it just "works" then, as a new function. This code doesn't work for anything, but it does help me learn better lisp as I go through the book :) 17:08:20 oudeis [n=oudeis@89-138-158-30.bb.netvision.net.il] has joined #lisp 17:08:48 yakov [n=yakov__@84.17.19.221] has joined #lisp 17:08:58 Hmm, that works really well. Interesting, I'll have to read the spec on list - PCL is pretty good explaining it, but I don't remember reading the difference between ' and (list) 17:09:06 -!- yakov [n=yakov__@84.17.19.221] has quit [Remote closed the connection] 17:09:15 esden [n=esden@lapradig77.informatik.tu-muenchen.de] has joined #lisp 17:09:38 -!- tc-rucho [n=tc-rucho@unaffiliated/tc-rucho] has quit ["WeeChat 0.2.6"] 17:10:47 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 17:13:21 sohail [n=Sohail@unaffiliated/sohail] has joined #lisp 17:13:30 Yuuhi [n=user@p5483DF62.dip.t-dialin.net] has joined #lisp 17:15:32 rpg [n=rpg@fw.henn.dunn.pcspeed.com] has joined #lisp 17:16:53 eno [n=eno@nslu2-linux/eno] has joined #lisp 17:16:57 -!- V-ille [n=ville@dsl-olubrasgw1-febddf00-91.dhcp.inet.fi] has quit ["Leaving."] 17:18:42 -!- dto [n=user@c-98-216-64-95.hsd1.ma.comcast.net] has quit [Remote closed the connection] 17:19:03 rread [n=rread@adsl-75-62-179-71.dsl.pltn13.sbcglobal.net] has joined #lisp 17:20:47 -!- HET2 [n=diman@chello080108038192.1.11.tuwien.teleweb.at] has quit ["This computer has gone to sleep"] 17:21:26 -!- oudeis [n=oudeis@89-138-158-30.bb.netvision.net.il] has quit ["This computer has gone to sleep"] 17:22:26 -!- matley [n=matley@matley.imati.cnr.it] has quit [Read error: 104 (Connection reset by peer)] 17:22:50 nikodemus [n=nikodemu@cs181130148.pp.htv.fi] has joined #lisp 17:23:05 matley [n=matley@matley.imati.cnr.it] has joined #lisp 17:23:11 -!- matley [n=matley@matley.imati.cnr.it] has quit [Remote closed the connection] 17:23:36 sellout [n=greg@guest-fw.dc4.itasoftware.com] has joined #lisp 17:23:59 rread_ [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 17:27:07 -!- vtl [n=user@nat/redhat/x-642c85c71eb02707] has quit [Remote closed the connection] 17:27:54 You know what sucks more than the academic job market? The academic job market in a recession, that's what. 17:27:56 sigh. 17:28:22 salex: you may hope for a good war 17:28:31 salex: what are you doing, I mean, do you mean working for a university, or trying to hire someone into academia? 17:28:32 really? I tought we're somewhat shielded from recession? 17:28:33 salex, what do you mean by academic? 17:28:37 they tend to have spending increased on entertainingly pointless CS projects 17:29:01 tic: t-t jobs, specifically 17:29:06 rsynnott, I read that as unmarked GC objects. Speaking of too much academia.... 17:29:16 salex, I don't know what t-t jobs are. teaching-tutoring? 17:29:21 tenure track 17:29:38 iow, the career path towards a tenured professor 17:29:47 Ah. 17:29:53 search approval doesn't mean funding approval 17:30:17 salex: are you a postdoc or more a longer time professor? 17:30:27 some departments who are searching this year are starting to get notices that their promised positions won't be funded 17:30:48 TDT i'm on the market this year, mores the pity 17:30:54 ah, that doesn't happen over here, at least not that I am aware 17:31:03 salex: is the funding for these positions mostly from the state, or from industry? 17:31:17 salex: yeah, I kinda know how you feel, I work in academia as well, but only as a staff member in grad school. 17:31:24 V-ille [n=ville@dsl-olubrasgw1-febddf00-91.dhcp.inet.fi] has joined #lisp 17:31:24 salex: read greenspun's opinion on t-t? 17:31:32 -!- tzimakis [n=lisa@150.140.225.243] has left #lisp 17:31:47 academic spending seems to be holding up here, but it's mostly from the state and a few large companies who are dependent on a constant flow of researchers 17:32:12 Yeah, funding all over here is starting to hold up a bit. 17:32:18 evening 17:32:19 funding is from universities. that may be state, may be private 17:32:25 Funding is still flowing, but it's not quite as much for sure. 17:32:44 but in both cases there are problems. for example, harvard just issues a hiring and salary freeze 17:32:51 salex: Yeah, state funding is the largest hit for my department at the very moment. 17:32:54 as their endowment is losing 30% or so this yeawr 17:33:06 salex: ultimately, though, the money is probably coming from state or industry funding to the university? 17:33:14 but when funding starts to get tight, new hires are one of the easiest to cut 17:33:30 rsynnott: right, and so when they get hit, the universities get hit 17:33:32 -!- mega1 [n=mega@pool-054ef.externet.hu] has quit [Read error: 110 (Connection timed out)] 17:33:47 most of them aren't hurting too much yet, but next year will be bad 17:33:59 two jobs i was interested in have allready dissappeared 17:34:03 I do think that if funding hits too hard in my dept, going into the PhD program may be worth my time finally then :) 17:34:20 it's always a time of increased grad school enrollment 17:34:23 Although almost being 28, not sure if it's a good idea to get into the PhD program at this point...I'm a few "years late" in some ways. 17:34:26 kind of sucks to be on the other end though 17:34:50 i wouldn't worry about that TDT, as long as you factor it into your long term plans 17:34:59 I didn't even go to undergrad until 24 17:35:26 hmm, "[Harvard] has the largest financial endowment of any non-profit organization except for the Bill & Melinda Gates Foundation, standing at $38.7 billion as of 2008." 17:35:33 salex: Yeah, I went to undergrad right away, but took a year off before going into grad school...i'm in grad school now, but 5 years to get my MCS is stupid 17:35:37 hell, i didn't really finish high school until 24 17:35:49 jop [n=jop@222.165.105.99] has joined #lisp 17:36:10 michaelw: yup. they're projecting 8billion plus loss this year, hence the freeze 17:36:28 less immediate hits to schools with less reliance on endowmetn for budget 17:36:32 but it'll hit next cycle 17:37:01 and it's always cheaper to hire adjuncts to cover a teaching shortfall than to hire new t-t 17:37:29 so dept's can hedge their bets 17:37:50 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 17:37:54 jajcloz [n=jaj@209.6.216.149] has joined #lisp 17:38:00 anyway, this is ot 17:38:07 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 17:38:14 i was just bitching and moaning 17:38:35 I can sympathise with your bitching and moaning 17:39:00 Xof: i've just recieved notice of another cancelled search, is what set it off 17:39:13 Well, about the lists - found out that push-pop also works with '(...) type lists. Maybe just a language convenience, heh. 17:39:14 and i'm too choosy -- haven't applied so many playces 17:39:21 *places 17:39:23 -!- prip [n=_prip@host245-134-dynamic.42-79-r.retail.telecomitalia.it] has quit [Read error: 110 (Connection timed out)] 17:39:41 Xof: iirc, in UK searches are done whenever needed, correct? 17:39:55 prip [n=_prip@host1-120-dynamic.53-79-r.retail.telecomitalia.it] has joined #lisp 17:40:01 -!- jop [n=jop@222.165.105.99] has left #lisp 17:40:02 correct, but the system is different anyway 17:40:12 right 17:40:18 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #lisp 17:40:32 here almost everything happens at once, so at best you're looking at a years gap 17:40:57 people scramble for funding and/or crap teaching positions to get them through. what fun! 17:41:11 jop [n=jop@222.165.105.99] has joined #lisp 17:41:44 anyway, i shouldn't complain too much. I've a decent enough spot here for the moment and I can extend a year at need. 17:41:49 My advisor (for my thesis) gives me the impression he's doing nothing but applying for funding. 17:42:16 many are these days. it's depressing. 17:43:17 dfox [n=dfox@r5cv134.net.upc.cz] has joined #lisp 17:43:18 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 17:43:18 Yes, it doesn't make much sense. (less so here in Sweden where universities are free beer). 17:43:38 -!- rpg [n=rpg@fw.henn.dunn.pcspeed.com] has quit [] 17:43:45 huh. yeah, here you can understand how the soft salary thing is driving it 17:43:50 (partially) 17:43:58 Hmm...now I'm totally confused about lists...*sigh* 17:44:05 TDT, what's confusing you? 17:44:11 salex, what's soft salary? 17:44:49 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 17:44:54 typically with an academic research position here, some percentage of your stated salary is `soft', meaning that the university won't pay you that money but you can get up to that amount from grants 17:44:58 -!- rread [n=rread@adsl-75-62-179-71.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 17:45:04 in some extreme cases this can be 80% even 17:45:13 Ugh. 17:45:21 -!- jop [n=jop@222.165.105.99] has quit [Client Quit] 17:45:26 more likely to be a quarter or a third though 17:45:38 jop [n=jop@222.165.105.99] has joined #lisp 17:45:58 so to make up the difference you have to either get a grant (one that allows salary support), doe extra summer teaching, or just take the lower salary 17:46:18 academia -- no freedom, no money? 17:46:21 it's a US thing, as far as I can tell 17:46:28 sounds worse than the situation for phd students, actually 17:46:38 the extreme side is pretty terrible 17:46:39 they generally get a decent-sized fixed grant 17:46:56 some high profile places will take you on at 80 or 100% soft money 17:47:05 sounds extremely stressful to me. 17:47:13 and you sink or swim, but people take it because of the opportunity 17:47:17 and the oversupply of phd's 17:47:21 yes. stressful 17:47:33 with 20% or 25% you can imagine just eating the loss 17:47:37 not so much with 80% 17:47:48 oversupply of /certain/ phd's only, though? can't imagine you have an oversupply over the entire spectrum. 17:47:59 yes, pretty much the entire spectrum 17:48:00 tic: Just understanding when a list can be mutable vs immutable 17:48:02 -!- jop [n=jop@222.165.105.99] has quit [Client Quit] 17:48:18 (there are very nice govt grants here where they pay your fees, then give you 20-something K a year 17:48:19 but the soft money thing is pretty much science etc. where the grants are possible to fund this 17:48:24 TDT, well then! '(foo bar) is like const char *values = "foo bar"; You're not supposed to touch that. 17:48:51 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 17:48:55 humanities etc. is different. but they have a lot more adjunct teaching staff that will ever get full time faculty positions 17:48:55 and in certain circumstances that will actually be enforced :) 17:48:55 rafting [n=hask@h152n1c1o1097.bredband.skanova.com] has joined #lisp 17:49:01 tic: yeah, but it allows me to in something I just wrote. did something like (x '(1 2 3)) and (setf (second x) 5) and I get (1 5 3) back. 17:49:05 how do I comment out a region in emacs? 17:49:08 different mechanism, but still much stress. 17:49:12 jfrancis [n=jfrancis@72.14.224.1] has joined #lisp 17:49:17 rafting: with SLIME, M-; 17:49:20 anyway, sorry about hte off topic. i'm back to work :) 17:49:25 tic: yet, when I nconc these, both with '(..), it failed... 17:49:35 TDT, it just happens to work, but it will not always. For example, what if your Lisp always places constants such as your '(1 2 3 4) in read-only memory? 17:50:31 probably not that likely these days, of course, but you still shouldn't do it 17:50:59 So, does anyone know anything about lispbuilder-sdl/SBCL/MacosX? 17:51:02 TDT, using '(1 2 3 4) in your code is the same as placing a 4 somewhere in your code. It's a constant, and you're not supposed to change it. 17:51:12 -!- l4ndfo [n=l4ndfo@catv-89-132-93-183.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 17:51:19 The docs say that the status is "unknown" 17:51:31 -!- jewel [n=jewel@41.247.195.35] has quit [Read error: 113 (No route to host)] 17:51:32 mogunus: what happens when you try it? 17:51:41 it should PROBABLY be okay, in theory :) 17:51:44 rsynnott: I don't have a mac :( 17:51:47 salex, also, CS PhD's tends to get sucked into the cloud, so.. 17:51:56 (and if it isn't, it should be fixable) 17:52:04 rsynnott: That's encouragable. 17:52:06 ... 17:52:16 s/encouragable./encouraging. 17:52:17 postamar [n=postamar@x-132-204-254-217.xtpr.umontreal.ca] has joined #lisp 17:52:20 I can't spell. 17:52:51 I can arrange to have a mac to fix it on, though, if it doesn't work right off the bat... Good. Thanks. 17:53:27 mogunus: it uses a separate library to do the necessary talking to cocoa, it seems, which is a good sign 17:53:58 (if it were doing it directly through ccl's objc bridge, that might be hard to replicate on sbcl) 17:53:59 *mogunus* nods 17:54:28 Well. Must run. Here's hoping that works when I get my mac in a week. 17:54:32 *mogunus* crosses fingers 17:55:07 you might have to tweak CFFI paths, and that 17:57:45 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit ["bye"] 17:58:33 REPLeffect [n=REPLeffe@69.54.115.254] has joined #lisp 17:59:58 -!- tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has quit [Remote closed the connection] 18:00:48 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [Remote closed the connection] 18:01:02 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #lisp 18:01:40 -!- NoorielDextor is now known as NoorDextor 18:02:57 syamajala [n=syamajal@140.232.182.239] has joined #lisp 18:04:30 tic: Interesting, ok that makes more sense. Thanks for helping on that. 18:04:44 tic: Sucked into the cloud? sorry was afk there. 18:06:01 TDT, google, amazon, yahoo, etc. 18:06:11 evenin' 18:07:12 tic: ah 18:07:23 tic: Yeah, I'm really tempted to go into the PhD program here...*sigh* dunno though 18:08:11 -!- rafting [n=hask@h152n1c1o1097.bredband.skanova.com] has left #lisp 18:10:25 Is there a better way of doing (reverse (loop for x on '(A b c d) collect x)) ? 18:10:31 TDT, don't ask me, I haven't yet graduated. 18:11:03 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Read error: 60 (Operation timed out)] 18:12:21 kzar: how about (nreverse (maplist #'identity list)) 18:13:52 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 18:14:25 tic: Yeah..in grad school right now. 18:15:59 -!- fe[nl]ix [n=algidus@89.202.147.22] has quit ["Valete!"] 18:17:14 -!- syamajala [n=syamajal@140.232.182.239] has quit [Remote closed the connection] 18:23:17 -!- schme [n=marcus@c83-249-80-232.bredband.comhem.se] has quit ["Lost terminal"] 18:23:45 or (reverse '(A b c d)), surely? 18:24:14 rsynnott: "on" not "in" 18:24:29 ah, oops 18:24:42 silly loop. 18:24:56 *rsynnott* really quite likes loop these days 18:25:23 saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has joined #lisp 18:25:23 schme [n=marcus@c83-249-80-232.bredband.comhem.se] has joined #lisp 18:27:14 cooldude127 [n=user@lawn-128-61-127-145.lawn.gatech.edu] has joined #lisp 18:28:00 (reverse (collect (scan-sublist '(a b c d)))) 18:28:43 just an informal poll here: anybody use a tool to document your cl code? if so, what do you use? 18:29:01 no 18:29:01 like generate html docs 18:29:12 I comment, grudgingly and occasionally; that's the extent of it :) 18:29:21 lol 18:29:21 cooldude127: docstrings for internal documentation, texinfo for manuals 18:29:30 oh, and some docstrings, yes 18:29:35 cooldude127: I just put a docstring in functions where I can and try to make the code clear.. odd comment but usually not 18:29:46 cooldude127: I find you don't need to as much as in crappy languages like PHP 18:30:09 yeah i get that feeling 18:30:18 i was trying to use tinaa but i couldn't make it work 18:30:20 -!- prxq [n=mommer@Zdbef.z.pppool.de] has quit [Remote closed the connection] 18:30:21 there are whole large libraries which are basically entirely comment-free 18:31:06 rsynnott: that's a problem. big undocumented libraries 18:31:21 or do they have like manuals and stuff 18:31:30 just no code comments 18:31:57 sometimes they have manuals :) 18:32:23 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 18:32:30 cooldude: see lichteblau's recent post http://groups.google.co.il/group/comp.lang.lisp/msg/6080ae59f3a57df8?hl=en&dmode=source 18:34:24 alright so basically there's nothing agreed upon pretty much? 18:35:01 i guess i'll just write docstrings and stop there 18:35:51 emarsden [n=user@mir31-3-82-234-52-44.fbx.proxad.net] has joined #lisp 18:36:00 cooldude127: I do the same, yet I'd document better if I'd know something better 18:36:04 adeht: very interesting read 18:37:08 i feel like a good tool for generating docs gives me more incentive to write them 18:37:37 bobbysmith007 [n=russ@216.155.97.1] has joined #lisp 18:38:08 cooldude: see atdoc's example referred to in that post.. it looks rather nice 18:38:19 ikki [n=ikki@201.155.75.146] has joined #lisp 18:38:41 my impression in my short c-l life thus far has been that c-l programmers seem proud that their code doesn't need documentation. 18:39:02 because, well, if you know lisp, the documentation is the code. 18:39:15 Wow. 18:39:20 That's complete bollocks. 18:39:28 yeah i don't buy it 18:39:45 there's a fair share of lisp code that's complete gibberish 18:40:04 there's a fair share of Lisp code that's well-documented 18:40:16 schme: this is just my experience thus far, i've rarely found a library with anything resembling comprehensive usage documentation. 18:40:25 example usages are even hard to find, in many. 18:40:32 pstickne [n=pstickne@69.166.35.201] has joined #lisp 18:40:35 that's the problem with a lot of lisp libraries 18:40:42 edi's stuff is well documented 18:40:54 yeah i like edi's stuff 18:41:00 yep, that's nonsense (the idea that comments are not required) 18:41:03 bougyman: I am not understanding how you come fram that fact to the idea that CL hackers are proud of that lack. 18:41:14 schme: oh, the attitude? 18:41:20 actually in here is where I see that most. 18:41:21 local-time is documented :p 18:41:27 *rsynnott* spent half of yesterday figuring out exactly how the postmodern elephant backend worked :S 18:41:49 bougyman: Hoh.. That's odd, I don't think I've ever seen with that attitude here. Maybe I missed it. 18:42:00 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 18:42:27 *cooldude127* ./clbuild install atdoc 18:43:12 Would whoever that thinks documentation is a bad idea take a step forward? 18:43:39 -!- vasa [n=vasa@mm-1-90-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 18:44:01 bougyman: Personally I leave my own code heavily undercommented, but I find it total crap to do just that. 18:44:11 schme: documentation has its downsides.. it depends 18:44:24 adeht: What downsides? 18:44:25 schme: and you wonder where I get my opinion from? :) 18:44:43 bougyman: Yes. Where do you get the idea that CL programmers are proud of this lack? 18:44:54 schme: for example, it "crystallizes" the design 18:45:01 adeht: No idea what that means. 18:45:06 schme: though everyone agrees that more docs are good, the doc writing stays at a minimum. 18:45:21 schme: makes it more costly to change 18:45:25 adeht: in that it increases cost of modifications? 18:45:26 bougyman: Yes. To me that seems more that CL programmers are ashamed of the lack. 18:45:27 ah, yes :D 18:45:28 schme: i think he's saying that by writing docs, it sets the code almost in stone 18:45:29 schme: then when you ask a 'how does Y library work?' you get people saying to open up the source and find out. 18:45:41 i hate that 18:45:52 I see. 18:45:57 My code is free to change. 18:46:04 cost free! 18:46:04 cooldude127: ah, well, better than not having the library at all, eh? 18:46:15 rsynnott: much better. 18:46:21 the concept of code *interface* being separate from code *implementation* is some decades old now 18:46:29 Looking at the source seems a good place to find out how something works.. That is likely where documentation is ;) 18:46:35 I was a little frustrated at having to figure out how the bloody postgres backend worked, but it's very useful 18:46:35 and I have to agree, once you actually grok C-L, lacking documentation on libraries isn't a real hurdle. 18:46:37 mdxi: note that I said "design" and not "code" 18:46:43 cjn [n=neufeld@ottawa-hs-206-191-28-140.s-ip.magma.ca] has joined #lisp 18:47:14 so you have to be willing to ditch backward compatibility for better design. everything is a balance. 18:47:27 bougyman: the fact that the code may change in unforeseen ways, is however 18:47:40 madnificent: absolutely. 18:47:49 but that's not a lisp-specific paradigm. 18:47:53 mdxi: good, so we agree that documentation has its downsides 18:48:33 So... 18:50:11 damnit, atdoc not working 18:50:19 this one, irritatingly, also required me to understand postgres stored procedures :P 18:50:24 complains about xpath:parse-xpath not being defined 18:50:27 (defun foo () "foo does stuff" 1) is bad and increase cost of change when.. ? 18:50:58 cooldude: get plexippus-xpath? 18:51:02 oh 18:51:03 splittist [n=splittis@34.12.3.213.fix.bluewin.ch] has joined #lisp 18:51:07 morning again 18:51:10 bougyman: problems aren't lisp-specific, only solutions are ;) 18:51:13 either way it is getting very late here in the CET. good night everyone :) 18:51:25 night schme 18:51:26 when foo abruptly does something else :) 18:51:27 i almost said something about the lisp community. 18:51:39 but, as i've been told hundreds of time, there is not a lisp community. 18:51:40 careful now 18:51:42 adeht: idk i installed from clbuild, the dependencies should be there. and the xpath package is there with other stuff in it 18:51:46 rsynnott: :) 18:51:55 which often confuses me as this seems pretty community-ish in here to me. 18:52:04 I guess it seems late to schme because sunset was a few weeks ago... 18:52:48 schme: first, writing documentation is a bit more challenging than writing "X does stuff" 18:53:01 adeht: yeah i definitely have that xpath library 18:53:37 -!- kzar [n=kzar@hardwick.demon.co.uk] has quit [Read error: 104 (Connection reset by peer)] 18:53:39 cooldude: is that system loaded? 18:53:48 yeah 18:54:00 it just doesn't seem to have that function 18:54:01 nyef [n=nyef@pool-64-223-171-59.man.east.verizon.net] has joined #lisp 18:54:02 there is only a lisp community when you say good things about it 18:54:32 schme: second, when something is documented, expectations about its stability are raised 18:54:43 hoh. 18:54:44 adeht: actually i find references to parse-xpath in the xpath code, maybe it's not exported 18:54:47 *schme* waits for coffee. 18:54:51 ksergio: not even then, maybe 18:54:52 splittist: No I'm a morning person. 18:55:02 adeht: Depends on the documentation, now doesn't it? 18:55:29 myrkraverk [n=johann@unaffiliated/myrkraverk] has joined #lisp 18:55:32 adeht: It's you arguing the case that documentation increase cost of change. I'm waiting for how it applies to my documentation for FOO. 18:55:57 *schme* is waiting for kernel rebuild :( 18:56:00 schme: your example is nonsensical, so I am not going to bother arguing 18:56:02 kzar [n=kzar@hardwick.demon.co.uk] has joined #lisp 18:56:19 adeht: Great. Then I'll stick with documenting code is a good idea. 18:56:48 rpg [n=rpg@c-75-72-23-204.hsd1.mn.comcast.net] has joined #lisp 18:57:17 adeht: I tend to put lil ;'s and ;;'s in my functions. Just one line things here and there. I find it a very good thing to do.. If later the specs of the whole thing changes, no worries. that documentation dies off too. 18:57:26 C-k is as fast as C-k :) 18:57:40 rpg_ [n=rpg@fw.henn.dunn.pcspeed.com] has joined #lisp 18:57:55 adeht: i found the function, but it's internal to the package 18:58:12 schme: I tend to write docstrings, too.. 18:58:40 cooldude: oh.. maybe you should report it then 18:59:08 to atdoc or xpath? 18:59:17 plexippus-xpath 18:59:38 adeht: I'm not sure how even documenting APIs for something is a problem. Just fuck backwards compatibility when you release 4.0. 18:59:58 oh reboot :) 19:00:00 -!- schme [n=marcus@sxemacs/devel/schme] has quit ["leaving"] 19:01:43 cooldude: are you sure that you have the latest version? it seems at least the 2008-12-07 tarball has the function exported 19:01:55 "function exported" hehe.. symbol, I mean 19:02:10 adeht: i'm using clbuild so i assume it's the most recent scm version 19:02:14 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 19:02:26 schme [n=marcus@sxemacs/devel/schme] has joined #lisp 19:02:32 cooldude: well, look at the package definition 19:02:49 grumble grumble. 19:02:53 schme: yes, that's what versions are for 19:03:04 madnificent: Hoh? 19:03:14 Oh I need to remember what I was ranting about :) 19:03:34 upon a major version change, you don't have to keep compatibility 19:03:37 schme: Documentation, wasn't it? 19:03:41 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 19:03:54 adeht: Also sorry about the grumpyness here! I'm in a shit mood here :) awake at 8 pm, and linux + nvidia is acting shit :) 19:03:57 oh. 19:04:05 as is traditional 19:04:06 Ya I love documentation. I'm just to lazy to write it. 19:04:08 Oh, god. linux+nvidia is hell. 19:04:24 *rsynnott* misses nice slow video cards which just worked 19:04:28 -!- rpg [n=rpg@c-75-72-23-204.hsd1.mn.comcast.net] has quit [Read error: 60 (Operation timed out)] 19:04:48 I'm convinced most version bumps comes around 'cause whoever forgot just what the heck he/she was doing in the first place.. 'cause the documentation was lacking. 19:04:51 you are talking about "releases".. a "release" is a snapshot.. it's the inbetweens where documentation incurs costs 19:05:00 oh. 19:05:07 adeht: I hack for free so I wouldn't know :) 19:05:27 adeht: wtf? it's exported in the package def 19:05:36 I can't even upgrade to 2.6.28 (which, AFAICT, fixes everything hardware-related on my system that is managed by the kernel) until gentoo portage contains the corresponding nvidia-driver versions. :-/ 19:05:45 cooldude: yes, so maybe the system wasn't properly loaded 19:05:53 nyef: well, you could just install it manually :) 19:06:26 I started working on `culisp' cuda lisp thingy 19:06:28 rsynnott: I prefer not to monkey with what should be the domain of the system package manager. It tends to be safer that way. 19:06:29 adeht: looks like you're right, when i try to compile it, it complains about lambda* being unbound 19:06:52 adeht: I very much agree with you, of course. 19:07:07 Still lack of documentation can't just be a lisp problem. everyone is lazy all over the place :) 19:07:19 aka-aka [i=dba322f1@gateway/web/ajax/mibbit.com/x-7e0dbda329dc9d90] has joined #lisp 19:07:26 adeht: that's nvidia's GPU programming thingy? 19:07:33 rsynnott: yes 19:07:36 how are you doing that, actually? 19:07:40 FFI to a C lib? 19:07:40 now to order a new video card that works with the 64bit linux >< 19:08:04 rsynnott: well first there's the low-level cu library.. I wrote cffi bindings for that 19:08:27 -!- nullwork [n=kyle@c-24-245-23-122.hsd1.mn.comcast.net] has quit [Remote closed the connection] 19:08:36 schme: indeed - I heard someone lamenting the other day that the documentation for dojo (vs jquery) was a reason for not using it 19:08:56 :) 19:09:27 rsynnott: I'm considering having a sexp syntax for PTX and then coming up with a small language to compile to it 19:09:31 anybody know offhand the keyboard shortcut in sldb to go to the source? 19:09:36 adeht: How does that GPU programming work.. can you just have it do any random stuff? 19:09:37 rsynnott: but that way is fraught with problems 19:09:49 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 19:10:23 rsynnott: I saw pycuda thingy, but that just passes CUDA C strings to nvidia's compiler.. distateful 19:10:29 distasteful, even. 19:10:52 ok wtf? lambda* is defined AT THE TOP OF THIS FILE! it's wrapped in an eval-when, how is this not defined 19:11:09 schme: well, the instruction set is very simple.. mostly arithmetic/logic/memory operations 19:11:19 nividia's compiler probably has optimisation on a level you can't reasonably hope to reproduce on your own, though? 19:11:23 cooldude127: Bogus eval-when keywords? 19:11:26 hmmm.. 19:11:30 -!- Aankhen`` [n=Aankhen@122.162.159.16] has quit [Read error: 104 (Connection reset by peer)] 19:11:41 *rsynnott* would quite like to play with this stuff, but I think my laptop has an ATI chip 19:11:51 adeht: I like it - 'bits are distateful: 1 or 0' 19:11:59 (eval-when (:compile-toplevel :load-toplevel :execute) 19:12:10 adeht: those are right aren't they? 19:12:18 oh, no, apparently my model is nvidia 19:12:38 This is terribly interesting stuff for sure. 19:13:15 (I should really probably know this stuff :) ) 19:13:19 schme: it's used for data-parallel processing.. you have tons of threads, each working on part of the data in much the same way 19:14:17 -!- Abelian [n=adam@yax.org.uk] has quit ["Lost terminal"] 19:14:19 clhs disassemble 19:14:19 http://www.lispworks.com/reference/HyperSpec/Body/f_disass.htm 19:14:25 athos [n=philipp@92.250.204.223] has joined #lisp 19:14:39 araujo [n=araujo@gentoo/developer/araujo] has joined #lisp 19:14:53 oudeis [n=oudeis@p11811120.orange.net.il] has joined #lisp 19:15:00 adeht: is it SIMD, or can you do different things to different data simultaniously? 19:15:09 adeht: I seem to remember that the folding at home people were using some GPU client. Hmm.. Well I bookmarked the nvidia CUDA site and this all just made my TODO list. Thanks :) 19:15:12 Aankhen`` [n=Aankhen@122.162.159.16] has joined #lisp 19:15:18 cooldude: I'm not really in a position to check, but try loading plexippus-xpath from a vanilla image using asdf 19:15:27 k 19:15:57 -!- phao [n=phao@189.13.113.125] has quit ["Leaving"] 19:16:18 adeht/schme: I know the guyst who started this http://www.rapidmind.net/ 19:16:35 rsynnott: well the GPU has several processors (here at home I have 9600GT, which has 64 processors.. at work I have 8800GTX which I think has 128).. so you could launch multiple kernels working in different ways.. but yes, SIMD is the right analogy 19:16:46 they're pretty much on the bleeding edge of this stuff doing multicore+GPU+ cells stuff etc. 19:17:05 ah, but it's not just one big simd unit 19:17:06 cool :) 19:17:38 adeht: This seems very cool stuff :) 19:17:51 but some of the ideas show up in the sh language they made for gpu coding 19:18:12 now bedtime. :) 19:18:13 i.e.: http://www.bokkilden.no/SamboWeb/produkt.do?produktId=841035&rom=MP 19:18:15 night again .) 19:18:26 he's good 19:18:26 rsynnott: each processor can launch hundreds to thousands of threads.. there are groups of threads called warps, which are supposed to run the exact same flow 19:18:34 ecraven [n=nex@140.78.42.103] has joined #lisp 19:19:10 adeht: fresh image still has the same problem. it messes up on macroexpansion (yacc:define-parser) which is called later in the same file that defines lambda* 19:19:14 -!- srcerer [n=chatzill@dns2.klsairexpress.com] has quit [Remote closed the connection] 19:19:15 one idea I've seen talked about is a compiler which identifies things which can be profitably done on a PLD, implements them for that PLD, and in the generated code for the normal processor replaces them with instructions for the PLD 19:19:27 (so effectively building a custom co-processor for an application) 19:19:42 schme: yes, I worked with CUDA a while ago at work.. I wished it would be more interactive, though.. hence `culisp'.. 19:20:14 cluda? 19:20:16 schme: CUDA functions belong to modules, kinda like methods belong to a generic function, if you think about it.. so redefinition mechanisms should be similar 19:20:30 is it possible to specify a DECLARE IGNORABLE for vars defined in a symbol-macrolet? 19:20:33 a lot of these ideas are pretty old, bu it took a while for the hardware to get there 19:20:54 well, certainly for mainstream hardware 19:21:18 I suspect that these graphics chips aren't that much different to specialised processors which turned up in supercomputers decades ago 19:21:19 symbols, sorry. 19:21:27 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 19:21:39 i took a graduate course from that prof when this stuff was pretty new, but he had some interesting access to prototype 19:22:10 rsynnott: yes, in many ways it's similar. I meant that it took a while to make it practical on PCs (and cheap) 19:22:31 the problem with writing such a small language, is that I miss out on nvidia compiler's optimizations.. though it's PTX and so gets further compiled/optimized 19:22:44 some of the earlier GPUs were nearly there too, but had all sorts s of annoying quirks 19:23:38 cooldude127: perhaps you have package trouble? that is, maybe you've defined FOO::LAMBDA*, and accidentally use BAR::LAMBDA* elsewhere? 19:23:40 Is there a way to make format display numbers differently? I want to show 1/3 as 0.333 for example 19:23:52 what are the intended applications of this sort of stuff? 19:23:56 kzar: ~F 19:23:57 scientific work and so on? 19:24:01 adeht: thanks 19:24:13 Balooga: Yes, it is. However, you may not use all kind of declaration specifiers on symbol-macrolet bindings. 19:24:19 clhs ~F 19:24:20 http://www.lispworks.com/reference/HyperSpec/Body/22_cca.htm 19:24:37 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 19:24:37 (There should be a handful of output-control options for ~F.) 19:25:00 nikodemus: i haven't defined it anywhere else, and this is all in the same file in the same package 19:25:19 rsynnott: well at work we used it for some computer vision stuff.. but basically any "compute-intensive" data-parallel processing should fit 19:25:21 cooldude127: How about pasting the code? 19:25:36 rsynnott: some of the earliest stuff was stochastic simulations 19:25:42 -!- JuanDaugherty [n=juan@cpe-72-228-150-44.buffalo.res.rr.com] has quit [Remote closed the connection] 19:25:46 will certainly be interesting to see where it goes 19:25:54 how new a chip do you need to do it? 19:26:00 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 19:26:02 basically anything you might do with multiple parallel pcs, if you can figure out how to put it on GPUs you can do it cheaper 19:26:07 greathackingday! 19:26:21 minion: lisppaste 19:26:21 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 19:26:25 rsynnott: we were doing it in small ways in 2001 or so 19:26:35 but the older you go, the more limited and annoying it may be 19:26:43 rsynnott: I think today's plain nvidia GPUs support it.. 8xxx plus 19:26:56 cooldude127 pasted "ahhh" at http://paste.lisp.org/display/71994 19:26:58 cooldude127: try to reduce the code that shows the problem to a manageable size, and paste it to lisppaste 19:27:07 oh crap hold on 19:27:08 ah, cool 19:27:09 today, you can do some things on basically any decent card, i suspect 19:27:21 (I've got some mobile variant of an 8600, I think) 19:27:50 on-board memory makes a big different on how large a problem, too 19:28:13 cooldude127 annotated #71994 with "condensed" at http://paste.lisp.org/display/71994#1 19:28:24 when we were messing about with it, there were no compilers 19:28:48 so you ended up essentially writing asm for them 19:28:54 *high level compilers 19:28:54 cooldude127: that's still not condensed 19:28:59 thanks, now annotate with the complete error message and we are cooking 19:29:03 but i think its a lot easier noew 19:29:06 fusss: that's the code that causes the error 19:29:11 mmm rabbit stew. 19:29:12 fusss: it's two top-level forms 19:29:21 plus i forgot to kill the comments at the top 19:29:25 cooldude127: That macro definition of LAMBDA* is not really good. 19:30:03 tcr: well this isn't my library, but even if the macro definition sucks, it should still be there 19:31:16 cooldude127: what does (macroexpand '(lambda* (x y z) :foo)) say before and after the DEFINE-PARSER? 19:32:10 srcerer [n=chatzill@dns2.klsairexpress.com] has joined #lisp 19:32:25 oh shit that didn't work 19:32:28 -!- srcerer [n=chatzill@dns2.klsairexpress.com] has quit [Read error: 104 (Connection reset by peer)] 19:32:59 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [] 19:33:05 cooldude127 annotated #71994 with "what it says" at http://paste.lisp.org/display/71994#2 19:33:29 jkantz [n=jkantz@guest-fw.dc4.itasoftware.com] has joined #lisp 19:34:09 nikodemus: i get an exception when at define-parser so i can't really test it 19:34:11 for after 19:35:14 tcr: Thanks. I just want to use ignore, as I am defining several fields in a macro that are not always used in the body. 19:35:15 srcerer [n=chatzill@dns2.klsairexpress.com] has joined #lisp 19:36:11 cooldude: what's the error 19:36:49 (during macroexpansion of (YACC:DEFINE-PARSER *XPATH-PARSER* ...)) 19:36:49 The variable LAMBDA* is unbound. 19:37:07 _variable_? 19:37:14 yeah i wondered about that 19:37:25 but every reference to lambda* i can find is in the car position 19:37:36 maybe your `yacc' differs from the one it expects 19:38:02 cooldude127: Try to macroexpand the define-parser, and look in the expansion for occurences of lambda* 19:38:41 tcr: i get the error when i try to macroexpand the define-parser 19:38:54 it's not the call, it's the macroexpansion that fails 19:39:03 -!- srcerer [n=chatzill@dns2.klsairexpress.com] has quit [Read error: 104 (Connection reset by peer)] 19:39:11 then you're using the macro incorrectly 19:39:29 i.e. you placed a form to be evaluated at a place that is not supposed to be evaluated 19:40:13 idk where, i didn't write this, and this shit is huge 19:40:20 wtf xpath? 19:40:31 srcerer [n=chatzill@dns2.klsairexpress.com] has joined #lisp 19:40:44 cooldude: btw, are you using sbcl? 19:41:29 yeah 19:41:36 i think i found this problem on the xpath mailing list 19:41:47 looks like a change in cl-yacc broke it 19:42:34 cl-yacc is changing? wow 19:42:51 yeah i think i might have found a fix 19:43:03 yes, http://common-lisp.net/pipermail/plexippus-xpath-devel/2008-November/000017.html 19:43:53 jbjohns [n=chatzill@52-45.3-213.fix.bluewin.ch] has joined #lisp 19:44:26 (and see the next message for a patch to the current version) 19:44:30 yeah i found that 19:44:36 i'm putting the patch in 19:44:45 adeht: You've got experiences with cl-yacc? 19:45:22 WOOHOO 19:45:24 it works now 19:45:26 tcr: I took a lot at it a few months ago, but no, didn't use it in anger 19:45:34 s/lot/look/ 19:45:48 thanks for everybody's help in this 19:46:05 mrsolo [n=mrsolo@nat/yahoo/x-7f6ece2d41313ed8] has joined #lisp 19:46:54 michaelw: it would essentially create an anonymous class that extends the objects current class and the added class. 19:47:20 oh, and change-class the object to that class 19:47:31 syamajala [n=syamajal@140.232.182.239] has joined #lisp 19:47:33 -!- syamajala [n=syamajal@140.232.182.239] has quit [Remote closed the connection] 19:47:42 adeht: in anger of? 19:48:21 tcr: to solve real problems :) 19:49:07 Ah ok, I'd need some parser framework which is robust, and can result in meaningful parse error messages 19:49:43 yeah, I think cl-yacc could use improvement in this area 19:50:04 *nyef* prefers to just write recursive-descent parsers by hand. 19:50:05 tcr: from what I remember, cl-yacc certaintly fulfills desiderata 1; 2, not so much. 19:52:22 shouldn't it be desideratum 1? 19:52:41 hmm, perhaps it's shorthand for desiderata res :) 19:53:01 billstclair [n=billstcl@unaffiliated/billstclair] has joined #lisp 19:53:26 tcr: you are, of course, correct. (I could try and argue from some analogy to data, but I won't bother.) 19:53:51 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [Client Quit] 19:53:54 Hi all. I'm new to using lisp, and in looking at the libraries I notice there seem to be a lot for most common things. But so far it hasn't been easy for me to see which do what I want, and I don't see how to see what is the consensus about which is best (or at least what are the trade-offs) 19:54:16 splittist: It's interesting to note that data is always plural, but information always singular. :) 19:54:39 because datum is the singular 19:54:59 HET2 [n=diman@wlan-243-027.pns.univie.ac.at] has joined #lisp 19:55:12 I had an idea for doing a web site, but now I see that cl directory looks pretty close to what I had in mind. It would just need a bit more tagging (e.g. in looking for a socket portability layer, I'm still finding libraries that implement it), and some way for people with accounts to vote on their choice 19:55:13 So ought we to speak of many informatia? 19:55:16 jbjohns: One way is to ask here if anyone got experience with FOO. 19:55:16 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 19:55:42 (by analogy, of course, with criterion and criteria) 19:55:54 informations 19:55:55 tcr: I just came back --- I have past experience with cl-yacc, if you are still interested. 19:56:12 Riastradh: -a is the plural suffix for neuter forms, both in latin and greek 19:56:17 tcr: Right, but is that the interface you would want all lispers to use? Wouldn't it be good if someone new to lisp could just go to cl directory and for the thing they want to do they see all the libraries and which one most people think is best? 19:56:19 -!- rpg_ is now known as rpg 19:56:29 rpg: What did you use it for? 19:56:42 Surely information is like wheat 19:56:51 jbjohns: I think cl-dir is confusing as hell 19:57:19 Clearly, we need trendylisper.com! 19:57:22 I used it as part of an interpreter for an s-expression based language. I wrote a short paper about it for ILC09. Could email it to you. 19:57:34 jbjohns: Basically, the information what's out there on its own isn't worth so much; what you're more interested in is actual experience. So if I'm looking for something, I ask here. 19:57:42 netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has joined #lisp 19:58:29 tcr: I agree, but the people who use the stuff probably go through cl directory, cliki or something, so it would possible to do some kind of voting to help out new commers, no? 19:58:43 rpg: I'd have to use it for a non s-expression based language, and the audience are not programmers but engineers; hence the need for good error reporting. 19:58:46 I mean, that would show their experience, but in a static place, instead of them having to answer every new commer 19:59:23 jbjohns: Sounds good. 19:59:48 if such a system existed, would you vote on it? Would you trust the data at all yourself? 20:00:04 rme [n=rme@pool-70-105-87-66.chi.dsl-w.verizon.net] has joined #lisp 20:00:17 -!- rme [n=rme@pool-70-105-87-66.chi.dsl-w.verizon.net] has left #lisp 20:00:31 <_8david`> I'm confused. Is my own cl-yacc fork the only one with the bogus patch that breaks my software? This would be slightly embarrassing. 20:00:48 tcr: you could always have a sexp based and an algol based syntax (the latter transformed into the former), with errors from the latter saying 'Syntax Error - if you used parens I could tell you more...' 20:00:58 I'd probably not vote, and would treat the votes as an order in which to perform my own analysis of the libraries. 20:01:16 *_8david`* <- lost in a maze of darcs repositories 20:01:20 nyef: That would be perfectly fine to do analysis from it 20:01:35 Or is "evaluation" the word I want? 20:01:38 jbjohns: I think articles comparing libraries could be useful 20:01:51 they're prone to be dated 20:02:01 -!- H4ns2 [n=hans@p57A0C4A7.dip.t-dialin.net] has quit ["Leaving."] 20:02:07 so they should be updated 20:02:18 I wouldn't expect anyone to take the voting as gospel, in fact it can't be. Everything is a trade off, but at least it could group all the libraries together that do one thing, and give the reader some indication about which is most often used 20:02:34 who can point to an online vote aggregation service they actually rely on (apart from search engines)? 20:02:52 jbjohns: just "voting" is kinda useless 20:02:53 And a step further, the top entries could have a pros/cons section, with the con section giving pointers to which library is recommended in that case 20:03:03 jbjohns: Voting is a one-dimensional value for a multi-dimensional evaluation 20:03:17 you're both right, but one must start somewhere, no? :) 20:03:54 I think being able to leave comments (the comments should include a version string, or a checkout date) could be useful 20:04:07 or perhaps you have another idea? The deal is, I am about to start my 3 weeks vacation. Maybe I will be totally busy and have zero time, or maybe I will have some time to do some hacking. Just wondering where is a good place to make a dent 20:04:35 climacs 20:04:41 From what I've seen, it seems like CL has a lot of libraries, they just might be hidden in the forest, so to speak 20:05:25 and in some cases, e.g. networking/threading, a main implementation needs to emerge 20:05:45 I've looked at about 5 different networking applications and all of them used a different method for doing sockets 20:06:10 jbjohns: see for example Daniel Weinreb's survey of Lisp implementations.. the same could be done for Lisp libraries in a given domain 20:06:23 -!- postamar [n=postamar@x-132-204-254-217.xtpr.umontreal.ca] has left #lisp 20:06:24 For networking, the emergent interface is either usocket or sb-bsd-sockets. 20:06:28 I found such an article from 2006 about the socket libraries 20:06:46 nyef: sb-bsd-sockets is SBCL specific isn't it? 20:07:01 (seeing lots of issues with it on windows, btw) 20:07:41 *nyef* is surprised at how many implementations provide the sb-bsd-socket interface. 20:08:06 SBCL on windows? 20:08:11 yep 20:08:23 billstclair [n=billstcl@unaffiliated/billstclair] has joined #lisp 20:08:25 phao [n=phao@20158138032.user.veloxzone.com.br] has joined #lisp 20:08:41 I'm not surprised. There's a major flaw in the SBCL memory model that is exacerbated on windows. 20:08:49 my laptop is windows, so I don't have a choice. I spend a lot of my life on a train, so I have to be mobile. I plan to get a mac, but that wont be soon 20:09:08 I used to run coLinux on my windows box. 20:09:43 hrm. What I've seen so far is just, errors all seem to report as "socket-error" instead of the specific error, and I noticed I can bind to the same socket over and over without ever having SBCL report that the socket is busy 20:10:00 tcr: sorry, somehow I missed your earlier response while hacking.... 20:10:07 Mmm... Some of that might be winsock-specific. Not at all sure. 20:10:10 no show stoppers, but hard to deal with error conditions in that scenario 20:10:13 -!- salex [n=user@216.80.143.240] has quit [Remote closed the connection] 20:10:28 rpg: I'd be interested in the paper. Send it to my nickname @freebits.de, please. 20:10:29 I can certainly see that being irritating. 20:10:36 tcr: The error reporting of cl-yacc is not great. But compiler error reporting is *never* great by default. 20:10:57 nyef: could be, but it will have to be fixed at some point (unless Windows were to fall off the world, but I wont get my hopes up) 20:10:58 tcr: but you needn't use an s-expression based syntax to use cl-yacc. 20:11:30 Send a bug report to sbcl-devel? 20:11:41 tcr: making a shift-reduce parser generate informative error messages seems to be a black art. /sometimes/ the expectations are helpful, but mostly you need to help them along. 20:12:27 _8david`: what's the bug in cl-yacc you see? I've found it pretty bulletproof... 20:12:41 rpg: Do you know about any papers on this very subject? 20:12:46 nyef: been thinking about it, but I probably should do more work then just sending "hey, I think all errors report socket-error, and blah blah" 20:13:21 since they're nice enough to provide this thing for free and all. I'm lucky it even works on windows at all. Do any of the SBCL devs use windows? 20:13:29 I used to. 20:13:41 ah, you're one of the devs then? 20:13:48 jbjohns: when I get into such a situation, I usually snoop around to see if I can find the cause for the problem, maybe even try and fix it 20:14:02 I was at one point. I haven't done anything serious with it in a while. 20:14:12 (For that matter, I did the initial windows port.) 20:14:31 adeht: I would, but when you have fires breaking out in your entire house you tend to just deal with the ones between you and the door to the outside, if that makes sense 20:15:13 zorgzorg2 [n=martino@s83-191-235-17.cust.tele2.se] has joined #lisp 20:15:20 Which means I can tell you more than you want to know about the memory model, FFI, unwind-protect, and those god-damned consoles, but that higher-level things are a bit beyond me. 20:15:31 hehe 20:15:41 well, I'm using native emacs+slime+sbcl 20:15:47 so far, everything seems to work 20:15:51 Cool. 20:16:18 I was pleasently surprised to see that bsd sockets even worked on windows at all 20:16:37 At one point I hacked up serve-event so that I could open a window in SBCL and have its message function called as appropriate while slime still responded to input as well. 20:16:47 (ugh, with my spelling I should probably deny being a native english speaker) 20:16:52 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit ["leaving"] 20:17:04 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 20:17:05 I don't know if anything based on that hack was merged into mainline, though. 20:17:24 I think we needed sb-bsd-sockets for slime, actually. 20:17:35 Probably the main reason for implementing it. 20:17:45 ah, yes of course. Didn't think of that 20:18:38 but back to the sockets thing, bsd-sockets seems to be a good starting point then. But is that the lispy-est interface you could imagine for dealing with sockets? 20:19:09 hi guys. I have trouble finding #. in the hyperspec. Anyone got a link ? 20:19:21 clhs #. 20:19:22 http://www.lispworks.com/reference/HyperSpec/Body/02_dhf.htm 20:19:27 zorgzorg2: Nope. :-P 20:19:32 nyef: thanks ! 20:20:14 jbjohns: Honestly, no. But at the same time, it's an OS interface, so there's such a thing as being "too lispy". 20:20:17 pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has joined #lisp 20:20:37 I mean, it seems pretty unix-centric to me. Which doesn't disqualify it, but I haven't given up on a Lisp-OS yet. :) 20:21:02 Heh. You aren't the only one who hasn't given up on a LispOS. 20:21:14 :) 20:21:24 What's Unix-centric about BSD sockets, beyond the name? 20:21:32 sykopomp pasted "tutorial so far" at http://paste.lisp.org/display/71997 20:21:33 -!- pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has quit [Remote closed the connection] 20:21:42 The way to use the network is exactly how you could do it in unix 20:21:47 how goes the sbclos and clxs projects? 20:21:48 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 20:21:48 you could come up with your own higher-level abstraction.. I remember some rather inspiring post from Naggum about domain names that you may want to look for 20:21:52 So, jbjohns? 20:21:53 i.e. Call socket, then call connect for a client 20:21:57 lyte [n=lyte@unaffiliated/neerolyte] has joined #lisp 20:22:07 dcrawford: Haven't done anything with them in a while. 20:22:07 mulligan` [n=user@e178026065.adsl.alicedsl.de] has joined #lisp 20:22:10 tcr: I'm afraid not. My knowledge of compilation and parsing is pretty much limited to the Dragon book. 20:22:12 -!- oudeis [n=oudeis@p11811120.orange.net.il] has quit [Connection timed out] 20:22:40 jbjohns, what is Unix-centric about that, and what would be more Lisp-centric? 20:22:40 adeht: I'm doing just that actually. I was thinking at doing a Net:* type implementation 20:22:47 The BSD socket library already *is* a pretty high-level abstraction. 20:23:13 -!- srcerer [n=chatzill@dns2.klsairexpress.com] has quit [Read error: 104 (Connection reset by peer)] 20:23:13 adeht: Riastradh convincingly argues against such half-assed "high-level abstractions" 20:23:20 Riastradh: I don't agree. The names are different, but it's almost exactly what Stevenson's unix book tells you to do in C 20:23:37 jbjohns, so what if someone does the same thing in C? 20:23:39 Hrm... Speaking of interfaces to OS functionality, I should probably do something with sb-usb. 20:23:55 For example, if I want to open a client connection, I want to just say something like: (open host port) 20:23:56 tcr: I agree.. only that I didn't assume that they were half-assed ;) 20:23:56 I don't want to seem to be advertising for a non-free lisp I like, but Allegro has, IMO, a very nice, very lispy sockets interface. 20:23:58 Is having been done in C grounds for rejecting an abstraction? 20:24:01 pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has joined #lisp 20:24:20 Indeed, I pretty much cloned it when porting a recent ACL program to SBCL. 20:24:21 jbjohns: So, you want a wrapper around stream creation? 20:24:21 Riastradh: I said from the beginning it wasn't 20:24:42 srcerer [n=chatzill@dns2.klsairexpress.com] has joined #lisp 20:24:42 nyef: Doesn't have to be streams necassarily, just higher level then what C has 20:25:07 I mean, I'm not crapping on sb-bsd-sockets, it's fine and effective 20:25:20 jbjohns, well, if you want to *descend* in abstraction, then you are welcome to *specialize* a BSD socket interface: (defun open (host port) (let ((socket (create-socket socket-type/stream socket-domain/internet))) (loop for address in (get-address-info host port) do (if (connect ...) (return socket))) nil)) 20:25:21 -!- pmatos [n=pmatos@pocm06r.ecs.soton.ac.uk] has quit [Remote closed the connection] 20:25:29 I just mean, if you could have any interface in the world, is that would you would pick for it 20:25:45 My preference is actually to be as thin a layer as reasonable over whatever the foreign public interface is and then optionally layer a higher-level abstraction on top. 20:26:07 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [Read error: 104 (Connection reset by peer)] 20:26:17 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 20:26:29 jbjohns, but then you're restricting the utility, the protocol-independence, and the fleixbility of the socket API. If what you insist on providing is an OPEN-TCP-CONNECTION, then you haven't made anything useful for my DNS client and server, or for my ICMP-based network analysis tool. 20:26:31 riastradh: Not sure what you mean by *descend* into abstraction. If you don't like abstraction it seems strange that you use the language best at it. :) 20:26:31 I've been known to take a socket stream, grab the underlying fd, and use sb-unix:unix-read on it in order to get the semantics I need. 20:26:40 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 20:26:49 alright cool i got atdoc setup and working now 20:26:54 I wouldn't make open-tcp-connection 20:26:54 now i need to learn how to use it 20:27:48 What I'm looking at so far is more like: net:open(:host "localhost" :port 23 :direction :connect :options '(:reuse-addr)) 20:27:50 jbjohns, the BSD socket library implementation deals with the details of `TCP', `UDP', and so on -- and works just as well with non-internet sockets! What the application programmer sees is `connection-oriented stream sockets on the internet' or `datagram sockets on ISO networks' and so on. 20:27:57 ops, doing too much C# at work 20:27:58 ACE was one such a high-level framework that was nice for its time 20:28:13 H4ns1 [n=hans@p57A0C4A7.dip.t-dialin.net] has joined #lisp 20:28:17 ew, I hated ACE. I couldn't look at it. :) 20:28:40 :) 20:28:49 Riastradh: You mean the C socket interface (that is, everything you said applies equally to it) 20:29:17 jbjohns: Seriously, the ACL sockets interface documentation is available on the web. You can (I can attest to this) replicate this in SBCL, and it gives a very lispy interface. See http://www.franz.com/support/documentation/8.1/doc/socket.htm 20:29:17 jbjohns: I'm thinking about the concepts 20:29:35 rpg: Yea, I've been looking at that one 20:30:01 adeht: I couldn't even see the concepts, I was so put off by the horrid names. :) 20:30:10 more recently, boost's asio.. or iolib 20:30:25 jbjohns: I simply built a new socket class that was a subclass of gray-streams, and that contained a socket. 20:30:36 that stuff is probably nice, but since I learned Smalltalk (and now Lisp) I've walked away from C++ forever (I hope) 20:30:53 jbjohns: well iolib is a Common Lisp library 20:31:04 jewel [n=jewel@41.247.195.35] has joined #lisp 20:31:09 yea, I downloaded that one to look at it 20:31:09 Note that I might have tried iolib, but I wanted the maximally easy port from ACL, so doing something that pretty much replicated ACL's make-socket API was the best choice for me. 20:31:24 you made acl-compat? 20:31:29 jbjohns, for example, you want a separate notion of `host' and `port'. In BSD sockets, there is an abstraction of this that is more inclusive than just of IPv4 sockets, called a `socket address', which can name any other networked end-point of communication, such as a local socket file, IPv6 extensions, &c. 20:31:32 I wonder if it's a popular misconception that things at a 'higher level of abstraction' are necessarily easier to use (or somehow more powerful) 20:31:47 that seems to make all implementations be like the ACL one 20:31:54 Has anyone used parallel lisp, something like a distributed lisp program - I've read a bit that threads exist and work, but I wonder about distributed processing in a cluster. 20:32:00 hefner, it's a popular misconception that OPEN-TCP-CONNECTION is a higher level of abstraction than the BSD socket interface! 20:32:07 hefner: At any rate it's less code. :) 20:32:14 hefner: I'll go for there being a popular misconception that they are necessarily more powerful. 20:32:23 Riastradh: Who wants OPEN-TCP-CONNECTION? 20:32:27 JuanDaugherty [n=juan@cpe-72-228-150-44.buffalo.res.rr.com] has joined #lisp 20:32:55 Riastradh: I end up using the equivalent in C often enough (I used to have occasion to write a lot of throwaway network hacks) 20:32:57 hefner: that reminds me of the ol' Lisp saying.. 20:33:12 Riastradh: Why would my 'open preclude that? Just another key, np 20:33:13 -!- Aankhen`` [n=Aankhen@122.162.159.16] has quit ["The symbol is not the same as the reality"] 20:33:48 jbjohns, so is the important difference whether you write a colon or another parenthesis? (open-socket) (connect ...) versus (open-socket :connect ...)? 20:34:02 Aankhen`` [n=Aankhen@122.162.159.16] has joined #lisp 20:34:17 jbjohns, or: can you be more precise about how your ideal networking interface differs from BSD sockets? 20:34:42 for example, in the above, that was for clients. For servers, you would have to do: (let ((server (net:open :port 80 :direction :bind))) (net:open :socket server)) 20:34:44 something like that 20:35:01 it needs two seperate calls since many connections are spawned from the listening socket 20:35:02 I'm reminded of wrapper code for libjpeg I wrote yesterday, with the intent of minimizing the interface I had to write ffi bindings to (and then discovering more and more neat options I'd want to expose which made it more complicated) 20:35:39 -!- pstickne [n=pstickne@69.166.35.201] has quit [Read error: 60 (Operation timed out)] 20:35:55 jbjohns, OK: (let ((socket (open-socket))) (bind socket (make-sockaddr-in inet-addr/any 80)) ...) 20:36:15 then on top of this, I would build (net:open-stream), (with-open-socket-stream), etc. 20:36:49 jbjohns, what's the important conceptual difference that allows us, by throwing away the BSD layer in favour of your interface, to better express the solutions to problems? 20:36:55 hefner: well, incompleteness /= higher-level :) 20:37:33 riastradh: Who said anything about throwing something away? I don't use assembler or C, but I like being able to reach it if needed 20:37:40 adeht: yeah, I thought that was the theme of the discussion 20:37:47 jbjohns, who said anything about C? 20:37:48 -!- nikodemus [n=nikodemu@cs181130148.pp.htv.fi] has quit ["This computer has gone to sleep"] 20:37:52 but in writing a lisp application, why would I want to do all that redundant stuff? 20:38:00 All that redundant stuff? 20:38:22 riastradh: You miss my point, for me having one thing doesn't mean throwing another away. 20:38:47 riastradh: Sure, the common case for a network socket is connecting to a remote point via tcp 20:38:50 What's your point? 20:38:55 waterh [n=waterh@114.143.38.188] has joined #lisp 20:39:05 -!- lyte [n=lyte@unaffiliated/neerolyte] has quit [Read error: 104 (Connection reset by peer)] 20:39:18 so having to do 1) make socket 2) connect socket 3) connect socket to stream 4) close socket in every application is silly 20:39:21 I began by asking what you meant by `Unix-centric', because you appeared to be using it as a derogatory term without justifying that use. 20:39:38 why do you take unix-centric as a derogatory term? 20:39:54 it means what it says: unix-centric, i.e. the "unixy" way 20:39:58 You sought a `Lispier' interface, presumaly because that meant `better for solving your problems'. 20:40:26 I meant more like "looks more like the way one would do it in lisp", based on how other lisp things work 20:41:30 Based on how other lisp things work? There's a lot of flexibility there... 20:41:33 -!- HET2 [n=diman@wlan-243-027.pns.univie.ac.at] has quit [Read error: 104 (Connection reset by peer)] 20:41:36 -!- dtulig [n=dtulig@cpe-72-179-46-14.austin.res.rr.com] has quit [] 20:41:41 HET2 [n=diman@wlan-243-027.pns.univie.ac.at] has joined #lisp 20:41:44 well good mornin'. You guys are much quieter than my noisy neighbours :) 20:41:57 I know, I know, but I mean the bigger systems 20:42:20 Like dealing with files. Most people are going to use with-open-file, right? 20:42:26 Riastradh: I do think that the acl folks have a good idea when they make a single object be both a socket and a stream. Not a /replacement/ for the low-level sb-bsd-sockets interface, but a good higher-level abstraction covering most cases. 20:42:48 rpg, is that idea different from BSD sockets, where a socket is...well, both a socket and a file descriptor? 20:42:48 jbjohns: It depends on what we're doing with the file... 20:43:29 Umm... On winsock, sockets aren't file descriptors. 20:43:36 riastradh: both a socket and a file descriptor is an inherently unix idea, no? I mean, Lisp doesn't view a file as a file descriptor, right? 20:43:37 -!- silenius [n=jl@yian-ho03.nir.cronon.net] has quit [Remote closed the connection] 20:43:42 nyef, yes, well, that's Windows-centric brain damage! 20:44:07 Riastradh: Only insofar as we're using file descriptors on windows in the first place. 20:44:09 jbjohns, so map `file descriptor' to the analogous Lisp notion, a stream. 20:44:15 (sort of) 20:44:17 Unix certainly isn't the best that can be done with an OS, but I guess socket = file descriptor works pretty good 20:44:58 ok, so why do I have 'cl:open for opening file streams and no equivalent for opening socket streams? :) 20:45:14 that is, I need, what, 3 calls to get a socket stream? 20:45:25 usocket gives you that 20:45:44 jbjohns, three calls? Create the socket and connect it; what more must you do? 20:45:57 Again, I'm not trying to knock bsd-sockets, but maybe you start to see what I mean 20:45:59 finis [n=mkr@dh207-79-180.xnet.hr] has joined #lisp 20:46:06 No, I don't. 20:46:14 1) create socket, 2) connect socket, 3) create stream with socket 20:46:21 If it's such a nuisance, just write a wrapper function. 20:46:50 OK. Do as nyef says. Does this require careful deliberation and thought about what a design for a Lispy sockets interface looks like? 20:46:55 nyef: This is the point. Are we all going to write (different) wrapper functions, or perhaps there could be a standard one 20:47:23 Does Riastradh always get so annoyed by conversation? :) 20:47:36 a standard 3 line utility function? 20:47:38 -!- netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has quit [] 20:47:51 jbjohns: I don't think he ever gets annoyed 20:48:09 schme: well, he imitates it well then 20:48:19 hmm.. that was not the impression I got from it :) 20:48:36 -!- H4ns1 [n=hans@p57A0C4A7.dip.t-dialin.net] has quit [Connection timed out] 20:48:56 every sentence I've seen from him, from the first one, has had a combative tone. 20:48:58 jbjohns, what catches my attention is idle derision of BSD sockets in favour of `higher-level' abstractions, which usually turn out either to be not significantly different from BSD sockets, or to be a specialization, not a generalization at all. 20:49:32 Actually, I would be in favor of many copies of that three-line utility function. 20:49:35 I apologize if I seem combative; I am quick to answer because this subject has arisen many times, and turned out many badly designed networking interfaces. 20:49:35 jbjohns: maybe your irc-text->speech synthesis needs tweaking :) 20:49:38 again, who is deriding bsd sockets? That's your opinion not mine. It's fine for the full-powered, lower level interface, when that's needed 20:49:49 jbjohns, can you explain what you mean by `lower-leve'? 20:49:52 `lower-level' 20:50:16 he means you have to pay attention to details he does not want to pay attention to, jesuschrist 20:50:18 Hrm, if I haven't already, then I'm not sure I can. :) 20:50:36 erhm, he has to pay attention to details.. etc 20:51:03 ksergio, except for mapping between sb-bsd-sockets `sockets' and Lisp `streams', I haven't seen any other details to which he has had to pay attention which he would prefer not to have. 20:51:04 appletizer [n=a@82-32-120-59.cable.ubr04.hawk.blueyonder.co.uk] has joined #lisp 20:51:11 -!- valiza2 [n=haroldo@r190-133-131-188.dialup.adsl.anteldata.net.uy] has quit [Read error: 104 (Connection reset by peer)] 20:51:17 I appreciate that you've had lots of newbies and trolls come on and shit on your hard work. That's not me. I was actually looking for conversation about how to make things better 20:51:48 dankna [n=d@c-71-230-27-230.hsd1.pa.comcast.net] has joined #lisp 20:51:57 Riastradh: You want to write a quick utility to pull a web page from google and process it. What does yours look like? Mine will be something like: 20:52:17 jbjohns: Mine involves wget somehow. Or trivial-http. Or... 20:52:25 (with-open-stream (s (http-get "http://www.google.com/")) ...) 20:52:48 mine drakma:http-request 20:52:55 daniel__ [i=daniel@unaffiliated/daniel] has joined #lisp 20:52:58 http-get is a library you will write, or existing? 20:53:15 A library I'll write, or have written (approximately). 20:53:24 ah, then you cheated! :) 20:53:28 drakma certainly exists. 20:53:39 true, but he apparently isn't using it in this example 20:54:01 It's cheating to use an application-protocol-specific library? 20:54:02 anyway, I shouldn't have said a web page, obviously there must be tons of ways to do that. Some special non-web page port! 20:54:05 not at all 20:54:18 but if you use something your going to have to right, then that has to be included 20:54:30 -!- esden [n=esden@lapradig77.informatik.tu-muenchen.de] has quit ["Be back soon ... ^^"] 20:54:44 jbjohns: there is a point to keeping the number of layers low 20:54:44 because mine would be: (net:with-open-socket (:host "google.com" :port 80) ...) 20:54:53 Let's take another example which I have been working with today: I want to write a specialized DNS server and client to tunnel stream-type connections through the DNS (because existing software to do this doesn't work very well). 20:55:14 jbjohns, gosh, why would you write something low-level like that? 20:55:34 is that low level? It closes the handle on stack unwind etc 20:55:53 jbjohns: It's low-level. You're making an HTTP request, not opening a random socket. 20:55:59 jbjohns, won't you have that pattern already expressed using (net:with-open-socket (:addresses (get-address-info (uri-authority-host uri) (uri-authority-port uri))) ...)? 20:56:16 ok, ok, my example was bad, sorry 20:56:16 Riastradh: Sorry --- in a telephone call. Yes, this is different because an FD is a much lower level entity than a stream. 20:56:35 (with-open-socket (:host some-host :port some-port :protocol :udp) .... 20:56:46 -!- splittist [n=splittis@34.12.3.213.fix.bluewin.ch] has quit ["with-indifference ..."] 20:56:47 (for your new, probably better, example) 20:57:10 Riastradh: I think it's pretty acceptable for programmers not to know a lot of details about fds. But note that I'm not saying that the higher level abstraction is a /substitute / for sb-bsd-sockets, which are great. 20:57:19 udp is nicer because you don't have to bind or connect, just blast away once having a socket 20:57:24 Now, I actually don't want to do that, jbjohns. 20:57:35 ok, what do you lose? 20:57:36 I want to create half a dozen sockets to try to reach the half-dozen name servers in my resolv.conf. 20:57:59 (dolist (server (get-resolve-conf-server) 20:58:09 Simultaneously. 20:58:10 (with-open-socket (:host server .... 20:58:21 So WITH-OPEN-SOCKET is no good for me. 20:58:25 ok, a let binding? :) 20:58:46 let* or whatever 20:58:55 or, how would you do it? 20:59:41 fe[nl]ix [n=algidus@88-149-212-255.dynamic.ngi.it] has joined #lisp 20:59:43 LET or LET* might be involved; that's not really important. Let's suppose I just want to interact with whichever one gives me a good answer first, and then close all the other ones. 20:59:44 I don't have to use the with macro, I can drop down to 'net:open 21:00:01 yes, of course there must be a select(2) type interface 21:00:30 Oh, god. Don't get me started on the problems with select(2) or related interfaces for filesystem objects on linux. 21:00:40 is it so bad? 21:01:02 yes 21:01:02 select(2) and friends will generally say that any file descriptor associated with a disk-backed file is ready for I/O. 21:01:05 The alternative is either (a) async IO, or (b) blocking threads. I don't like to involve threads when not needed 21:01:06 There are files where a positive poll result means that the file contents have changed and the entire file needs to be re-read. 21:01:13 -!- finis [n=mkr@dh207-79-180.xnet.hr] has quit ["..."] 21:01:32 And a negative poll result means that the file hasn't changed. 21:01:36 mib_0md5rvwl [i=59bd8779@gateway/web/ajax/mibbit.com/x-97ae2f5ef90ec82c] has joined #lisp 21:01:45 Completely messes up the SBCL fd-stream implementation. 21:01:46 how would you have it work in that case? 21:02:15 You just have to read(2) the data until EOF, then you can select(2) the fd to see if your data is stale. 21:02:20 well, my theoritical select-like-function only works on sockets. Does that fix it? :) 21:02:21 But anyway, the BSD sockets interface isn't really about select(2), so let's pretend that we have that part covered (even though we actually don't have it well covered at all in any Lisp out there of which I'm aware). 21:03:03 mib_370mhb58 [i=5c32aaea@gateway/web/ajax/mibbit.com/x-23704866f395b6ec] has joined #lisp 21:03:45 mib_370mhb58: shemanin! 21:03:54 -!- zorgzorg2 [n=martino@s83-191-235-17.cust.tele2.se] has left #lisp 21:04:03 da, mouratov 21:04:15 So you want to use NET:OPEN and NET:CLOSE. Specifically, you want to define OPEN-DNS-SOCKET to run (NET:OPEN :ADDRESS :TYPE :DATAGRAM). 21:04:35 Is this all that different from (OPEN-SOCKET :TYPE :DATAGRAM) and (CONNECT-SOCKET )? 21:05:24 well, if your doing datagram, you don't need to connect, so what I have in mind isn't a big win here, except it looks consistent with other networking stuff 21:05:43 Actually, no, I do want to call connect(2), so that I can use send(2) and recv(2) rather than sendto(2) and recvfrom92). 21:05:46 recvfrom(2) 21:05:50 ok 21:05:59 -!- jollygood [n=jollygoo@129.71.215.161] has quit [Read error: 110 (Connection timed out)] 21:06:03 fair enough 21:06:35 then my application still has one call less! :) 21:06:50 Yes, but one argument more. 21:07:01 which? 21:07:07 -!- jewel [n=jewel@41.247.195.35] has quit [Read error: 113 (No route to host)] 21:07:09 :address 21:07:18 you have that in the second call 21:07:27 or you mean the key? 21:07:41 I mean the keyword argument as a whole. What you expressed with a keyword argument, I expressed with a call. 21:07:45 aha 21:08:04 ok, so not a big win there, but not a step backwards either imo 21:08:18 -!- cooldude127 [n=user@lawn-128-61-127-145.lawn.gatech.edu] has quit [Read error: 60 (Operation timed out)] 21:08:28 cooldude127 [n=user@r55h118.res.gatech.edu] has joined #lisp 21:08:30 OK, so let's take another example: we're building an HTTP client abstraction so that I can conveniently fetch a web page exactly as I wrote before. 21:09:14 But we want to do this cleverly, and not just do a single connection per HTTP request; maybe, for example, we want to support TLS without requiring rehandshaking for every image on the page we're fetching. 21:09:31 dtulig [n=dtulig@207.200.59.26] has joined #lisp 21:09:40 TLS? 21:09:55 And we'll write this library generally enough so that we sha'n't ever really need to think about the sockets underlying the HTTP abstraction. 21:10:08 ah, ssl? 21:10:15 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 21:10:21 Yes, what `SSL' is an archaic name for. 21:10:26 (loosely) 21:10:50 valiza1 [n=haroldo@r190-133-130-104.dialup.adsl.anteldata.net.uy] has joined #lisp 21:10:59 -!- mib_370mhb58 [i=5c32aaea@gateway/web/ajax/mibbit.com/x-23704866f395b6ec] has left #lisp 21:10:59 (Specifically, SSL refers to protocols (SSL 1.0, SSL 2.0, SSL 3.0) that precede the TLS protocols (TLS 1.0, TLS 1.1, &c.).) 21:11:22 In this case, we'll want to maintain a pool of open connections to HTTP servers. 21:11:39 fair enough, I saw the wiki page for it, but I figured if I said "ah, tls?" I still wouldn't know if we're on the same page. :) 21:11:46 In other words, these open sockets won't have dynamic extent at all, so no WITH- will help us. 21:11:50 mulander [n=user@nat-4.interq.pl] has joined #lisp 21:12:03 ok, so we're doing to 'net:open on my side. 21:12:09 only insane people ever want to write http clients though. :) 21:12:28 foom, yep. That's why we're writing this seriously and making it work well -- so that we don't ever have to do it again. 21:12:29 so we're down to* man, my fingers have minds of their own 21:12:47 Riastradh: best of luck. :) 21:13:16 -!- mib_0md5rvwl [i=59bd8779@gateway/web/ajax/mibbit.com/x-97ae2f5ef90ec82c] has left #lisp 21:13:20 Thanks, foom: we'll need it for this hypothetical exercise! 21:13:29 heh 21:14:01 Adamant [n=Adamant@c-69-254-76-231.hsd1.ga.comcast.net] has joined #lisp 21:15:13 so how does yours go? 21:15:19 If I'm to understand this right you want to change some ()'s into :'s ? 21:15:43 jbjohns, so, here's what we'll want to do with BSD sockets: When we need to submit an HTTP request, we have an HTTP URI (forgetting about proxies for a moment) containing a URI authority, which names us the server. We'll use GET-ADDRESS-INFO to fetch a list of socket addresses to try connecting to, and we'll just go through it sequentially until the first that works. 21:15:43 schme: I hope it can be more profound then that 21:15:53 jbjohns: Me too :) 21:16:28 get-address-info is the DNS lookup, right? 21:16:29 -!- Ginei_Morioka [i=irssi_lo@78.115.204.64] has quit [Nick collision from services.] 21:16:35 It might be. 21:16:37 Ginei_Morioka [i=irssi_lo@78.114.171.225] has joined #lisp 21:16:44 right right, just trying to keep up 21:16:52 It corresponds with getaddrinfo(3). 21:17:14 sucks that 99% of the code out there (totally made up %) just takes the first one always, rendering all that DNS goodness useless 21:17:21 -!- Zoba [n=Zoba@wva4410rn.rh.ncsu.edu] has quit [Read error: 110 (Connection timed out)] 21:17:42 This is a common pattern, but, well, it's pretty concise exressed on its own: (loop for address in (get-address-info name service) do (if (connect socket address) (return))) 21:18:22 wait a minute, you got the socket first, before this call, or? 21:19:04 Oops, sorry. 21:19:11 That's not what I meant to write. 21:19:36 netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has joined #lisp 21:20:52 It's a little bit longer, at this point perhaps worth writing a four-line convenience routine for. (loop for ai in (get-address-info name service :type :stream) do (let ((socket (create-socket (ai-type ai) (ai-domain ai)))) (if (connect socket (ai-address ai)) (return) (close socket] 21:21:23 ] :D 21:22:09 (return socket), rather. 21:22:34 hrm, get-address-info returns the type, and domain as well as the IP? 21:22:46 nyef pasted "A low-level interface?" at http://paste.lisp.org/display/72002 21:23:04 It behaves like getaddrinfo(3). 21:23:13 -!- Eno_ [n=anon@fl-67-76-215-49.sta.embarqhsd.net] has quit [Read error: 110 (Connection timed out)] 21:23:49 Xof: Are you here? 21:23:54 elurin [n=user@85.99.172.78] has joined #lisp 21:24:00 but basically you're just resolving a name to an address (some what protocol independant, e.g. IP6), right? 21:24:15 elderK [n=elderK@202.20.97.243] has joined #lisp 21:24:50 I'm mapping a name, a service, and a socket type, to a list of socket domains and addresses. 21:25:16 (Note that `socket address' is not `internet address'.) 21:25:28 (Nor is an internet address a socket address.) 21:26:13 the getaddrinfo I just looked up was only returning a list of IP's for the given name (unless I totally misread that) 21:27:10 -!- dankna [n=d@c-71-230-27-230.hsd1.pa.comcast.net] has quit ["I'm going to bed before either of you come up with another idea to get us killed - or worse, EXPELLED."] 21:27:45 but in any case, what I had planned was the my underlying 'net:open will look at the host given. If we get an IP then we can just go with it. If we get a DNS name (Note I'm speaking about tcp/udp here, not anything else that might be supported, or not) then we would want to loop the list of names 21:27:59 getaddrinfo(3) returns a chain of addrinfo structs, each of which contains a socket type (which we restricted to be that of streams), a socket domain (such as internet, internet v6, Xerox, ISO, Chaosnet, DECnet), a canonical name (a string naming the host), and a socket address. 21:28:29 This could be seen as an advantage in that, my open doesn't return until you have a socket, so I can go ahead and try to connect to all names until I get one 21:28:46 Now, here's the tricky bit: Suppose none of these connections succeeds. I want this HTTP client library to report the list of failures if nothing succeeded. 21:29:10 so given that, it's not inconceivable that if the proto, etc. isn't specified but the host is a name then we take what is in the ai-domain etc. 21:30:06 seen as an advantage in that, my open doesn't return until the connection is made for :direction :connect (hopefully that makes more sense) 21:30:38 the list of failures? you mean all the addresses that were tried and failed? 21:30:45 And why they failed. 21:31:18 "this little piggy failed to resolve to an IP address, this little piggy timed out..." 21:31:27 For instance, perhaps I'm writing a web browser, and I want a `Network Diagnostics' panel, into which my web browser will insert this information. 21:31:34 ok. You got me in that case. I could signal a restartable condition on failure, but I wont. 21:32:15 But to be fair, you're making the examples, so it is expected you would pick one where we need more flexibility then any higher level abstraction can give. 21:32:56 dialtone [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has joined #lisp 21:33:16 well, I could give it, but I don't want people to have to set something up to make the connect call, and I would prefer to not have to check some *signal-on-fail* type of flag 21:33:53 Of course. The object of this exercise is to illustrate the inflexibility of your proposed higher-level abstraction. You can work around some of the examples I give by adding on new keyword arguments, but then one might ask oneself at what point it is easier to understand a number of BSD socket routines that can be composed together than it is to understand the interaction between half a zillion keyword parameters. 21:34:16 I didn't add any keywords for your examples did I? 21:34:24 Well, :SIGNAL-ON-FAIL perhaps. 21:34:31 I said I wouldn't do that 21:34:38 Or :HOST and :PORT. 21:34:43 (versus :ADDRESS) 21:34:55 and therefor conceded that in this case we need bsd sockets. I had planned to have host and port, but I could support address 21:34:57 Can we do some practical interface design now instead of this hypothetical stuff? 21:35:19 Or just go back to being OT like a normal channel :( 21:35:39 I'd rather do some practical interface design, really. 21:35:50 I wrote a net abstraction for C++, and I had a similar thing where when names were passed I loop through them trying to connect. If one is going to abstract over connect I think you have to do this. 21:35:53 Actually, I'd be more interested in practical program implementation. 21:36:24 Because the idea of putting these MAKE-ARRAY calls into any documentation is, honestly, an indication of failure -somewhere-. 21:36:45 make-array? 21:36:54 minion: paste 72002? 21:36:54 Paste number 72002: "A low-level interface?" by nyef in #lisp. http://paste.lisp.org/display/72002 21:36:55 Are you slamming me, or this is a previous conversation, or? 21:37:01 aha, *bonk self* 21:37:35 ok, well, honestly I'm more confident about my design idea. Thanks for the interesting conversation 21:38:00 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 21:38:02 I've also seen clearly that I'll probably be the only one who ever uses it, but I guess that's par for the course. :) 21:38:17 Yeah, I can't see much call for sb-usb either. 21:38:53 There is an sb-usb? :D 21:38:55 usb transfer sounds cool 21:39:25 extremely nice. This gives me good plans for the clim zen media player manager. 21:39:25 anyway, I've got to go. I'm already in the dog house for chatting this long. My kingdom for 3 hours of peice! 21:39:35 jbjohns: have a good one 21:39:37 schme: http://www.lisphacker.com/temp/sb-usb.lisp for the current hackjob. 21:39:41 you too, thanks everyone 21:39:44 -!- HET2 [n=diman@wlan-243-027.pns.univie.ac.at] has quit ["This computer has gone to sleep"] 21:40:19 schme: So, if you're a potential client for this interface, how would you like to see it changed? 21:41:37 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 21:41:55 nyef: You sure ask the damndest of questions in the middle of the night. :) I will have to actually look at it a bit first, and try to do some stuff with it. I have this mp3 player that I hook up to the usb, and I'd like a lisp thing to interface with it.. I assume that would work just swell with this. But I can't comment very much before I get started :) 21:42:34 schme: Fair enough. That was actually my use-case too. 21:42:58 aha. 21:44:21 I figure I will either have to FFI the libnjb or basically port the whole thing. Porting it sounds very doable with a sb-usb around :) 21:44:27 Okay, that's http://www.lisphacker.com/temp/han14xs.lisp (my mp3 player interface) updated as well. 21:45:14 Well, feel free to bug me about it later. I'm thinking about cleaning up sb-usb and writing proper documentation and everything. 21:45:27 kleppari [n=spa@bitbucket.is] has joined #lisp 21:45:59 I've bookmarked both the han14xs and the sb-usb. It seems we do not have the same player here, but I'll look at your stuff and probably model it after that.. and then we can abstract it to a higher level. 21:46:04 hah. 21:46:04 *schme* is amused by himself. 21:46:53 And, of course, the more USB-related junk we can write, the more we'll have on hand for the hypothetical LispOS. 21:47:32 Very nice. 21:47:50 kgn [n=kglovern@CPE001b11e68946-CM0014f8ca15f0.cpe.net.cable.rogers.com] has joined #lisp 21:47:56 netaust1n_ [n=austinsm@72-254-136-53.client.stsn.net] has joined #lisp 21:48:00 -!- netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has quit [Connection reset by peer] 21:48:01 anything that saves one from using (with-linux-device ....) :) 21:48:20 And what's the matter with that? 21:49:41 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #lisp 21:49:41 I like the comments in han14xs read-usb-devices :P 21:49:45 -!- Aankhen`` [n=Aankhen@122.162.159.16] has quit ["“You may re-reading that headline and asking yourselves "/Halo 2? Isn't that out on PC yet?/". To which we answer; "No. No, i] 21:49:50 -!- umis [n=umis@prudent-gloryer.volia.net] has quit [] 21:49:59 dcrawford: Heh. I did mention select(2) earlier, and that's the actual case I meant. 21:50:03 kpreid [n=kpreid@cpe-67-242-2-23.twcny.res.rr.com] has joined #lisp 21:51:00 is that just the usb kernel driver being nasty? 21:51:17 No, that applies to everything in sysfs and proc. 21:51:22 htahaha! 21:51:30 Yes lovely commentary :) 21:51:36 Isn't sysfs deprecated? 21:51:43 Umm... No? 21:51:47 hmm ok. 21:51:52 *dcrawford* just noticed the "pun" with nasty wrt that comment >_> 21:51:55 you're thinking devfs 21:51:58 oh! 21:52:04 get with the times, dude! 21:52:19 tic: I'm not so convinced I was actually thinking :) 21:52:22 sysfs is getting too documented so now the kernel developers are dumping everything in debugfs 21:52:35 schme, ah! I get that too, quite often. Common mistake! 21:52:44 foom, :)) 21:53:19 oh! 21:53:39 That's where I got it from: "CONFIG_SYSFS_DEPRECATED_V2" 21:53:59 I'm actually thinking that some sort of library for dealing with sysfs files would be useful. Something that reads their contents and has a notification interface for when they're changed. 21:54:14 Probably tying into serve-event or something. 21:54:16 you mean like select? 21:54:34 doesn't select/poll/whathaveyou notify when a sysfs file changes? 21:54:53 Yeah, but with a different interface. 21:55:12 So you're not dealing with file descriptors and whatnot. 21:55:35 Then layer something on top of that for, say, battery status monitoring. 21:55:51 -!- waterh [n=waterh@114.143.38.188] has quit [Read error: 110 (Connection timed out)] 21:57:45 It basically ties back to the whole LispOS idea again. 21:58:00 -!- spiaggia [n=user@armadillo.labri.fr] has quit [Read error: 60 (Operation timed out)] 21:58:00 -!- b4|hraban [n=b4@0brg.xs4all.nl] has quit [Read error: 60 (Operation timed out)] 21:58:08 dmiles [i=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has joined #lisp 21:58:14 b4|hraban [n=b4@0brg.xs4all.nl] has joined #lisp 21:58:14 most of that stuff can be monitored via DBus 21:58:26 -!- dmiles_afk [i=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has quit [Read error: 54 (Connection reset by peer)] 21:58:28 Yeah, provided you have something on the other end doing the monitoring. 21:58:31 -!- deximer [n=deximer@168.203.117.66] has quit ["Leaving"] 21:59:22 There's a CL-DBUS 21:59:28 spiaggia [n=user@armadillo.labri.fr] has joined #lisp 21:59:36 Bloody FFI junk. 22:00:13 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 22:00:37 (Yes, I looked at cl-dbus a while back.) 22:00:45 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 22:00:52 Does anyone know what happens with the crossover rate with genetic algorithms? Say if the crossover rate is 0.7 and this time through it happens to be one of the times it's not crossing over what happens instead? Do you just return one of the parents whole? 22:01:21 -!- jlouis [n=jlouis@port1394.ds1-vby.adsl.cybercity.dk] has quit [Remote closed the connection] 22:01:45 nyef: I don't see any FFI in CL-DBUS; looks like it implements the network protocol directly 22:01:56 Really? The one I saw was all about the FFI. 22:02:35 why are there hunchentoot functions in weblocks? 22:03:05 holly crap, weblocks IS hunchentoot 22:03:25 :depends-on (iterate flexi-streams defclass-star usocket cl-ppcre ironclad)) 22:03:28 -!- jkantz [n=jkantz@guest-fw.dc4.itasoftware.com] has quit ["Leaving"] 22:06:40 Jasko2 [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has joined #lisp 22:07:13 -!- Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 22:07:21 housel: it doesn't mean that it don't use ffi 22:07:24 the cl-dbus on cliki is doing stream access, not ffi 22:09:59 pstickne [n=pstickne@69.166.35.201] has joined #lisp 22:10:25 -!- kleppari [n=spa@bitbucket.is] has quit ["leaving"] 22:10:26 also, it looks like the only transport is #+(and sbcl linux) atm 22:10:46 b/c of sb-bsd-sockets 22:11:09 kleppari [n=spa@bitbucket.is] has joined #lisp 22:11:11 w/ a TODO to use usocket :P 22:11:15 -!- kleppari [n=spa@bitbucket.is] has quit [Client Quit] 22:11:39 -!- phao [n=phao@20158138032.user.veloxzone.com.br] has quit [Remote closed the connection] 22:11:54 That's... wierd. Shouldn't it also work on, say, ECL? 22:11:57 phao [n=phao@20158138032.user.veloxzone.com.br] has joined #lisp 22:12:14 kleppari [n=spa@bitbucket.is] has joined #lisp 22:12:47 I'm just taking a quick scan over the code, first time looking at it 22:12:50 weblocks \o/ 22:13:03 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 22:13:50 -!- appletizer [n=a@82-32-120-59.cable.ubr04.hawk.blueyonder.co.uk] has quit [Remote closed the connection] 22:13:53 So, nobody has any real idea for what to do to improve the situation described in paste 72002? 22:14:04 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit [Client Quit] 22:14:50 Oh well, maybe I should just run with it as-is. 22:16:18 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #lisp 22:16:20 -!- davazp [n=user@72.Red-88-6-205.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:16:25 what's wrong with it? :) 22:16:36 The arrays? 22:17:01 I'd say that's what offsets are for :) 22:17:14 -!- netaust1n_ [n=austinsm@72-254-136-53.client.stsn.net] has quit [] 22:17:40 nyef: you wrote it, so surely there's a reason for it 22:17:48 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 22:18:05 -!- rpg [n=rpg@fw.henn.dunn.pcspeed.com] has left #lisp 22:18:21 peter_12 [n=peter@pool-71-105-154-91.lsanca.dsl-w.verizon.net] has joined #lisp 22:19:07 Sure there's a reason for it. I use the fill pointers for length information, and use (sb-sys:vector-sap (sb-kernel:%array-data-vector ...)) to get an address I can stuff in a slot in an alien struct for an IOCTL. 22:19:30 It's just... kindof icky. 22:19:48 And probably broken wrt. GC semantics. 22:20:02 if it's icky, why expose it to the caller? 22:20:27 is your problem that of (mostly) naming, nyef? 22:20:29 In the usb-control case, I'm not sure. 22:21:00 In the usb-bulk case, so that the caller can build one array containing the results of many #x40-octet transfers... Or vice versa. 22:21:54 l4ndfo [n=l4ndfo@catv-89-132-93-183.catv.broadband.hu] has joined #lisp 22:21:57 Eno_ [n=anon@fl-67-76-215-49.sta.embarqhsd.net] has joined #lisp 22:22:01 (That is, build one array of data and transfer it #x40 octets at a time.) 22:23:02 -!- elderK [n=elderK@202.20.97.243] has quit [] 22:23:40 why not follow through on the fill pointer thing and add the pointer arithmetic so it appends to the end and increments the fill pointer? 22:24:14 Because on the input side it's used to indicate the length of the transfer? 22:24:50 what's the problem? that you're not returning the length anywhere? 22:25:04 Sure I am. The fill-pointer. 22:25:12 well, yeah 22:25:13 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Read error: 104 (Connection reset by peer)] 22:28:54 Krystof [n=csr21@host86-163-2-53.range86-163.btcentralplus.com] has joined #lisp 22:29:10 -!- jso [n=user@151.159.200.122] has quit [Remote closed the connection] 22:30:47 -!- kleppari [n=spa@bitbucket.is] has quit [Read error: 104 (Connection reset by peer)] 22:33:32 elderK [n=elderK@202.20.97.243] has joined #lisp 22:33:49 -!- sellout [n=greg@guest-fw.dc4.itasoftware.com] has quit [] 22:34:39 -!- daniel__ is now known as daniel 22:35:01 kleppari [n=spa@bitbucket.is] has joined #lisp 22:37:49 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 22:37:56 -!- willb [n=wibenton@wireless34.cs.wisc.edu] has quit [Read error: 110 (Connection timed out)] 22:39:49 -!- kleppari [n=spa@bitbucket.is] has quit [Read error: 54 (Connection reset by peer)] 22:42:54 it is stylistically ok to have the following lambda list: (n &optional (sieve (make-array n :initial-element 1 :element-type 'bit))) ? 22:44:00 stassats: Sure you don't want (setf sieve (or sieve (make-array ...)) rather? 22:44:03 jlouis [n=jlouis@port1394.ds1-vby.adsl.cybercity.dk] has joined #lisp 22:44:24 I use a `default' macro.. e.g., (default sieve (make-array ...)) 22:44:34 kleppari [n=spa@bitbucket.is] has joined #lisp 22:45:09 i'd rather use (let ((sieve (or sieve (make ...)))) ..), but i'm not sure what's better 22:45:15 (rather then setf) 22:45:23 than 22:45:55 stassats: It doesn't matter. The difference it between this, and the handling of initforms for &optionals 22:47:06 -!- elurin [n=user@85.99.172.78] has quit [Read error: 60 (Operation timed out)] 22:48:21 tcr: what is different? 22:48:25 -!- Krystof [n=csr21@host86-163-2-53.range86-163.btcentralplus.com] has quit [Read error: 113 (No route to host)] 22:48:38 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 22:48:48 lisp-newbie1 [n=mek@c-76-118-78-185.hsd1.ma.comcast.net] has joined #lisp 22:49:27 stassats: (defun foo (a &optional (b :init)) ...), (foo 1) vs (foo 1 nil) 22:49:27 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit [Remote closed the connection] 22:49:40 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 22:50:00 tcr: ok, i thought about 22:51:29 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 22:52:12 -!- kgn [n=kglovern@CPE001b11e68946-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit ["Ex-Chat"] 22:54:31 I can't seem to find anything in the hyperspecs. Is there a way to remove duplicate "strings" from a list? I've tried delete-duplicate (which I think is only in elisp) but that even only works for non strings. 22:54:49 :test #'equal 22:54:53 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #lisp 22:55:19 (delete-duplicate lst :test #'equal) ? 22:55:27 yes 22:55:39 I'll give it a try, thanks so much stassats. 22:55:48 yes.. but do you have trouble spelling? shouldn't it be `list' rather than `lst'? 22:56:05 but make sure you know the difference between delete-duplicate and remove-duplicates 22:56:37 damn, i can't talk properly today anymore 22:58:38 -!- jajcloz [n=jaj@209.6.216.149] has quit [] 23:00:45 Does anyone know of a macro he wrote that does not get declarations exactly right? 23:00:53 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 23:01:53 e.g.. that expands to different binding constructs, and the declarations in the &body argument would have to be split up, and moved to the right binding construct 23:02:28 you wrote a library to make that kind of thing easier, right? 23:02:31 *hefner* does not even fully know the rules for that 23:02:36 Hmm, is it just me or slime misses 'slime-close-parens-at-point? I saw a blog post from January 12, 2008 with the same problem. The keybinding is also missing. Anyone can confirm or point out a solution? 23:02:45 *valiza1* wonders if there is something like django for CL 23:02:55 mulander: use `C-c ]' 23:03:08 arf. `C-c C-]' 23:03:14 *stassats* used some thing from alexandria for constructing such macros 23:03:25 valiza1: there's several web frameworks for CL. You can play around with hunchentoot+tools, or you can try something like Weblocks or UncommonWeb 23:03:28 adeht: 'symbols function definition is void' 23:03:46 *rlpowell* hearts weblocks. 23:04:02 sykopomp: thanks 23:04:02 valiza1: there is also bknr and lisp-on-lines 23:04:06 adeht: Yes, I did. I want to write blog postings about advanced macro issues. 23:04:08 mulander: you need the `slime-editing-commands' contrib 23:04:16 mulander: thanks 23:04:26 mulander: LoL is actually built on top of UCW. 23:05:04 Hrm... 23:05:05 sykopomp: but still, UCW is more low level and LoL is more closer to django/rails 23:05:06 and I wouldn't recommend anyone to try it for the time being unless they're willing to use something that's kinda hard to set up and has no documentation. 23:05:09 valiza1: and if that's not enough, there's core-server: http://labs.core.gen.tr/ 23:05:27 *sykopomp* gets back to writing his tutorial. 23:05:42 froog: :-) thanks 23:05:52 stassats: You cannot use alexandria's parse-body for the case I mentioned above 23:06:03 adeht: do I have to require 'slime-editing-commands in my .emacs? 23:06:24 I'm trying out clg-0.93, and I'm getting an error "illegal to redefine standard type NIL" while compiling/loading "gdktypes". 23:06:25 mulander: Use (slime-setup '(slime-fancy slime-asdf)) 23:06:32 tcr: thank You 23:06:55 Now, aside from the atrocious error message (thank you sbcl 1.0.11), WTF? 23:07:05 tcr: welp.. PURI has a macro that tries to do that, and is actually buggy.. some months ago I wrote an alternative version that isn't as ambitious and, to my taste, is more reasonable.. I sent the patch to kmr, but he hasn't replied. 23:07:33 tcr: (the macro is buggy for more than one reason..) 23:07:37 mulander: http://trittweiler.blogspot.com/ contains a link to a recent presentation about slime 23:07:55 adeht: Writing correct macros is darn hard. 23:08:14 tcr: thanks for the link 23:08:29 tcr: likewise programming in general :) 23:09:32 -!- phao [n=phao@20158138032.user.veloxzone.com.br] has quit [Read error: 110 (Connection timed out)] 23:10:01 phao [n=phao@20158138032.user.veloxzone.com.br] has joined #lisp 23:13:30 -!- emarsden [n=user@mir31-3-82-234-52-44.fbx.proxad.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:14:48 manuel_ [n=manuel@AStrasbourg-157-1-81-17.w90-56.abo.wanadoo.fr] has joined #lisp 23:14:51 -!- manuel_ [n=manuel@AStrasbourg-157-1-81-17.w90-56.abo.wanadoo.fr] has quit [Remote closed the connection] 23:15:05 -!- bohanlon is now known as kg4qxk 23:15:14 -!- kg4qxk is now known as bohanlon 23:15:23 -!- pstickne [n=pstickne@69.166.35.201] has quit [Connection timed out] 23:15:47 manuel_ [n=manuel@AStrasbourg-157-1-81-17.w90-56.abo.wanadoo.fr] has joined #lisp 23:18:09 _3b: Are you here? 23:19:03 -!- mulander [n=user@nat-4.interq.pl] has quit [Remote closed the connection] 23:19:12 existentialmonk [n=carcdr@64-252-145-185.adsl.snet.net] has joined #lisp 23:19:55 ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has joined #lisp 23:23:15 *nyef* sighs. 23:23:23 So much for a usable gtk interface. 23:24:43 minion: pcl 23:24:45 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:24:57 nyef: your sbcl is a bit too old for clg 23:25:10 Seriously? 23:25:28 -!- blitz_ [n=blitz@77.64.176.217] has quit ["Leaving"] 23:25:38 The build instructions in the README make special mention of "SBCL 0.8.21 or newer". 23:26:14 lol 23:26:27 mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 23:27:14 aack [n=ack@s559195f7.adsl.wanadoo.nl] has joined #lisp 23:27:42 *nyef* grabs an sbcl-1.0.23 source archive. 23:27:59 nyef: try better 1.0.22 23:28:08 What's the matter with 1.0.23? 23:29:28 nikodemus made some changes sb-alien:load-foreign-library 23:29:32 (Finding any other source tarball looks to be a pain.) 23:29:35 Oh, joy. 23:29:49 Well, if this doesn't work I'll try to track that down then. 23:30:26 -!- josemanuel [n=josemanu@199.0.222.87.dynamic.jazztel.es] has quit ["Saliendo"] 23:30:50 you might be interested in providing a patch 23:30:56 since clg uses sb-alien directly 23:31:27 Or, rather, it defines its own FFI abstraction over sb-alien. 23:31:47 something like that 23:33:04 -!- [tica] [n=tica@85.234.150.84] has quit [Remote closed the connection] 23:33:14 Hmm I think my ga program is working.. it's a bit hard to tell if it's just luck though 23:33:47 kzar: You'd have to define luck in order to be able to tell, wouldn't you? 23:33:56 (Maybe it's designed to manufacture luck?) 23:34:13 -!- jlouis [n=jlouis@port1394.ds1-vby.adsl.cybercity.dk] has quit [Remote closed the connection] 23:34:25 rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has joined #lisp 23:35:03 nyef: Well luck being... it has to make the number 10 out of a list of 9 different elements like [1-9] + / - * . It seems to be making the number 10 in about 20 goes... I don't know if you brute forced it what the probability of it getting the number 10 are though. 23:35:10 but that probability is luck I guess 23:36:02 netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has joined #lisp 23:38:27 ebzzry [n=rmm@124.217.80.48] has joined #lisp 23:39:32 -!- jpcooper [n=justin@unaffiliated/jpcooper] has quit ["Leaving"] 23:40:35 Hrm... 11 minutes even for a build. Not horrible. 23:40:40 nyef: have you tried lambda-gtk? works sweet for me 23:40:53 minion: lambda-gtk? 23:40:54 lambda-gtk: Lambda-GTK is an apparently complete set of GTK+2 bindings, autogenerated by FFIGEN. http://www.cliki.net/lambda-gtk 23:41:30 That loses prior to evaluation due to license concerns. 23:42:01 -!- netaust1n [n=austinsm@72-254-136-53.client.stsn.net] has quit [] 23:42:27 -!- mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has quit [] 23:43:16 easily one of the best done FFIs though 23:43:39 -!- milanj [n=milan@77.46.248.38] has left #lisp 23:43:56 what would be the license concern? you're linking to lgpl code 23:45:09 The license concern is paranoia with regards to any GPL-derived license and lisp. 23:45:25 -!- b4|hraban [n=b4@0brg.xs4all.nl] has quit [Remote closed the connection] 23:45:28 -!- ebzzry__ [n=rmm@124.217.79.243] has quit [Read error: 60 (Operation timed out)] 23:45:52 blbrown [n=Berlin@c-71-236-25-127.hsd1.ga.comcast.net] has joined #lisp 23:46:14 People don't get paranoid about it with python, it seems a little odd that everyone's so extra paranoid about it with lisp 23:46:14 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit ["Leaving"] 23:46:51 foom: It's almost silly in retrospect, having to do almost entirely with dumped cores. 23:46:59 Errr... saved cores. 23:48:03 Of all the stupid... "PROBLEM CREATING GROUP OBJECT" is not what I need to see for the sourceforge downloads page for SBCL. 23:48:19 -!- blbrown [n=Berlin@c-71-236-25-127.hsd1.ga.comcast.net] has quit [Remote closed the connection] 23:50:29 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 23:50:41 i have no trouble giving sources; tomorrow i have a short term gig writing a layer over ODBC with clisp and have client FrameMaker database connect to their webserver. they keep the source :-) 23:51:01 s/framemaker/FileMaker/ 23:51:48 is it just me or has sourceforge gotten continuously less useful over the years? 23:52:22 not just you 23:52:23 S11001001 [n=sirian@74-137-146-187.dhcp.insightbb.com] has joined #lisp 23:54:39 -!- 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."] 23:56:15 mait [n=user@genyv.rot.sgsnet.se] has joined #lisp 23:58:05 willb [n=wibenton@h69-129-204-3.mdsnwi.broadband.dynamic.tds.net] has joined #lisp 23:58:16 yangsx [n=yangsx@218.247.244.25] has joined #lisp