00:00:00 hefner is that an example of a "faddish" area? 00:02:00 An out of date one, as fads go. I'm not an academic, I don't follow the trends. What's hot today? 00:03:27 Complex event processing? 00:03:54 I have no idea what that means, so it sounds plausible. 00:05:03 current fad... processing massive amounts of data to generate plausibly sounding reports as evidence that censorship & complete invigilation actually give you some good results... 00:05:08 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 00:05:32 Someone give me a copy of lispworks. :< 00:05:51 give a man a fish.. 00:05:51 Here is another one: recognition of faces from video surveillance cameras. 00:06:20 some people mention how newest internet sniffing scheme in UK is all about lobbying of few non-UK companies to generate revenue during crisis :P 00:07:41 -!- scode [n=scode@hyperion.scode.org] has quit [Read error: 60 (Operation timed out)] 00:07:52 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 00:07:54 scode [n=scode@hyperion.scode.org] has joined #lisp 00:09:09 -!- francogrex [n=franco@32.237-247-81.adsl-dyn.isp.belgacom.be] has left #lisp 00:09:59 attila_lendvai: what file is that error in? 00:10:29 beach: face recognition works quite well on those who don't suspect it :P 00:10:42 jsnell: mode.lisp, search for a biiig macrole with the comment ;;; This way is kind of ugly, but I don't know a better way. 00:11:18 p_l: Sounds plausible, yes. 00:11:39 beach: someone prepared to combat face recognition is something completely different... 00:12:13 People are amazingly stupid though. 00:12:32 take me, for instance. 00:12:46 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #lisp 00:13:00 -!- VityokOrgUa [n=user@193.109.118.130] has quit [Read error: 110 (Connection timed out)] 00:13:09 hefner: I don't think I have ever seen your face, so I can't understand why you would say such a thing. 00:13:21 *p_l* often makes a mind map of all CCTVs in range 00:13:54 p_l: what country? 00:14:18 beach: UK :> 00:14:38 Yeah, the UK is often used as an example here. 00:14:49 By both sides, I should add. 00:14:50 but it all started with playing System Shock 2 long time ago... 00:15:12 funny how some games become educational :D 00:15:23 -!- josemanuel [n=josemanu@132.0.222.87.dynamic.jazztel.es] has quit ["Saliendo"] 00:15:27 fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 00:15:56 again, for both sides (: 00:16:33 I don't think the UK is so far removed from the EU norm in surveillance equipment... just off by a (small) constant factor 00:17:20 p_l, I'd say Deus Ex.. 00:17:53 deepfire: Deus Ex was later and was in big part based on System Shock (to the point that interface was *very* similar) 00:18:09 drafael [n=tapio@130.216.53.188] has joined #lisp 00:18:17 p_l, Deus Ex was far more clear about the message. 00:18:25 deepfire: true 00:18:50 I find it staggeringly spot-on, in fact. 00:20:26 -!- proq [n=user@38.100.211.40] has quit [Remote closed the connection] 00:21:16 proq [n=user@38.100.211.40] has joined #lisp 00:22:42 anyone know of a good intro to neural nets that doesn't begin with biological metaphors? 00:22:54 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 00:23:15 fusss: what you are trying to do? 00:23:33 antifuchs: Sounds like what I hear from my colleagues in algorithmics as well. What they don't realize is that the constant factor is starting to become significant because of the behavior of modern chips. I guess that's where the analogy ends. 00:23:39 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 113 (No route to host)] 00:23:39 learn usage patterns of a web app 00:23:51 p_l: adaptive navigation 00:24:26 antifuchs: Or are you just trying to justify having chosen to live in the UK, just the way I am trying to justify staying in France with the current government? 00:24:34 crink [n=crink@210.110.159.199] has joined #lisp 00:24:52 fusss: I'm no AI whiz, but I'd think you'd want something like a hidden markov model for that 00:24:58 *p_l* tries to justify the expense of moving beyond Mars orbit :) 00:25:01 beach: noooo, heavens no. 00:25:08 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 00:25:10 -!- The-Kenny [n=moritz@p5087C35D.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 00:25:12 antifuchs: :) 00:25:15 p_l: don't bother, they probably have government there too 00:25:32 hefner: does "invade them" count as option? 00:26:04 beach: just saying that when I was in the UK, I didn't even notice cameras around me; when somebody pointed them out to me, I realized that it was because I was so used to seeing them almost everywhere in vienna already. 00:26:29 fusss: check out markov models instead of neural nets, unless there is a significant reason to use a neural net :) 00:26:46 antifuchs: OK, I see. They are (relatively) rare here. 00:27:00 so a somewhat higher density went by me almost unnoticed (: 00:27:21 how do they compare performance wise? i much prefer to opt for table driven solution (linear/dynamic proramming) HMMs look nice, imo. 00:28:27 antifuchs: A few years ago, one of our buildings was subject to repeated but systematic damage by a small group of people that may or may not have been our students. A colleague suggested a surveillance camera, and got voted down by some 99% of the others. 00:29:22 heh. If I found a way to take care of some of the surveillance cameras, I'd have full access to server rooms at uni... (they are protected by *mechanical* lock!) 00:29:37 antifuchs: This is just to tell you that the "ambiance" about video surveillance here in France is totally different from some other places I know, notably the UK. 00:29:44 yeah 00:30:02 you seem to live in a reality-based community (: 00:30:08 those are dying out (: 00:30:47 antifuchs: I am very proud of the French. They make a mess, but they are constantly watching our for possible violations of their basic rights. 00:31:12 heh 00:31:52 *p_l* finds democracy rather incapable of performing long-time thinking... 00:32:53 anyway, this is a very interesting discussion, but now it is really *way* beyond my bedtime, so I tell you good night. 00:32:59 divia [n=divia@c-67-164-64-158.hsd1.ca.comcast.net] has joined #lisp 00:33:04 Good night! 00:33:13 night beach 00:33:19 p_l: imagine how much better it would work if the government was constitutionally prohibited from doing anything 00:33:50 hefner: I'm thinking of introducing AI into government :> 00:33:53 I feel the need to point out that the UK comes with its own set of great civil rights activists (open rights group etc) on the one hand and horrible (civil-rights-wise) legislature and administration on the other (: 00:33:55 night, beach 00:34:34 hefner: you are playing Nomic on a global scale? (: 00:34:37 the worst thing is that various wackos get protected, while such a thing as "innocent until proven guilty" are nonexistant... 00:34:39 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 00:34:56 Modern capitalist so called "governments" are but vessels in certain hands. 00:35:49 Potemkin democracies, etc. 00:35:53 sometimes it ends in hands of twins that are grumpy about not ending as Big Damn Heroes during last revolution... 00:37:11 haha. when I first read about them, I thought the polish heads of state were a joke 00:37:55 antifuchs: well, last election had one of my favourite "famous last words" ever :) 00:38:11 "those brats had gone to vote! We're screwed!" 00:38:17 I have installed detachtty, but I am wondering how to specify the SBCL i installed with clbuild instead of whatever the default in /usr/bin/sbcl is. 00:38:21 -!- saikat_ is now known as saikat 00:38:59 er, nevermind 00:39:05 saikat: hmm, I think nowadays, running in screen (or dtach, maybe) is preferred to detachtty 00:39:23 ah, why is that? 00:39:23 saikat: clbuild compile-implementation sbcl, then use clbuild lisp 00:39:47 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 00:39:48 but how can I pass it clbuild lisp, since it wants a single pathname? 00:39:49 I don't like the sources of screen. If the sources of detachtty are cleaner, go for it! 00:40:21 dtach is simpler than screen but offers good quality afaik 00:40:36 like, I want to say "detachtty --log-file /tmp/sbcl.log --dribble-file /tmp/sbcl.dribble /tmp/sbcl.socket "/home/smee/clbuild/clbuild lisp" 00:40:39 divia: I used a shell script which exec'ed sbcl with proper options 00:40:51 ah, okay, I should probably write one of those 00:40:54 they're maintainted, don't often leave sockets lying around on death, and IIRC it took me a bit of hacking to get detachtty to send commands to a running instance from an init script 00:41:05 okay, I'll try just using screen then 00:41:06 thanks 00:41:35 thanks 00:41:53 divia: so I have a 'ccl-vhost' script that starts up a swank server + few additional things (name comes from previously used CCL) 00:42:38 p_l: that sounds useful 00:42:55 if i delete an element from an array that has a fill-pointer, is the result a vector with a fill-pointer? 00:43:21 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"] 00:43:42 -!- Nshag [n=shagoune@Mix-Orleans-106-3-126.w193-248.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 00:43:46 *p_l* thinks about putting Java in his Java so that professor can OOPs while he OOPses 00:44:13 dto: probably not. 00:44:42 dto: notice that DELETE is allowed to be implemented as REMOVE. 00:45:02 -!- davazp [n=user@121.Red-79-152-91.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 00:46:07 yeah we have something that works in SBCL, but in ACL crashes saying the array has no fill-pointer 00:46:34 (defun delete-in-place (index vector) (replace vector vector :start1 index :start2 (1+ index)) (decf (fill-pointer vector)) vector) 00:47:26 bbbut it says "delete, delete-if, and delete-if-not return a sequence of the same type as sequence" 00:47:44 fill pointer and adjustable are not part of the type. 00:48:22 yeah, although it constrains a little bit (you can't ADD a fill pointer where it wasn't there before) 00:49:13 These are basic bricks. You have to build your own application specific higher level abstractions. 00:49:14 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 00:49:37 LiamH [n=nobody@pool-68-239-77-4.res.east.verizon.net] has joined #lisp 00:50:17 -!- jlf` [n=user@unaffiliated/jlf] has quit [Read error: 110 (Connection timed out)] 00:50:45 fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 00:52:43 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit [Read error: 113 (No route to host)] 00:52:43 -!- benny [n=benny@i577A0BE9.versanet.de] has quit [Read error: 104 (Connection reset by peer)] 00:53:09 benny [n=benny@i577A0C54.versanet.de] has joined #lisp 00:53:37 It really would seem nicer if it was guaranteed to return the same array, provided it used a fill pointer. Is there a good argument against doing that? 00:54:25 a technical argument, that is. 00:56:01 It would prevent to make CL implementations on memory starved microcontrolers. 00:56:31 oh, of course. how silly of me! 00:56:38 But perhaps there's a more compelling technical reason. Let's as on cll... 00:56:46 s/as/ask/ 00:57:31 the last time I ran into this, I thought it was too irritating not to ignore, and added it to the list of extra things I expect a reasonable CL implementation to do 00:57:37 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 01:00:08 or perhaps just to the gripes list. 01:09:18 ltriant [n=luket@lithium.mailguard.com.au] has joined #lisp 01:10:27 -!- sohum_ is now known as sohum 01:21:58 -!- fjs [n=chatzill@ppp-93-104-127-121.dynamic.mnet-online.de] has quit [Read error: 110 (Connection timed out)] 01:26:41 -!- Mr_SpOOn [n=Mr_SpOOn@93-42-21-236.ip84.fastwebnet.it] has quit ["leaving"] 01:32:37 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 01:37:37 brandelune [n=suzume@pl064.nas934.takamatsu.nttpc.ne.jp] has joined #lisp 01:41:03 -!- Soulman [n=kvirc@42.84-48-88.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 01:43:49 -!- saikat [n=saikat@dsl081-073-197.sfo1.dsl.speakeasy.net] has quit [] 01:44:16 *sigh*, weeks spent trying to formulate probability theoretic crap into code could've been spent by googling "computational probability" first :-S 01:45:41 the book? 01:46:36 "Fundamental Probability: A computational approach", Peolella 01:48:11 I have about zero numerical analysis skills but fairly ok "pure math" skills; whenever i stumble upon mathematical formulas that i need to convert to code, my first instinct is to just "unroll" them. Yes, including doing functional evaluation in code; differentiation, integrals, whatever else .. 01:52:51 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 01:53:20 -!- divia [n=divia@c-67-164-64-158.hsd1.ca.comcast.net] has quit [] 01:56:24 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Connection reset by peer] 01:56:45 fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 01:56:49 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Client Quit] 01:57:21 -!- Draggor [n=Draggor@216-80-120-145.alc-bsr1.chi-alc.il.static.cable.rcn.com] has quit [Remote closed the connection] 01:57:54 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 01:58:01 Draggor [n=Draggor@216-80-120-145.alc-bsr1.chi-alc.il.static.cable.rcn.com] has joined #lisp 02:03:55 schmx [n=schme@sxemacs/devel/schme] has joined #lisp 02:04:28 Jstick [n=jstick@c-76-19-197-119.hsd1.ma.comcast.net] has joined #lisp 02:04:38 -!- Jstick [n=jstick@c-76-19-197-119.hsd1.ma.comcast.net] has left #lisp 02:09:59 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 02:10:46 -!- mrSpec [n=NoOne@82.177.125.6] has quit ["BB"] 02:14:47 -!- schme [n=schme@sxemacs/devel/schme] has quit [Read error: 110 (Connection timed out)] 02:15:48 -!- Beket [n=rty@ppp3-246.adsl.forthnet.gr] has quit ["Leaving"] 02:16:06 sulo_ [n=sulo@p57B4B6DC.dip0.t-ipconnect.de] has joined #lisp 02:18:08 syamajala [n=syamajal@140.232.178.72] has joined #lisp 02:22:15 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 02:24:05 snippyhollow [n=snippyho@212.116.219.91] has joined #lisp 02:25:04 werdan7 [i=werdan7@freenode/staff/wikimedia.werdan7] has joined #lisp 02:25:46 -!- sulo__ [n=sulo@p57B4B5C6.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] 02:27:17 -!- drafael [n=tapio@130.216.53.188] has quit [Read error: 110 (Connection timed out)] 02:30:42 -!- npoektop [n=user@85.202.112.90] has quit [Remote closed the connection] 02:33:16 -!- mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has quit ["This computer has gone to sleep"] 02:36:26 mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has joined #lisp 02:38:59 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Remote closed the connection] 02:40:57 -!- snippyhollow [n=snippyho@212.116.219.91] has left #lisp 02:43:56 Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has joined #lisp 02:45:21 npoektop [n=user@85.202.112.90] has joined #lisp 02:50:16 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 02:51:02 -!- dialtone [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 02:53:43 *dlowe* broke-ed sbcl :( 02:58:06 saikat [n=saikat@adsl-99-33-30-8.dsl.pltn13.sbcglobal.net] has joined #lisp 02:58:07 -!- mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has quit ["This computer has gone to sleep"] 03:06:37 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 03:09:52 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 54 (Connection reset by peer)] 03:09:57 eno [n=eno@nslu2-linux/eno] has joined #lisp 03:11:13 cracki_ [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 03:13:08 -!- myrkraverk [n=johann@unaffiliated/myrkraverk] has quit [Excess Flood] 03:13:09 -!- mattrepl [n=mattrepl@68.100.82.124] has quit [] 03:15:19 dlowe: r u now sp33k1ng like a lolcat? 03:15:36 Fare: Xach started it! 03:16:21 I'm disappointed my cunning patch didn't work, though. I will have to invest more cunning into it. 03:18:13 mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has joined #lisp 03:20:29 -!- LiamH [n=nobody@pool-68-239-77-4.res.east.verizon.net] has quit ["Leaving."] 03:20:30 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 03:22:05 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 03:22:07 myrkraverk [n=johann@unaffiliated/myrkraverk] has joined #lisp 03:23:37 ayrnieu [n=julianfo@c-98-194-108-33.hsd1.tx.comcast.net] has joined #lisp 03:28:07 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 110 (Connection timed out)] 03:30:23 -!- dreish [n=dreish@minus.dreish.org] has quit [] 03:31:28 -!- syamajala [n=syamajal@140.232.178.72] has quit [Read error: 104 (Connection reset by peer)] 03:36:04 yo, people! in "Little Lisper" functions are defined with (define (lambda (args) ...)). how to do that in common lisp? cmu lisp says that define function is undefined 03:36:38 (define funcname (lambda... 03:37:13 in CL you'd leave out the lambda and do (defun name (args) body) 03:37:22 felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has joined #lisp 03:38:16 the excruciatingly literal equivalent would be (setf (fdefinition name) (lambda (args) body)) 03:38:17 yeah, I know, but I want to try an example (define funcname (lambda (args) (lambda (smth) ... that return function 03:39:04 nothing stops you from having a lambda in the body, I'm just saying you don't use it when defining the function itself. 03:39:32 oh, i got it 03:39:36 contrast with scheme, which supports both ways: (define funcname (lambda (args) ..)) and (define (funcname args) ..) 03:39:36 thanx 03:40:00 why define is undefined in cl? 03:41:18 one answer might be that functions and variables (and classes, etc) are defined separately, using different forms 03:41:57 you can have a variable named FOO and a function named FOO simultaneously 03:42:04 hmmm, interesting 03:43:40 which is why (and you'll encounter this soon enough) in CL there is some context sensitivity as to whether you intend to access a function or a variable (and if you want to obtain a defined function as a value, you use the #'funcname syntax) 03:45:59 in scheme foo might be var or func, not both, right? 03:48:05 right. in scheme, foo just holds whatever you put there, which may be a function or something else, which is why you can define both with the same form. 03:48:25 cool. thanx! 03:49:20 -!- mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has quit ["This computer has gone to sleep"] 03:50:00 CLers like to use the example of a variable named 'list' shadowing the builtin list function to claim this is inconvenient, but that's a little silly 03:50:44 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 03:51:11 ) 03:59:38 xuanwu [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has joined #lisp 04:01:29 -!- existentialmonk [n=carcdr@64-252-67-89.adsl.snet.net] has quit [Remote closed the connection] 04:01:32 schme [n=schme@c83-249-81-1.bredband.comhem.se] has joined #lisp 04:02:29 nuntius [n=nuntius@c-71-232-15-233.hsd1.ma.comcast.net] has joined #lisp 04:13:12 -!- tritchey [n=tritchey@c-68-58-88-241.hsd1.in.comcast.net] has quit [] 04:13:44 -!- schmx [n=schme@sxemacs/devel/schme] has quit [Read error: 110 (Connection timed out)] 04:14:04 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [Client Quit] 04:15:24 -!- disumu [n=disumu@p54BCBD77.dip.t-dialin.net] has quit ["..."] 04:16:16 mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has joined #lisp 04:29:18 ianmcorvidae: herep 04:29:35 t 04:29:43 how did you like ILC? 04:29:46 it was awesome. 04:29:50 :D 04:30:00 -!- mtd [n=martin@ops-13.xades.com] has quit [Read error: 54 (Connection reset by peer)] 04:30:07 mtd [n=martin@ops-13.xades.com] has joined #lisp 04:30:14 -!- mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has quit ["This computer has gone to sleep"] 04:30:27 I'm definitely glad I went; I didn't get as much out of the talks as I might have (inexperience and all), but it was nice to map names to faces and hear about all sorts of cool things going on in the lisp community 04:31:06 the lisp community is so disjoint - something like that is really effective for making connections 04:31:18 what community? 04:31:19 :P 04:31:36 a pack of raving lunatic survivalists 04:32:05 exactly. 04:33:14 I'm thinking of showing up for conbust, btw. Are you checking it out? 04:34:55 I'll probably show up for the webcomics panel, but I'm not sure I care about anything else 04:35:05 Jacob_ [n=yong@61.181.247.170] has joined #lisp 04:35:14 yeah, conbust was pretty dull when I first went to it, but it seems to have grown since then. 04:35:17 -!- Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:35:29 I may not have anything better to do with the rest of my day Saturday, though, so I may be there for more of it :P 04:35:33 -!- Jacob_ is now known as Guest58043 04:36:01 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 04:36:28 oh hey, question for anyone who wants to answer it: are there any good comparisons out there of the various CL web frameworks? (Weblocks, UCW, so forth) 04:37:25 and/or, any in-channel insights to be had 04:37:59 well, I've read that UCW is a little harder to get started with -- although UCW has LoL 04:38:43 LoL? 04:38:59 lisp on lines 04:39:04 don't know what the status on that is atm 04:39:07 -!- phytovor [n=doxtor@unaffiliated/mitja] has quit [Read error: 110 (Connection timed out)] 04:39:13 hmm 04:39:21 ianmcorvidae: ping drewc about it 04:39:35 he'll be able to tell you in pretty specific detail 04:39:37 dialtone [n=dialtone@adsl-67-125-22-221.dsl.pltn13.pacbell.net] has joined #lisp 04:40:38 hmm, okay 04:40:56 -!- dialtone [n=dialtone@adsl-67-125-22-221.dsl.pltn13.pacbell.net] has quit [Read error: 104 (Connection reset by peer)] 04:47:48 -!- myrkraverk [n=johann@unaffiliated/myrkraverk] has quit [Excess Flood] 04:47:56 themcman [n=themcman@c-24-0-72-228.hsd1.nj.comcast.net] has joined #lisp 04:51:20 -!- nuntius [n=nuntius@c-71-232-15-233.hsd1.ma.comcast.net] has quit ["using sirc version 2.211+KSIRC/1.3.12"] 04:51:40 ecraven [n=nex@140.78.42.103] has joined #lisp 04:54:05 -!- themcman [n=themcman@c-24-0-72-228.hsd1.nj.comcast.net] has left #lisp 04:56:37 myrkraverk [n=johann@unaffiliated/myrkraverk] has joined #lisp 04:56:55 spradnyesh [n=pradyus@202.46.19.1] has joined #lisp 04:57:41 -!- spradnyesh [n=pradyus@202.46.19.1] has left #lisp 05:04:06 -!- djinni` [n=djinni`@ludios.net] has quit ["Coyote finally caught me"] 05:04:18 djinni` [n=djinni`@ludios.net] has joined #lisp 05:06:20 -!- Khisanth [n=Khisanth@pool-68-237-103-91.ny325.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 05:07:19 Khisanth [n=Khisanth@151.205.125.200] has joined #lisp 05:09:50 themcman [n=themcman@c-24-0-72-228.hsd1.nj.comcast.net] has joined #lisp 05:14:10 -!- tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has quit [Read error: 110 (Connection timed out)] 05:16:14 reaver__ [n=reaver@h15a2.n2.ips.mtn.co.ug] has joined #lisp 05:17:41 -!- fe[nl]ix [n=algidus@88-149-210-14.dynamic.ngi.it] has quit ["Valete!"] 05:22:59 -!- bombshelter13 [n=bombshel@209-161-238-179.dsl.look.ca] has quit ["If only your veins were filled with oil, the world would rush to your rescue!"] 05:28:42 so, i liked the talk about jnil from ilc 05:28:53 i recall the authors using words like "recently" to describe when features were added 05:29:06 but it looks like there has not been a commit to their cvs for two years 05:29:10 am i looking in the wrong place? 05:29:15 http://common-lisp.net/project/jnil/ 05:29:15 haha 05:29:44 the ML looks completely dead, too. 05:30:32 yeah 05:35:49 -!- felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 05:39:11 things I did two years ago don't feel very long ago to me. I bet that's increasingly true, the older you get. 05:40:00 interesting 05:40:11 i consider my own stuff abandonware if i haven't committed in 3 months or so ;) 05:40:28 but i think i was possibly one of the youngest people at ILC ;) 05:41:05 i definitely noticed a generation gap compared to other conferences i go to 05:41:22 most of the people that are really active in the perl community are around my age (24) 05:41:26 the same could not be said for lisp 05:41:38 and that's a disadvantage (to me), since older people tend not to be around on irc 05:41:49 damn them and their families ;) 05:42:40 hefner: the older you are, the faster the time flies :) 05:44:20 why is no compiling in amd64Z 05:44:37 ?_? 05:46:21 trowl: what do you mean? 05:48:36 oh never mind, i'll try the 19 version 05:49:05 14 didn't install complaining about contrib plugins or something 05:49:41 dialtone [n=dialtone@adsl-67-125-22-221.dsl.pltn13.pacbell.net] has joined #lisp 05:49:46 Good morning. 05:49:59 mornin' beach 05:50:47 eirik_ [i=eirikald@tvilling.pvv.ntnu.no] has joined #lisp 05:50:58 qebab_ [n=finnrobi@eros.orakel.ntnu.no] has joined #lisp 05:51:41 -!- eirik [i=eirikald@tvilling.pvv.ntnu.no] has quit [Read error: 104 (Connection reset by peer)] 05:52:13 is there a lisp irssi client? 05:52:21 oops... irc 05:53:15 minion: tell trowl about cl-irc 05:53:16 trowl: have a look at cl-irc: cl-irc is an IRC networking library written in Common Lisp. http://www.cliki.net/cl-irc 05:53:33 and of course rcirc and erc, which are lisp (but not common lisp ;) 05:53:46 H4ns [n=hans@p57A0DDE5.dip.t-dialin.net] has joined #lisp 05:54:05 -!- themcman [n=themcman@c-24-0-72-228.hsd1.nj.comcast.net] has quit ["Leaving"] 05:55:47 uh?? and what do I do with a library? 05:56:01 write the GUI, and have an irc client 05:56:06 a Simple Matter Of Programming 05:56:16 if you don't want to program it, why do you care what language it's written in? 05:56:41 minion: tell trowl about beirc 05:56:42 trowl: please see beirc: beirc is a CLIM IRC client Application using the cl-irc library as a backend, initially written by Gilbert Baumann, now maintained by Dave Murray and others. http://www.cliki.net/beirc 05:57:09 write?? or code the gui? 05:57:52 minion: thanks 05:57:52 no problem 05:58:25 mm.. minion is a bot? 05:58:34 minion: are you a bot? 05:58:34 i'm not a bot. i prefer the term ``electronically composed''. 05:58:51 LMAO 05:59:30 so how to use the library? 05:59:46 the code for minion uses it. 05:59:51 eno__ [n=eno@adsl-70-137-132-13.dsl.snfc21.sbcglobal.net] has joined #lisp 05:59:58 but you can use the client directly if you prefer. 06:00:03 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 06:00:28 -!- thom_ [n=thom@pool-96-229-99-100.lsanca.dsl-w.verizon.net] has quit ["This computer has gone to sleep"] 06:00:36 as an excercise can be interesting 06:01:25 ok installing sbcl for a second attempt 06:01:40 apt-get install sbcl? 06:01:57 -!- qebab [n=finnrobi@eros.orakel.ntnu.no] has quit [Read error: 110 (Connection timed out)] 06:02:43 emerge sbcl 06:02:54 Guys. Well, I think I am going to (try) making a lisp (general lisp, not CL or anything in particular) IDE in Qt4. Any thoughts? 06:03:05 woopdeedoo [n=bite@S01060016b6b53675.vf.shawcable.net] has joined #lisp 06:03:53 i'd do the other way around, a qt4 in lisp 06:04:22 No way. ;) 06:04:36 appletizer [i=user@82-32-123-217.cable.ubr04.hawk.blueyonder.co.uk] has joined #lisp 06:04:55 xan [n=xan@cs78225040.pp.htv.fi] has joined #lisp 06:06:02 Quadrescence: my thought is to reuse Swank 06:06:11 or, learn emacs and spend your time doing someting else ;) 06:06:37 Hehehe. I've been using emacs for CL entirely. 06:09:33 adityo [n=adityo@202.87.51.241] has joined #lisp 06:09:53 ok, cool 06:10:03 if you have used emacs, you are allowed to want to rewrite it or write your own editor 06:10:21 what exactly is the difference between saying 'lisp, but not CL'?? 06:10:24 usually, people who have used notepad want to write their own editor because it's "easier" than reading the emacs manual, so i am kind of cynical 06:10:26 this confuses me 06:10:32 clojure? scheme? perlisp? 06:11:03 there is certinaly a lot that can be shared 06:11:12 even if "keywords" are spelled differently 06:11:21 cat>notes <<--- that owns them all 06:11:48 grkz [n=qsvans@pdpc/supporter/active/grkz] has joined #lisp 06:11:55 incidentally, a friend and i are implementing our own dialect of lisp 06:12:02 one of the goals is to be easy to syntax highlight 06:12:18 having used perl and worked on cperl-mode.el, that is my primary concern as a language designer ;) 06:12:24 don't tell anyone i said that though 06:12:27 Quadrescence: I think you would be much better off using CLIM. That way, you could reuse Climacs, Clouseau, and the CLIM listener. 06:12:51 definitely a good idea 06:13:11 C++ is pretty brittle 06:13:26 notice how many emacs extensions there are, compared to, say, eclipse or kdevelop (or VS, i guess) 06:13:44 it is just so easy to interact with a lisp-based editor (except for the parts written in C) 06:13:47 Climacs already contains an incremental LALR parser that gives better results than what Emacs can do, especially wrt indentation. 06:13:57 yeah 06:13:58 trowl: To me at least, lisp is just a family of langs 06:14:07 i am considering switching to yi for the parsers alone 06:14:17 it is the right way to do things 06:14:32 font-lock is a horrible horrible hack that makes me very sad 06:15:59 The reason I don't think an editor should be so extensible is because I think some problems with an editor being difficult to use is for that reason. I just don't think a dedicated lisp editor needs to so changeable. 06:16:18 And also, Qt is not too terrible to code with. 06:16:50 i disagree 06:16:58 the reason editors are hard to use is because the user hasn't learned to use them 06:17:09 if you want your editor to be easy to learn, then that's fine 06:17:20 but taking away power from the power users probably won't make it easier for new users 06:17:30 Jabberwockey [n=Tumnus_@port-718.pppoe.wtnet.de] has joined #lisp 06:18:13 jrockway: It takes more than just learning. It takes practice too. One can learn to solve the Rubik's Cube really easily, but it takes months of practice to actually be proficient its resolution. 06:18:43 yes, i agree 06:18:51 you are absolutely right 06:19:07 i suppose that the new user to emacs wants to do everything on the first day 06:19:18 check his email, chat on irc, interact with lisp, write code, organize a calendar... 06:19:21 and then gets confused 06:20:13 also, take a look at yi before writing your own editor 06:20:18 I will. 06:20:22 they have created a great editor in a very short period of time 06:20:29 and, it contains some very good ideas 06:20:33 (i think it is pretty simple, too) 06:20:41 learning-wise, that is 06:23:49 link? 06:24:12 http://haskell.org/haskellwiki/Yi 06:24:17 -!- npoektop [n=user@85.202.112.90] has quit [Remote closed the connection] 06:24:23 npoektop [n=user@85.202.112.90] has joined #lisp 06:25:48 does anyone know of any popular, free and portable applications written in CL? 06:26:29 maxima? 06:26:47 there are lots of others; sbcl itself, stumpwm, etc., et.c 06:30:01 I think it's a shame that users have to learn emacs, before they learn CL, especially if CL is a hobby and they aren't particularly free all the time. :< 06:31:17 why do you have to learn emacs? 06:31:20 "rlwrap sbcl" 06:31:23 there's your REPL 06:31:28 then write your code in notepad, if you want 06:31:49 emacs is highly-recommended because it's good and it's what the experienced hackers tend to like 06:31:49 I could type it on a typewriter and use OCR if I wanted too. :/ 06:32:02 also, lispworks seems to have a nice ide 06:32:10 -!- ltriant [n=luket@lithium.mailguard.com.au] has quit [Remote closed the connection] 06:32:27 so... new users can just use that 06:32:28 I like the lispworks ide a lot. If only their application wasn't 4-something thousand USD, then maybe I'd use it. 06:32:40 it's free for people that aren't doing anything useful, isn't it? 06:32:45 what's to learn? run emacs and type text into it. if you don't learn anything else about emacs, you're still operating at about the level of most "easy" editors (except with more useful paren matching) 06:32:53 jrockway: It's crippleware. 06:33:01 yeah, totally 06:33:08 but, new users aren't going to notice 06:33:13 once they have real apps, they can use SBCL 06:33:33 iono, i don't think "getting started" is the hard part of lisp 06:33:39 however, writing lisp in notepad is completely unrealistic 06:33:41 hefner: How to move around buffers, how to copy-paste, how to move around the document itself, bla bla bla 06:33:45 or rather, it is hard, but it's hard to start learning any other language 06:33:58 hopefully people who are programmers are at least comfortable in some editor already 06:34:30 jrockway: I just remember that my productivity-and-learning to time ratio was just ...very small. 06:34:45 for CL + emacs? 06:34:48 Yeah. 06:35:19 I still am not extremely proficient in emacs, even having used it for many months. :/ 06:35:26 Quadrescence: Okay, you got me on the copy-paste thing. I hope your hypothetical user doesn't have to learn how to move around with the arrow keys or click tabs, though. (modern emacs has tabs, right? I turn that crap off) 06:35:28 ah, well 06:35:35 like you say, practice makes perfect 06:35:47 i used emacs for a long time without really understanding it 06:35:58 then i read the manual from cover-to-cover and tried to use a new technique every so often 06:36:02 i got much better 06:36:06 hefner: I don't know about tabs; I use the terminal. 06:36:11 then i learned emacs lisp, and that also helped me *a lot* 06:36:23 8000 lines of customizations later, emacs works pretty well for me ;) 06:36:35 it did make learning CL hard though 06:36:41 i had to unlearn the emacsisms ;) 06:36:42 hefner: XEmacs used tabs, Emacs I have yet too see with tabs 06:37:06 AFAIK, GNU emacs doesn't have tabs 06:37:10 the idea has been thrown around 06:37:16 but i don't think anyone things it's useful to implement 06:37:29 C-x b is much easier than moving your hand to the mouse 06:37:34 even if you are a new user ;) 06:37:49 People use mouse to switch between tabs!? 06:38:17 so i hear 06:38:21 look at the popularity of textmate 06:38:26 p_l: People use the mouse these days to move to the end of the line. 06:38:29 not by a huge amount, though. After you type C-x b, you still have to type some of the buffer name, and probably do a couple mental round trips between the tab key and the completion code 06:38:30 "omg, i can see my folder structure all the time! it's so great!" 06:38:49 well, the default C-x b is horrible, i will agree 06:39:04 emacs does have horrifingly bad defaults 06:39:18 that emacs-devel continues to make worse every day... ;) 06:39:20 but what can you do 06:39:26 that's why it's customizable 06:39:50 (i think transient-mark-mode is the default now! wtf!) 06:40:23 Quadrescence: anyway, don't let me talk you out of writing your editor 06:40:36 but it's worth noting that a lot of editors exist, but everyone only uses two of them 06:40:39 (emacs and vi) 06:41:04 I know a guy who codes C in pico. I laughed, but he's really good. 06:41:13 linus uses mg, AFAIK 06:41:19 jrockway: Well, who knows, maybe that could change (it won't) specifically for lisp. 06:41:20 i really think it's fear of the unknown 06:41:26 linus does use mg 06:41:28 i have a friend that uses the original vi that he hacked to run on modern UNIX 06:41:36 he is also very good 06:41:43 but i think he would be better if he weren't so afraid of vim 06:41:59 or emacs ;) 06:42:54 *p_l* sometimes uses ed 06:43:14 I've never been convinced investing time in editor tricks was worthwhile ("it still won't write my code for me" and so forth) 06:43:40 I was beginning to write my own editor for lisp in C+ncurses, but then got a little sick. :> 06:43:42 -!- npoektop [n=user@85.202.112.90] has quit [Read error: 110 (Connection timed out)] 06:43:45 not sure what you mean by tricks 06:43:53 i was pair-programming with a friend using vim last night 06:44:11 every time he needed to reindent something, he had to move the cursor around and insert a space-filled rectangle 06:44:15 in emacs i just hit M-i 06:44:18 npoektop [n=user@85.202.112.90] has joined #lisp 06:45:17 jrockway: gobby is a really nice program to chat+write stuff (it has syntax highlighting and all that, but not an ideal code editor on its own). 06:45:29 s/stuff/stuff with multiple people/ 06:45:42 hmm 06:45:45 okay, that's a good example. I used emacs for years (and more years) before I ever learned M-q, and now I'd notice within a few minutes if you took it away from me. 06:45:46 Since it essentially realtime. 06:45:50 we were in the same room, so we just used one computer ;) 06:45:54 conferences++ # for that reason 06:47:04 jrockway: Ah, gobby can be used via internet/LAN. I think it's really cool. 06:48:17 one more thing to throw out 06:48:23 as a user of emacs, i am generally satisified 06:48:30 as a programmer of emacs extensions, i am generally annoyed 06:48:36 Hehehe 06:48:37 productive, but little things annoy me 06:48:43 like... font-lock 06:48:46 as a user of emacs.. my hand hurts. ouch. 06:48:52 the fact that EVERYTHING blocks redisplay 06:48:54 etc, etc 06:49:07 so a new editor would ideally fix these things 06:49:12 this is why i like yi 06:49:20 it sucks for me as a user, but as a developer, it is pretty good 06:49:27 (no interactivity though, which really sucks) 06:49:38 hefner: I wrote 1600 lines of lisp yesterday. My knuckles were dead by the end of the day. 06:49:51 (the "recompile the entire app when i press a key" works for xmonad, but not so much for yi, IMHO) 06:49:59 compared to M-: anyway 06:50:07 Quadrescence: that is an impressively large number 06:50:39 provided they mostly work, at least. 06:50:48 hefner: I did code almost non-stop from 9AM to about 2AM. 06:52:35 thom_ [n=thom@pool-96-229-99-100.lsanca.dsl-w.verizon.net] has joined #lisp 06:56:03 oh, one more question, and i am not trolling 06:56:11 why do you want to write something in C++? ;) 07:03:12 rlpowell_ [n=rlpowell@chain.digitalkingdom.org] has joined #lisp 07:03:12 -!- rlpowell [n=rlpowell@chain.digitalkingdom.org] has quit [Read error: 104 (Connection reset by peer)] 07:07:14 rvirding [n=rvirding@adsl-63-205-181-122.dsl.snfc21.pacbell.net] has joined #lisp 07:10:11 -!- sohail [n=Sohail@unaffiliated/sohail] has quit [Read error: 113 (No route to host)] 07:11:53 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 07:13:09 well speaking of editors, there is climacs that i haven't seen mentioned 07:13:18 i mean, its pure common lisp and a fresh start 07:14:01 it isn't unreasonable to think that extending that would be far easier then reinventing something in c/ncursers or something ridiculous like that 07:14:17 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 07:14:48 and even emacs wasn't emacs when it started. 07:15:02 depends on your goals, and your definition of easy 07:15:36 mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has joined #lisp 07:17:15 I'd generally rather start from scratch with unambitous goals and have a lot of simple problems with no baggage, versus jumping into something ambitous and relatively complicated, with unsolved hard problems 07:18:00 woopdeedoo, you could write an ncurses backend for climacs/clim! 07:18:21 although it doesn't seem globally optimal for every hacker to use his own halfassed custom editor 07:18:52 the coders dilema has always been the fight between their ego and their lazyness :) 07:18:54 indeed 07:19:00 -!- ayrnieu [n=julianfo@c-98-194-108-33.hsd1.tx.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:19:12 tic: ehe, i'm too noob to take on something that ambitious but i'm starting 07:19:14 that said, climacs is neat. please hack on it. 07:19:45 jao [n=jao@cpe-75-84-114-170.socal.res.rr.com] has joined #lisp 07:21:45 one thing that would be great for either (X)Emacs or Climacs... _multithreading_ and concurrency 07:22:32 even if only with buffer locks 07:22:46 hefner, everyone's using their own custom editor, just maybe not halfassed, though. 07:23:14 embrace change! 07:23:54 sounds like "embrace chaos" :D 07:23:59 heh 07:24:07 good morning 07:24:27 concurrency is a "hard problem" 07:24:36 made harder by emacs' historical baggage 07:24:44 most problems are as hard as you choose to make them. some are harder. 07:25:02 my solution would be to sandbox all "old" lisp 07:25:10 and make people rewrite the concurrent stuff 07:25:16 s/rewrite/trivially port/ of course 07:25:22 then you can have all your abandonware work 07:25:29 and stuff that still has developers can run fast 07:25:57 but really, if i was going to implement that, i would want to replace the VM 07:26:00 and then all the C code 07:26:08 *ianmcorvidae* clbuilds closure out of curiosity. 07:26:08 no reason to write software in C in 2009 07:26:11 I'm not concerned about "fast". I'm concerned about "blocking" :D 07:26:19 yes 07:26:26 if you were going to do concurrency it would make more sense to start clean 07:26:31 agreed 07:26:36 easy solution: don't do blocking things in a text editor. don't use things that do blocking things! 07:26:42 p_l: it is "easy" to not block in emacs though 07:26:50 just fork something else to do the hard work 07:26:52 jeremiah: I was writing my lisp in C, come on. We love C. 07:26:57 jrockway: try forking a buffer 07:26:58 i was experimenting with doing font-lock in a separate emacs today 07:27:03 p_l: easy 07:27:08 you update the buffer through RPC calls 07:27:10 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 07:27:19 well, this way, it might be done, sure 07:27:21 this is the easiest way to get concurrenct in emacs currently 07:27:22 it sucks 07:27:34 jrockway: Make erlangmacs 07:27:35 but it's easy 07:27:36 ;) 07:27:38 no 07:27:41 *hefner* is coding C right now 07:27:41 erlang is a dead language 07:27:48 haskell does concurrency much better ;) 07:27:55 Quadrescence: using LFE, so it looks nicer :P 07:27:55 jrockway: There are lots of erlang fanboys about. 07:28:07 there are lots of everything fanbois 07:28:18 someone even gave a lisp fanboi talk at ilc 07:28:20 it was awesome 07:28:23 jrockway: Haskell and Erlang have different concurrency in target :P 07:28:24 -!- Thick_McRunfast is now known as Blast_Hardcheese 07:28:45 i donno, i keep on reading and learning things about various languages 07:28:50 is there a way to curry a bunch of arguments at once? 07:28:50 "i'm really new to programming" <30 minutes later> "in conclusion, lisp is definitely the best programming language" 07:28:57 and all i see is lisp pretty well invented most of it 40 years ago all at once 07:28:59 fanbois annoy me even when i agree with them 07:29:14 like somehow map curry to a list of args and then successively curry the resulting function from each application to the next arg in the list? 07:29:20 *p_l* personally prefers "multiple processes, shared nothing" to STM 07:29:22 woopdeedoo: lisp is 50 years old. 07:29:24 hefner, you get to /code/ at work? wow. I envy you. 07:29:24 in lisp? 07:29:30 yeah in lisp 07:29:31 or 50. indeed. 07:29:35 saikat: how are you doing the currying now? 07:29:38 -!- mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has quit ["This computer has gone to sleep"] 07:29:50 like (curry (curry function arg) arg) 07:30:38 is this your own macro? 07:30:38 simplified version, have a few more curries than that =) 07:30:47 curry? no 07:30:47 i have written my own, and it takes a list 07:30:52 what lisp are you using? 07:31:02 common lisp in SBCL 07:31:37 (fboundp 'curry) => NIL 07:31:42 i could write a macro to do it, just wondering if one already exists 07:31:49 use alexandria 07:31:51 er might not be in that package, let me check 07:31:56 i have alexandria installed 07:31:58 it has curry 07:32:08 sorry, i have curry already 07:32:17 what i meant 07:32:30 oh wait 07:32:33 i'm an idiot sorry 07:32:37 alexandria's takes multiple args 07:32:42 i guess curry already takes multiple args =) 07:32:44 thanks 07:32:52 ;) 07:35:41 *p_l* finds himself rather angry at not being able to *simply* specify a closure as event handler in Swing 07:36:16 p_l: you can't do that in clojure??? 07:36:22 also, anonymous classes? 07:36:38 it's a shit-ton of typing, but almost a closure 07:36:48 the best solution is to not use java 07:37:06 hehe 07:37:11 pjb: I can't use clojure 07:37:21 /away 07:37:26 or abcl or clforjava. 07:37:38 -!- Jabberwockey [n=Tumnus_@port-718.pppoe.wtnet.de] has quit [Remote closed the connection] 07:37:45 If I could have used clojure, the whole thing would be multithreaded and fit in 2~3 files with more functionality than the current crap 07:38:03 hyperbor1ean [n=none@unaffiliated/hyperboreean] has joined #lisp 07:38:08 i have had to do java projects like that 07:38:13 and that's how they end up 07:38:29 i.e., sucking, because i don't have the patience to hand-hold java ;) 07:38:36 but hey, that's what the client wants, so whatever 07:39:06 Linq to the rescue. Write in Lisp, compile to readable Java 07:39:11 -!- adityo [n=adityo@202.87.51.241] has quit ["Lost terminal"] 07:39:14 or Linj? I forgot 07:39:17 linj 07:39:21 'cause jnil is the opposite 07:39:22 Ooooo 07:39:30 oooh 07:40:01 unfortunately, their website is dead 07:40:03 ... domain not found ;_; 07:40:05 yeah 07:40:06 It's not available for free, but it's reasonably priced 07:40:23 ah 07:40:38 so not for current stuff, but who knows about later :D 07:40:51 i would convince your client to want clojure 07:41:07 "i can do it cheaper" "the code will have less bugs" "the code will be easier to work on" etc. 07:41:28 jrockway: I'm currently doing java assignments. If it was for a client, it would probably be done in CL :> 07:41:34 ah 07:41:43 java assignments? 07:41:47 like, university? 07:41:55 p_l: You could send a mail to leitao that the website isn't working, and how much it would cost 07:42:11 There's a trial version 07:42:13 Iirc 07:42:41 i wish i knew about real programming languages when i was in university 07:42:44 jrockway: unfortunately. And no one got the genius idea that before giving group assignments we should have some training as to how to cooperate on projects 07:42:53 heh 07:43:20 yeah, i remember group assignments 07:43:26 integrating code based on sending zips to each others is ... 07:43:30 nobody in my group ever spoke english 07:43:35 and they all lived an hour away from campus 07:43:40 so... i just did them myself 07:43:46 i didn't have to deal with them, and i got my A, so whatever 07:44:05 yeah... unpleasant memories 07:44:20 i almost want to quit industry and become a professor 07:44:21 jrockway: we have to show "groupwork" ... 07:44:27 so i can teach people how to do programming right 07:44:52 -!- hyperbor1ean [n=none@unaffiliated/hyperboreean] has quit ["leaving"] 07:45:16 hehe 07:45:17 p_l: express the flow of the algorithm in a real langauge 07:45:23 and let your group do the transaltion to java 07:45:27 jrockway: strangely enough as soon as they've got their diploma, they forget everything and nothing changes. 07:45:31 "you can learn programming by being a program" 07:45:53 pjb: better to have learned and lost, then to never have learned at all 07:45:54 ;) 07:46:26 Well if you can teach good programming to two students, it will be worth it. 07:47:22 you could probably do this over the internet 07:47:36 teach people how to program? 07:47:37 ;) 07:48:04 if one added gobby like functionality to climacs or emacs, you could combine that with video and sound streaming 07:48:22 that would be cool 07:48:27 and offer the full training online without having to leave home or make large changes to your lifestyle 07:48:38 i think p_l's problem is that he doesn't want to actually type things like "public static void main" 07:48:41 or look at them 07:48:51 (ok, or define classes that should actually be lambada) 07:48:54 * lambdas 07:50:08 jrockway: or manually write action handlers with nested ifs 07:50:17 -!- hyperboreean [n=none@unaffiliated/hyperboreean] has quit [No route to host] 07:50:17 i do think that programming is uniqely compatible with such an approach if it were offered 07:50:25 kiuma [n=kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 07:50:35 true coders want to code, not travle to and from class 07:50:58 yeah 07:51:18 personal story, i quit university because the stupid work like p_l's thing took too much time 07:51:25 i never had time for my own projects 07:51:34 several years later, i don't regret that decision at all 07:51:48 hyperboreean [n=none@unaffiliated/hyperboreean] has joined #lisp 07:51:50 heh. I once learned more sitting on IRC during a lecture. And no, I wasn't even in related channel 07:51:56 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 07:52:09 it really could be taught that way, indeed 07:52:12 mvilleneuve [n=mvillene@che33-1-82-66-18-171.fbx.proxad.net] has joined #lisp 07:52:15 (although sometimes i wish i could do more "real" research instead of writing dumb applications for people, but i do have some time for researchy things) 07:52:27 hell, between that and a google window open, you really can teach a lot 07:52:39 now if only the research wasn't done in java... 07:52:55 i went to pascal costanza's contextl talk at ilc 07:53:01 *p_l* seen quite a lot of AI-related research at uni... all in java 07:53:03 he reminded me that acadamia is not completely clueless 07:53:09 he is doing some good work, and he publicly hates java ;) 07:53:27 good morning 07:53:37 jrockway: my AI professor had shown visible positive reactions to hearing the word "lisp" :D 07:54:18 p_l: You could do robotics in CL at the university in munich 07:54:27 as well as performing the most cruel computer practical most freshman CS students have seen, by having them use Prolog at least for 2hrs :D 07:54:35 that is robotic planning and reasoning 07:54:41 IMHO, if you are willing and able to learn on your own, the only reason to deal with undergraduate CS is to get into graduate school 07:54:51 tcr: I don't speak German well :-) 07:54:55 if you just want to be a practicing programmer, nobody cares if you have a java diploma 07:55:02 s/nobody/nobody important/ 07:55:14 p_l: I don't think you have to. There are lots of english-speaking people at the chair 07:55:17 jrockway: my pov was that I want to get access to various opportunities, less about actual coursework 07:55:35 p_l: You could think about for a foreign semester 07:55:58 they're looking for people who get things done 07:56:17 tcr: yeah, I'm considering applying for exchange, though I can at most do half-year (I missed deadline for full year exchange) 07:56:48 If you're interested, I'll provide you contacts 07:56:55 MrSpec [n=NoOne@82.177.125.6] has joined #lisp 07:57:48 *tcr* afk 07:58:09 p_l: you should definitely just go for the half-year then 07:58:21 you can try transferring afterwards if you like it 07:58:36 the ideal situation is to get your piece of paper AND an education ;) 07:58:37 hello 07:58:41 yeah. Though lately I have been looking at Norway :D 07:59:17 i am assuming you are in .us now? 07:59:22 jrockway: UK 07:59:27 ah, ok 07:59:36 i thought only americans liked java and groupwork ;) 07:59:40 (i am an american ;) 08:00:24 -!- woopdeedoo [n=bite@S01060016b6b53675.vf.shawcable.net] has quit [Remote closed the connection] 08:00:30 jrockway: no, it's pretty much standard. With the exception that in Poland you get also all the heavy mathematical stuff etc. during first year, as the policy is "fail as many students as you can" ;-) 08:00:57 heh 08:01:10 the goal in the US is to graduate as many students as you can 08:01:30 as a result, they call "intro to clicking buttons in eclipse" "computer science" 08:01:34 it makes me sad 08:01:35 jrockway: that might change again shortly 08:01:42 that would be great 08:01:54 -!- ilitirit [n=john@watchdog.msi.co.jp] has quit [Read error: 60 (Operation timed out)] 08:01:56 they're reporting significantly higher CS enrollments in the US 08:02:10 probably because CS is seen to be recession-resistant 08:02:19 interesting 08:02:25 and because quants are not in nearly as much demand 08:02:42 i don't think that's a long-term trend though 08:02:48 the recession will be over in a few years 08:02:52 aerique [i=euqirea@xs2.xs4all.nl] has joined #lisp 08:03:00 I don't know 08:03:02 it might be 08:03:04 I wouldn't bet on that 08:03:06 the recession being over in a few years 08:03:11 less than 10 08:03:22 less than 10, probably 08:03:26 i don't think you should pick something you don't actually like just to get a job though 08:03:31 I thought you meant 2 or 3 08:03:32 i have worked with too many people like that 08:03:35 programming is NOT cool 08:03:41 you should only do it if you love it :) 08:03:47 be a doctor if you want cool 08:04:02 as for CS being recession resistant... I get emails about "recession creating thousands of IT jobs for contractors" 08:04:05 lawyers hate their jobs the most 08:04:24 yeah, i kind of see the logic 08:04:29 including being called from Poland by a financial company looking for a linux sysadmin "right now" 08:04:33 people will not stop wanting software 08:04:37 p_l: it's not absolutely recession resistant 08:04:43 they will want *more*, since software can replace expensive workers 08:04:46 or save them time, etc. 08:04:57 good software, that is 08:05:07 Adamant: true. But bank mergers are great opportunity to earn money :D 08:05:09 you need to be in a part of the industry that saves people money to be truly recession-proof 08:05:24 or something essential, like food 08:05:27 or pharma (*) 08:05:30 VoIP and virtualization are good 08:05:39 *p_l* considers picking up COBOL to having an emergency skill 08:05:42 (*) not anymore, since pharma is more interested in "cool" things rather than things people need 08:05:52 or things that generate money, like CRM systems 08:05:55 *to have 08:06:11 Adamant: start a mint ;-) 08:06:20 p_l: that's not a bad idea 08:06:37 there's a chronic undersupply of physical precious metal coins right now 08:06:40 btw, how badly is the recession hurting college-educated specialists? 08:06:48 depends 08:07:09 it's not hurt most CS types too badly, yet, exception being the quants 08:07:16 we're all doomed 08:07:20 I'm not sure. I ended in a region where my skills are not so much in demand that they would get someone for parttime while he is studying ;-) 08:07:22 -!- H4ns [n=hans@p57A0DDE5.dip.t-dialin.net] has quit ["Leaving."] 08:07:42 p_l: I'm in a similar boat. internships are good 08:07:43 tombom [i=tombom@wikipedia/Tombomp] has joined #lisp 08:07:43 beat the rush, start your orgy of rioting and rampant destruction before it becomes trendy 08:08:14 hefner: Does it count as rioting if we use hi-tech equipment for that? :D 08:08:22 p_l: writing open-source software is also good 08:08:35 somone at ITA offered me an interview because they saw some open-source stuff i wrote 08:08:43 jrockway: true 08:08:46 hefner: getting to the point you can't buy guns for love or money, rioting and rampant destruction is just no fun 08:08:48 and since becoming active in the perl community, i have never needed to interview (or even submit a resume) to get a job 08:08:59 *p_l* is currently applying for GSoC 08:09:06 p_l: really good idea 08:09:30 yeah, definitely 08:09:32 and you get paid :) 08:09:35 indeed 08:09:48 Though it's not as leisure work as what I did last summer :D 08:09:54 p_l: what projects are you looking at? 08:10:43 gah, sleep I should 08:10:47 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 08:10:53 Adamant: NetBSD (AoE driver), Plan9 (porting LLVM or ECL), Minix (killing their vm by porting SBCL), maybe OpenCog 08:10:58 -!- Koerper [n=Slax@c-ee70e253.4542024--62697410.cust.bredbandsbolaget.se] has quit ["Exit"] 08:10:59 talk like yoda I am is no good 08:11:11 yoda talk good be 08:11:29 AoE? 08:11:35 ATA over Ethernet 08:11:38 ah 08:11:50 (no, not Age of Empires ;-)) 08:12:13 I was thinking Aces over Europe 08:12:20 think that was a game way back in the day 08:12:22 ilitirit [n=john@watchdog.msi.co.jp] has joined #lisp 08:12:37 -!- rvirding [n=rvirding@adsl-63-205-181-122.dsl.snfc21.pacbell.net] has left #lisp 08:12:48 yeah, Aces over Europe was great. I broke my joystick few times playing it :D 08:13:20 combat flight sims are nearly dead 08:13:23 kinda sad 08:14:01 but all things come back again 08:14:14 BSG now? 08:14:25 we're now having dance-offs like we're back in the 80's again 08:14:40 Breakin' 3: Twitterfic Boogaloo 08:15:19 p_l: all things come back in BSG, but the show itself won't 08:18:15 heh. On more on-topic, p.languages diversity comes back... 08:22:23 p_l: it's happening 08:23:12 yeah, i am not so sure about that 08:23:19 in the blogosphere, sure, there is diversity 08:23:23 there's a pretty generally increased level of interest in Lisps, Erlang, Haskell, Smalltalk, Forth-alikes, and so on 08:23:27 but the real world is essentially a monoculture 08:23:31 that i agree with 08:23:40 jrockway: I dunno. 08:23:44 smart people are free to use something other than java, and mostly they end up doing OK 08:23:48 I have a friend who recently got into CS 08:24:04 and he's learning Haskell on the side because of reddit posts 08:24:23 jrockway: MS and Sun, of all companies, are actually pushing new languages into big biz. 08:24:33 indeed, like F# and Fortress 08:24:47 Ogedei [n=user@e178208028.adsl.alicedsl.de] has joined #lisp 08:24:51 Adamant: or dynamic extensions in newer JVM 08:24:54 and putting functionally features into C# and VB even 08:24:59 or MS' DLR 08:25:07 (or was it Sun? dunno) 08:25:15 p_l: I think both 08:25:34 mega1 [n=mega@pool-02832.externet.hu] has joined #lisp 08:25:47 FWIW, my company has been contracted to write JVM and CLR apps 08:25:51 F# is already usable with MS tools (well, they had been using OCaml internally for some time) 08:25:56 in both cases, we were not allowed to use Clojure or F# 08:25:58 i am not sure why 08:26:08 but big companies want Java or C#, even if M$ supports F# 08:26:18 jrockway: "manager think" 08:26:22 oh, totally 08:26:24 cheaper programmer 08:26:26 s 08:26:28 no 08:26:30 more plentiful 08:26:30 we were doing this :) 08:26:33 and we are not cheap 08:26:35 Adamant: "replacable" 08:26:54 if they wanted cheap, they would have asked some outsourcing firm to do it for them 08:27:05 alinp [n=alinp@86.122.9.2] has joined #lisp 08:27:08 i guess they want the option of doing it cheaply in the future 08:27:22 jrockway: specialists get to charge more if there's any real demand 08:27:26 Adamant: It's not really about cheap, but thinking that standardising on Java/C#/VB.NET would mean that they are 1) following "best practices" 2) they can easily switch programmers :) 08:27:39 p_l: it's partially about cheap 08:27:47 yeah 08:27:50 but I agree replaceable is also a large consideration 08:27:55 getting someone to maintain your clojure app could be pricey 08:27:59 the main one really 08:28:09 but... we would have charged them less to build it (since it wastes less of our time) 08:28:12 especially if Clojure turns out to be a flash in the pan 08:28:18 and... the app is essentually throwaway 08:28:21 s/is/was/ 08:28:28 yeah, then it is quite silly 08:28:35 finally, i have worked on inherited java... and it ain't easy to maintain 08:28:41 stupid programmers do stupid things 08:28:46 and public/private/protected doesn't stop them 08:28:49 except that throwaway apps get used longer than the yhsould 08:28:52 yeah 08:29:08 (as an aside, read the java standard library sometime. the people writing it have no idea what OOP is.) 08:29:51 *p_l* has a feeling that all those 2-digit-year COBOL apps were "throwaways hacked by few guys because they couldn't get manager to actually hire someone to make a proper one or overhaul the situation" 08:29:52 the Java standard library is the best argument you can give to a new programmer that library writers aren't necessarily smarter than you/they are 08:29:59 do you know why it is that it's so bad? they've replaced a lot of it but the first versions looked like they were made by interns 08:30:45 ilitirit: no clue 08:30:50 backcompat probably 08:30:55 but that is no excuse 08:30:59 they should deprecate and fix 08:31:03 Adamant: I have a double case of that... I can show at the same time that original lib wasn't good, and then that what your professor supplied as "simplified and easier" sucks more 08:31:08 instead of forcing me, the end user, to write horrible horrible workarounds 08:31:26 (the class i am most familiar with is URLConnection. read it if you enjoy crying.) 08:31:48 p_l: i remember that from high school 08:31:52 we still used C++ back them 08:31:53 p_l: I think part of the COBOL problem was that they assumed nobody would still be using their code in 2000 08:31:58 there was "apvector" because STL was "too hard" 08:32:02 which was a reasonable guess to make 08:32:06 apvector was the most broken piece of code ever 08:32:15 i did all my stuff with STL, because i wanted my programs to actually work 08:32:18 I see your URLConnection and raise you java.util.Date 08:32:21 abeaumont [n=abeaumon@84.76.48.250] has joined #lisp 08:32:23 heh 08:32:46 oh, and its subclass java.sql.Date, which was absoultely fucking inspired 08:33:06 hahaha 08:33:09 well put 08:34:15 *Ogedei* relives bad memories 08:34:37 I'd like to think another rationalization for apvector, at least at the time of its inception, was that some (already obsolete) C++ compilers had little or no STL support at all 08:34:40 we still deal with some of those problems today. You could have wiped out half the information security industry by requiring C to be resistant to hostile attackers, but who knew around 1970 that descendants of OS's written then would be put on a international network and subjected to massive onslaughts of attacks from around the world? 08:34:42 Adamant: and the you suddenly find that computer calls forth apocalypse on printed output... 08:34:55 ? 08:35:00 *then 08:35:22 Adamant: Someone on the daily wtf found a certain app printing "Apocalypse is coming" on the printout... 08:35:26 ah 08:35:27 Adamant: they couldn't have anticipated that, but they could have anticipated buf[length] = 42 08:35:35 instead of buf[length-1] = 42 08:35:46 oh sorry, but bounds checking is so slow 08:35:53 i want my program to run really fast for a while and then crash 08:35:56 speeeeed! 08:36:10 I call it sloppy coding :P 08:36:17 xan_ [n=xan@cs78225040.pp.htv.fi] has joined #lisp 08:36:39 on that note, though, i will give java a lot of credit for popularizing GC 08:36:55 what used to be "that will never work, it's too slow" is now faster than manual allocation :) 08:36:58 yes, and a reasonable amount of type and memory safety 08:36:59 fuck you, naysayers 08:37:15 haskell is also doing well in this department 08:37:19 "functional programming is too slow" 08:37:23 gueux [n=g@d193-172-200.home3.cgocable.net] has joined #lisp 08:37:24 if faster than C is too slow... 08:37:28 hi 08:37:31 my phone is java powered. I can't decide if that's a good thing or a bad thing 08:37:37 although you can still overflow regular ints and such in Java 08:37:41 heh. C on the other hand was designed for *simplicity* 08:37:51 software is complicated 08:37:53 chpln [n=chpln@ppp121-45-209-12.lns11.adl2.internode.on.net] has joined #lisp 08:37:54 dan_b: if Android it's good, otherwise it's indifferent 08:37:59 if your tools are simple, then the complexity is handled by your app 08:38:05 (or by you, the programmer) 08:38:20 if your tools are smart, then you can worry more about the actual problem you are trying to solve 08:38:45 (making sure you are never off by one, and managing memory, are a few tasks that humans *CAN* do, but probably shouldn't) 08:38:46 man, this discussion is great, like the proggit comment board got diarrhea and someone ran a hose to squirt it in #lisp 08:39:05 proggit from 3 years ago maybe 08:39:14 hefner: I take it you do not approve? 08:39:17 proggit today mostly consists of pictures of lolcats 08:39:31 and people talking about how lisp is dead, and how php is teh awesome 08:39:39 Adamant: imagine my frustration at feeling compelled to defend C in #lisp, and being too tired to do so 08:39:45 I would like to format a string with a specified offset: "~Ns" my-offset my-string 08:39:52 (fortunately, i have not loaded proggit for two months now. what a glorious two months.) 08:39:54 jrockway: well, the idea was to have C as bootstrap and write tools that would write C for you 08:39:58 Davidbrcz [n=david@nsc.ciup.fr] has joined #lisp 08:39:59 yeah 08:40:01 is it possible? 08:40:03 and that is an excellent idea 08:40:11 hefner: sorry man. C is a nice language, despite it's shortcomings. 08:40:17 (see, for example, chicken scheme) 08:40:23 jrockway: ECL works quite nice too :) 08:40:31 and has native threads! :D 08:40:37 cool 08:40:46 i am not sure that i can agree that C is a nice language 08:40:58 it's a nice abstraction over assembly 08:41:01 for compilers to produce 08:41:03 no, C is not a nice language, really. But you can get things done, like in almost any other language. 08:41:11 it has horrific bugs but it's fun to program in. 08:41:12 but for writing my music player or web browser... not so nice 08:41:17 jrockway: well, that was the idea... portable assembler :) 08:41:21 yeah 08:41:35 i should probably not say this... but i wish UNIX never happened 08:41:42 question, if anyone can answer it: is there any linux distribution with a decent and working version of sbcl, such that I don't have to manage it myself? 08:41:44 funny, most of the applications on my screen are written in C 08:41:46 for example (format "~Ns" 3 'aaa) would return " aaa" 08:41:46 we would all be on lisp machines right now :) 08:41:47 to be funnier, VAX assembler survives to this dayas a programming language 08:41:48 c is timeless language 08:41:55 p_l: in VMS? 08:42:00 Adamant: yeah 08:42:04 ianmcorvidae: debian has not been too bad for me 08:42:17 Adamant: except that on my machine it produced alpha machine code :P 08:42:23 which debian? unstable, experimental? 08:42:28 i use unstable 08:42:28 hefner: they are, the question is whether they should be 08:42:34 hmm, okay 08:42:40 ianmcorvidae: I found it easier to just manage it myself (basically amounts to downloading a tarball) 08:42:42 sbcl was broken a year or so ago... but it hasn't been since then 08:42:52 (i install all my libraries in ~/.sbcl, however) 08:43:03 yeah 08:43:05 dunno how well the packages work 08:43:09 If C weren't the portable workhorse it is, we'd not be running lisp-machines, but rather something that looks like MULTICS and programming in PL/I, Jovial, or some other equally bad language. 08:43:18 actually, i use cl-opengl from debian, and it has also treated me well 08:43:25 clhs ~A 08:43:25 http://www.lispworks.com/reference/HyperSpec/Body/22_cda.htm 08:43:45 jso: we'd probably be running VMS and it would be programmed in Bliss 08:43:47 ianmcorvidae: freebsd has the latest SBCL in ports. 08:43:54 possibly michaelw is right, however, especially given that I probably will need two versions of sbcl whatever I do 08:43:58 how does sbcl work from ports? 08:44:04 don't you need sbcl to compile sbcl? 08:44:06 heh, not wrestling with a BSD just yet 08:44:10 guaqua: I think it should be (format nil "~@20A" 'aaa) which will prefix aaa with 17 spaces 08:44:20 Adamant: in case of VMS it would be programmed in "whatever the subsystem author fancied" :) 08:44:24 jrockway: I think it uses clisp to compile it. 08:44:29 fair enough 08:44:41 ianmcorvidae: do you know/use clbuild? 08:44:44 for complex things like that, i don't mind getting a binary from my OS vendor, however :) 08:44:47 p_l: they might have standardized at some point, in theory 08:44:54 antifuchs: ok 08:45:03 -!- Guest58043 [n=yong@61.181.247.170] has quit ["Leaving"] 08:45:18 ianmcorvidae: it's a bit removed from managing it all yourself, but still far enough away from the control of distro vendors to mess it up (: 08:45:25 Adamant: nope, they didn't have to. They standardized ABI and API in the very beginning to avoid the need for other standardisation :) 08:45:45 I know of clbuild, but have not used it (except a failed attempt to install closure about an hour ago, as it died when my sbcl was non-threaded) 08:45:46 Do sbcl threads work on freebsd? 08:45:50 p_l: they might have done so for economic reasons, I mean 08:45:52 curiously, despite my enthusiasm for CL, there are no CL applications I want to use, and I don't particularly even want to use applications in CL 08:45:57 getting back to our original discussion 08:45:59 Adamant: That may well be, but the point is that Lisp Machines and Lisp in general has stayed primarily a language for AI and popular within a small community of enthusiasts. 08:46:13 hmm, it always amazes me how a simple data structure with three operations which can be explained on a napkin takes ~350 lines of code when written out properly 08:46:28 ianmcorvidae: I think it's really pretty neat even for just the simply-upgradable sbcl it offers 08:46:40 it's all I've been using it for lately (: 08:46:40 antifuchs: but is it possible to specify 20 directely (I do not know the size of "aaa") 08:46:42 jso: and now got replaced by Java ;-) 08:46:52 gueux: oh - that. you can format that format string (: 08:46:55 -!- eirik_ is now known as eirik 08:46:58 can it do something like keep two sbcls around for me? I need an unthreaded one for stumpwm but would like a threaded one for various other things... 08:47:01 (this is turning into a "sup dawg" joke) 08:47:19 Correct. At least it aids both the AI community and hopefully gets the AI stigma off of Lisp and it's derivatives. 08:47:33 gueux: (format t "~?" (format nil "~~@~AA" 20) 'aaa) (-: 08:47:46 mooglenorph: yes 08:47:48 antifuchs: err, ~v 08:48:08 Sup dawg, I heard you like formats so I put a format in your format so you can print while you print? 08:48:38 NOW we have proggit 08:48:43 mega1: hmm. ports seems to build it without threads by default 08:49:02 http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/lang/sbcl/Makefile?rev=1.67;content-type=text%2Fplain 08:49:03 michaelw: ~V? 08:49:16 ianmcorvidae: debian? probably not 08:49:20 antifuchs: *** - Non-existent format directive :( 08:49:24 jrockway: Thank you, and if you need me you can find me in /b/ 08:49:27 debian can't, no --- of course not 08:49:28 mooglenorph: uh-oh, question of defaults. I see another long discussion coming. 08:49:35 jso: :) 08:49:38 unless I want to get really, uh, special about a custom repository 08:49:55 FWIW, i keep perl and haskell installed in my home directory due to special needs 08:50:31 (debian's haskell was too old for the JSON library to work right a few months ago; and your system perl is never suitable for development, only running packaged apps) 08:50:32 antifuchs: (format t "~v@a" 20 "aaa") 08:50:38 mooglenorph: the short story is that stability of threads varies by platform. On x86/x86-64 linux it's quite stable. Not much feedback from freebsd. 08:50:39 mega1: meh. I'll just make an sbcl-threads port. (I'm moving to freebsd. I'm very taken with their documentation. I just need SBCL threads to work, for hunchentoot.) 08:50:43 michaelw: err, wow 08:50:46 i still use the system sbcl, but only because i don't have any special needs 08:50:49 michaelw: I didn't know that this exists 08:51:02 or do have special needs but am not smart enough to realize that i have special needs ;) 08:51:13 that's because you have special needs 08:51:15 gueux: michaelw's solution is way better than what I could come up with (: 08:51:16 mooglenorph: no :( 08:51:35 (it works, for one) 08:51:37 that does not work 08:51:47 Soulman [n=kvirc@42.84-48-88.nextgentel.com] has joined #lisp 08:51:48 gueux: works for me... what happens? 08:51:58 gueux: hunchentoot won't work on freebsd? 08:52:20 (format t "~v@a" 2 "aaa") prints aaa without space 08:52:29 -!- xan [n=xan@cs78225040.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 08:52:47 gueux: the 2 is the minimum total number of columns that output should take up 08:52:53 hunchentoot? 08:52:56 not the number of prefix columns 08:53:12 like I said, "~20@a" 'aaa ; will result in 17 spaces 08:53:28 maybe you want (format t "~vt~a" 2 "aaa")? 08:54:01 michaelw: yes 08:54:03 :) 08:54:07 thanks 08:54:12 adityo [n=adityo@202.87.51.241] has joined #lisp 08:54:34 michaelw: that will work only at the beginning of the line, correct? 08:54:41 (the 2 in that form is the column number) 08:54:48 mega1: I guess I'll just find out. What should I do to stress-test thread stability? Can you point me at a chunk of sbcl docs? 08:54:51 -!- schme [n=schme@sxemacs/devel/schme] has quit ["leaving"] 08:55:14 schme [n=schme@c83-249-81-1.bredband.comhem.se] has joined #lisp 08:55:27 mooglenorph: you'll not be as taken with sbcl docs ... 08:55:31 what are you after? 08:55:56 run the tests, complain if they fail. 08:56:07 antifuchs: there's probably a combination of : and @ that will make it work... in the worst case (format t "~va~a" 2 "" "aaa") 08:56:26 mooglenorph: stress you webapp, complain if sbcl fails ... 08:58:05 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 08:58:31 antifuchs: the cool thing is that V can be substituted for any parameter: (format t "~v,,,v@a" 10 #\- "aaa") => -------aaa 09:01:04 ignas [n=ignas@office.pov.lt] has joined #lisp 09:01:45 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #lisp 09:02:26 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 09:03:07 michaelw: yeah, I hadn't known this exists at all. I suspect the formatted output chapter could use a bit of touching-up so these gems are easier to find (: 09:05:18 -!- kiuma [n=kiuma@85-18-55-37.ip.fastwebnet.it] has quit ["Bye bye ppl"] 09:06:27 mega1: I haven't run tests on sbcl before. Reading over the threads test in the test directory. How do I run these? 09:07:06 -!- crink [n=crink@210.110.159.199] has quit ["Leaving."] 09:07:14 sh ./run-tests.sh [test.lisp ...] 09:07:26 mooglenorph: "sh run-test.sh" runs all tests "sh run-test.sh threads.impure.lisp" runs that particular file 09:07:38 thanks very much. sorry. 09:08:49 "Under Linux, select() may report a socket file descriptor as "ready for reading", while nevertheless a subsequent read blocks." 09:08:54 from the manpage 09:11:22 maybe we should just work on OS X and Windows 09:12:13 How can I unlock package ? Everytime I compile file, I have to choose "unlock-package" option :\ 09:13:00 you could instead rewrite your code so that you don't violate package locks 09:13:12 that way you won't be invoking undefined behaviour 09:14:16 I was thinking about this ;) 09:16:05 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 09:24:33 well, that was suprisingly painless. 1400 tickets sold in ten minutes, another sbcl success story ;-) 09:25:59 hmm. anyone in here know what would happen if I were to store an instance of a nonpersistent class in a slot of a persistent class (with Elephant)? 09:26:23 specifically, I'm thinking of putting timestamps from local-time into a slot value for a persistent class 09:27:05 stassats [n=user@wikipedia/stassats] has joined #lisp 09:27:19 kami- [n=user@unaffiliated/kami-] has joined #lisp 09:27:25 good morning 09:29:47 instead of select() one should use epoll() on linux kqueue on freebsd? 09:29:56 H4ns [n=Hans@p57BBAE3B.dip0.t-ipconnect.de] has joined #lisp 09:30:22 -!- galdor [n=galdor@bur91-2-82-231-160-213.fbx.proxad.net] has left #lisp 09:32:08 MrSpec: have a look at shadow and defpackage :shadow option. 09:32:10 clhs shadow 09:32:11 http://www.lispworks.com/reference/HyperSpec/Body/f_shadow.htm 09:32:22 free_thinker [n=willijar@eas-nw709pc01.aston.ac.uk] has joined #lisp 09:34:43 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 09:34:51 -!- Adrinael [n=adrinael@barrel.rolli.org] has quit [Read error: 60 (Operation timed out)] 09:35:04 ok, thx. but ATM I'm trying to change some parts of my code. 09:35:05 Adrinael [i=adrinael@82.130.50.23] has joined #lisp 09:36:22 yes, epoll() is better than select() when you have many (idling, in particular) connections, mega1 09:36:33 attila_lendvai: after pulling, I have a "HU.DWIM.WUI::RENDER-FAILED-TO-LOAD-PAGE fell through ETYPECASE expression." while trying to render the frame-component 09:37:08 -!- stassats [n=user@wikipedia/stassats] has quit [Remote closed the connection] 09:37:22 kami-: is your cl-quasi-quote uptodate? 09:38:41 oh. it's not pulled during pullourstuff? 09:39:08 attila_lendvai: it is up to date. 09:39:08 should be 09:39:31 kami-: also, prefer pullstuff. that pulls more 09:41:07 attila_lendvai: I'check whether I have introduced changes which might be relevant. 09:41:24 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 09:41:43 -!- reaver__ [n=reaver@h15a2.n2.ips.mtn.co.ug] has quit [Read error: 60 (Operation timed out)] 09:43:38 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #lisp 09:45:37 -!- yangsx [n=yangsx@218.247.244.25] has quit [Read error: 110 (Connection timed out)] 09:47:06 attila_lendvai: I had changed the :default-locale from "en" to "de". There were probably defresources missing. 09:47:57 kami-: hrm. i think i know the problem, just checking... 09:48:09 -!- jrockway [n=jrockway@stonepath.jrock.us] has quit [Read error: 113 (No route to host)] 09:53:57 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 09:57:05 hmmm. In "Conses as Lists", there is no "Lists as Property List". I thought there was. Doesn't Common Lisp provide any function to manipulate property lists ? 09:57:32 clhs getf 09:57:32 http://www.lispworks.com/reference/HyperSpec/Body/f_getf.htm 09:57:37 kuwabara: ^ 09:58:11 H4ns: thanks. Do you imply it's the only one ? 09:58:21 kuwabara: what are you missing? 09:59:13 H4ns: Good question. I was just missing a dictionary page for such functions, but maybe I only need getf. 09:59:49 matley [n=matley@matley.imati.cnr.it] has joined #lisp 10:00:02 as a completely irrelavent to everything question that is only for my own amusement and kind of sucks: what do you guys miss in common lisp? 10:00:29 a better slime 10:00:36 -!- matimago- [n=user@cac94-10-88-170-236-224.fbx.proxad.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 10:01:12 a better emacs 10:01:17 consistency, for example the argument order of elt vs nth (and lots and lots of other functions) 10:01:41 matimago [n=user@cac94-10-88-170-236-224.fbx.proxad.net] has joined #lisp 10:01:42 a better operating system to sit on. 10:01:42 aerique: setf/push also come to mind 10:02:03 kuwabara: oh, a lot of others come to mind :) 10:02:06 Better managers to give more lisp jobs. 10:02:09 aerique: lol 10:04:41 An up-to-date file abstraction. 10:07:46 Good morning. 10:08:51 hello spiaggia 10:09:42 -!- Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Read error: 104 (Connection reset by peer)] 10:16:38 more lisp jobs, second matimago :) 10:18:32 customizable interning in the reader, standard code walker, environment access 10:19:33 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 10:21:07 jdz [n=jdz@85.254.211.133] has joined #lisp 10:21:56 michaelw: well said! 10:24:28 fu-streams 10:24:52 kiuma [n=kiuma@host148-131-static.28-87-b.business.telecomitalia.it] has joined #lisp 10:25:08 mega1: well, better protocols in a number of other areas, too. 10:26:15 blandest [n=blandest@softhouse.is.ew.ro] has joined #lisp 10:27:04 I also don't like that hash tables are so opaque. I seem to be lacking the tools to write efficient custom hash tables/indexed sets, etc.. 10:29:08 attila_lendvai: I'm trying to put the counter example from wui demo application into my own app. But it doesn't like me. 10:30:06 kami- pasted "ajax with cl-dwim" at http://paste.lisp.org/display/77664 10:31:16 kami-: i've pushed a small cleanup for functional resources. read the comments in the diff! 10:31:35 attila_lendvai: thanks, will do. 10:31:35 10:32:33 xuanwu_ [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has joined #lisp 10:35:35 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 10:35:43 kami-: you're alone on the ajax territory. although we'll push a fix for some obvious errors in collect-covering-remote-identity-components-for-dirty-descendant-components 10:36:59 attila_lendvai: ok. I'll stay away from it for the time being. I have enough other things to work on (e.g. persistent-processes) 10:37:43 kami-: they give you much more cool features than ajax, and it's mostly orthogonally introducable later, so that's a good idea 10:38:40 attila_lendvai: I'll probably run into enough problems with my dojo based layout and such. 10:39:57 jewel [n=jewel@dsl-242-188-120.telkomadsl.co.za] has joined #lisp 10:44:16 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 10:46:59 -!- daniel_ is now known as daniel 10:50:48 -!- xuanwu [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has quit [Read error: 110 (Connection timed out)] 10:51:52 -!- saikat [n=saikat@adsl-99-33-30-8.dsl.pltn13.sbcglobal.net] has quit [] 10:57:57 stassats [n=stassats@wikipedia/stassats] has joined #lisp 10:59:54 -!- jao [n=jao@cpe-75-84-114-170.socal.res.rr.com] has quit [Read error: 110 (Connection timed out)] 11:00:05 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 11:00:49 -!- schme [n=schme@sxemacs/devel/schme] has quit [Read error: 60 (Operation timed out)] 11:01:00 elderK [n=zk@222-152-12-156.jetstream.xtra.co.nz] has joined #lisp 11:01:07 :) I know what I meant now! 11:01:10 And hey, guys! 11:04:09 ntoll [n=ntoll@87.236.135.147] has joined #lisp 11:04:15 Just, an old C idiomish thing I guess. Like, say, bst_insert(&tree, node) < &tree is a bst**, node would be a bst* 11:04:37 -!- xuanwu_ [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- alinp [n=alinp@86.122.9.2] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- sulo_ [n=sulo@p57B4B6DC.dip0.t-ipconnect.de] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- CrEddy [n=Adelarth@wrongplanet/CrazyEddy] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- c|mell [n=cmell@nttkyo036048.tkyo.nt.ngn.ppp.infoweb.ne.jp] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- cmm [n=cmm@bzq-79-176-38-156.red.bezeqint.net] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- jho [n=jh@unaffiliated/cene] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [verne.freenode.net irc.freenode.net] 11:04:37 -!- anekos [n=anekos@pl476.nas926.p-osaka.nttpc.ne.jp] has quit [verne.freenode.net irc.freenode.net] 11:04:48 where as in lisp, I guess the proper way to approach it would simply be to create a tree node, then insert into that. 11:04:51 mikezor_ [n=mikael@213.112.227.103] has joined #lisp 11:04:58 bangtree [n=user@pool-71-98-95-27.ipslin.dsl-w.verizon.net] has joined #lisp 11:05:25 xuanwu_ [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has joined #lisp 11:05:25 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 11:05:25 alinp [n=alinp@86.122.9.2] has joined #lisp 11:05:25 sulo_ [n=sulo@p57B4B6DC.dip0.t-ipconnect.de] has joined #lisp 11:05:25 jho [n=jh@unaffiliated/cene] has joined #lisp 11:05:25 CrEddy [n=Adelarth@wrongplanet/CrazyEddy] has joined #lisp 11:05:25 c|mell [n=cmell@nttkyo036048.tkyo.nt.ngn.ppp.infoweb.ne.jp] has joined #lisp 11:05:25 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #lisp 11:05:25 cmm [n=cmm@bzq-79-176-38-156.red.bezeqint.net] has joined #lisp 11:05:25 anekos [n=anekos@pl476.nas926.p-osaka.nttpc.ne.jp] has joined #lisp 11:07:53 elderK: I would create the node at the point where it gets inserted. But I would return a new tree from the insert function. 11:10:08 wjlroe [n=will@93-97-171-163.zone5.bethere.co.uk] has joined #lisp 11:11:19 attila_lendvai: I had a problem with findr which would abort prematurely instead of searching (without error message) 11:11:45 morning 11:11:47 spiaggia: so, a clone of the tree we just inserted into - with the node inserted? 11:11:52 good morning, Xof 11:12:20 kami-: haven't seen it. send a fix if you have one... 11:12:23 hello Xof 11:16:03 -!- mikezor [n=mikael@c-67e370d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 11:16:09 elderK: Not a clone of the entire tree, no. But in case the initial tree is empty (nil), you need to return a new, 'cause you can't modify nil. 11:16:15 while I'm reading file, line by line, is it possible to call function for every 3 lines ? like (my-function line1 line 2 line3) and if there are another 3 lines: (my-function line4 line5 line6) ? 11:17:21 (my-function (read-line f) (read-line f) (read-line f)) 11:17:42 ahh so simply 11:17:54 I was trying with do and it looks awful 11:18:00 jrockway [n=jrockway@stonepath.jrock.us] has joined #lisp 11:19:35 (handler-case (loop (my-function (read-line f) (read-line f) (read-line f))) (end-of-file () :done)) 11:20:15 thanks :) 11:21:13 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 11:22:44 nathanael [n=nathanae@8.121.113.82.net.de.o2.com] has joined #lisp 11:22:55 Any new thoughts on replacing serve-event in sbcl? Baseline: http://article.gmane.org/gmane.lisp.steel-bank.devel/11120 11:23:27 -!- nathanael [n=nathanae@8.121.113.82.net.de.o2.com] has quit [Client Quit] 11:25:41 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #lisp 11:26:38 mega1: to what iolib does that message refer? 11:27:14 -!- Davidbrcz [n=david@nsc.ciup.fr] has quit [Read error: 110 (Connection timed out)] 11:27:32 Xof: the one on common-lisp.net 11:27:48 later in the thread there are other suggestions: libevent and libev 11:30:04 so, spiaggia, something like this? (defvar *some-tree-root* nil) (setq *some-tree-root* (bst-insert *some-tree-root* key)) 11:30:04 ? 11:31:01 will any of these help in getting windows working more nicely? What actual advantages do we get? Does any of these things eliminate whole swathes of bugs? Must a replacement be wholesale or can the io systems coexist? 11:31:42 elderK: yes, but you probably want to associate an object with the tree :) 11:31:49 "please use my code, that will motivate me to write documentation" is not really a desperately good argument 11:31:49 matimago, why do I get end of file error ? it this (end-of-file () :done) OK ? 11:32:19 elderK: (setf *t* (bst-insert *t* key object compare-fun)) 11:32:45 elderK: you need a function to compare the keys, because the library can't know the domain of the keys. 11:32:49 does anyone know if there's any way to save a memory image in xcl? 11:33:23 elderK: alternatively, you need-to have a way of computing the key from the object 11:33:47 elderK: (setf *t* (bst-insert *t* object key-fun compare-fun)) 11:35:22 unless the object stores the key. 11:35:38 say, (make-node keyval) 11:35:45 matimago, ok, nvm I've found my mistake. 11:36:18 elderK: if the object stores the key, the bst library still needs to access the key in stored objects, so you need the equivalent of key-fun. 11:36:32 Xof: no idea about windows. Two bugs lead me here: (https://bugs.launchpad.net/sbcl/+bug/316069), and the linux select() bug that I pasted this morning. 11:36:34 kenyao [n=kenyao@203.88.208.8] has joined #lisp 11:36:38 -!- Jasko [n=tjasko@c-98-235-105-148.hsd1.pa.comcast.net] has quit ["Leaving"] 11:37:39 there are other bugs related to serve-event but those are not solved by any of these 11:38:00 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 11:38:34 Krystof [n=csr21@158.223.51.76] has joined #lisp 11:38:51 Jasko [n=tjasko@c-98-235-105-148.hsd1.pa.comcast.net] has joined #lisp 11:39:13 Xof: as a data point: i had many problems with sbcl's serve-event, and the last lib we depend on (postmodern) is also scheduled on my TODO to be rewritten on iolib to avoid various KLUDGE patches that we applied to keep the servers running (e.g. a with-timeout around the close call) 11:39:52 envi^home [n=envi@220.121.234.156] has joined #lisp 11:40:16 spiaggia: the idea is we insert nodes. the nodes store the links, as well as the key. If we needed key functions, would we not need link functions too? Or, are you happier with instead having a container node - which binds to the objects that are being inserted. 11:40:29 attila_lendvai: those problems are probably in fd-streams, changing the multiplexer may not help much. 11:40:31 iolib works fine for us, although we are not stressing its event features yet 11:41:09 windows port is on stall, though. at least that's my last info, but i don't care about windoze 11:41:20 *attila_lendvai* needs to run 11:41:47 mega1: iolib has full stream implementation, both gray and zeta 11:42:04 elderK: but you said the *objects* sotres the key, I couldn't guess you meant the *nodes*. 11:42:17 to me, they are one in the same. 11:42:17 sorry. 11:42:18 :) 11:42:24 attila_lendvai: sure, but that's not what I brought up 11:42:54 elderK: the bst library is obviously responsible for the links, so client code does not need to supply anything for those. 11:43:30 although Fare does suggest that in the linked message, I'm only interested in io.multiplex for now. 11:43:32 iolib uses its own syscall stubs via cffi also, its posix lib is unix-specific, but the fd stubs appear to also support winsock 11:43:47 elderK: but yeah, if the nodes store the key as well as the object associated with the key, you can pass a key, an object, and a comparison function for keys. 11:44:26 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 11:45:11 chaitanya [n=chaitany@122.173.52.112] has joined #lisp 11:45:47 Hmm 11:45:51 silenius [n=jl@yian-ho03.nir.cronon.net] has joined #lisp 11:45:53 I've got to stop thinkin gimperative. oy. 11:46:58 schme [n=schme@c83-249-81-1.bredband.comhem.se] has joined #lisp 11:47:11 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit ["..."] 11:48:00 Nshag [i=user@Mix-Orleans-106-3-6.w193-248.abo.wanadoo.fr] has joined #lisp 11:49:32 hello, are there any CL tools available for checking code quality? 11:49:40 ivan4th [n=ivan4th@87.249.9.98] has joined #lisp 11:50:03 heya chaitanya 11:50:11 existentialmonk [n=carcdr@64-252-67-89.adsl.snet.net] has joined #lisp 11:50:14 elderK: hey 11:50:44 elderK: would you know of any such tool? 11:51:01 so basically i wrote some CL code which is a big hack, basically 11:51:21 now I want to "clean it up" 11:51:51 -!- kpreid [n=kpreid@216-171-189-59.northland.net] has quit [] 11:51:51 according to some definition for "clean it up", it would be nice if there is something which can tell me - look here, here and here... 11:52:24 sorry chaitanya, I'm new to CL. Atm, Im trying to keep my brain from exploding. 11:52:32 chaitanya: I doubt there is anything like that. Even other languages don't really have anything like that (there are certain metrics but they are hacks too :P) 11:53:03 p_l: hmm. 11:53:18 well, not hacks, but I doubt they would mesh well with Lisp 11:53:22 elderK: brain from exploding? well, just hang on a little. eventually you will embrace it. 11:53:26 elderK: :P 11:53:45 chaitanya: It's just, I'm so used to the imperative way, I guess. I'm used to embracing side affects :P I guess you could say. 11:54:02 Davidbrcz [n=david@193.52.24.125] has joined #lisp 11:54:02 p_l: yeah probably they won't. would be nice if there is something for CL. 11:54:11 To me, the side affects were all part of the nuance of the program - you would harness them to make everything faster, better. 11:54:18 sure, if you used them wrong - you blew your head off :P 11:54:22 p_l: even something which i can modify for my own code metrics would be nice. 11:54:49 elderK: yeah, there is a bit of unlearning involved here. 11:55:01 btw, which book are you reading? 11:55:09 ^_^ But at least I have made the step to understanding that, to use Lisp at all decently, I have to apply a different philosophy to it's use. Don't try to use the same principles of C. 11:55:20 elderK: correct. 11:55:26 chaitanya: you might make some tool for yourself, but afaik the metrics I have seen, even if you adapted them to CL syntax, wouldn't really help unless you wrote CL like it was Java :P 11:55:30 PCL, On lisp "Lisp 2nd edition", Clt2 online. 11:55:58 Reading all of these things helps me grow accustomed to the syntax, but... That's not what Im trying to find. Im trying to find out how to get into the mindspace. If that makes any sense. 11:56:16 elderK: try writing something and find your own version :) 11:56:48 well, aye p_l. But, take the tree Im trying to make for fun. I can't build it :P 11:57:00 becasue the ideas I am used to, no longer stand. The idea of pointer-pointer derefencing and suchlike. 11:57:18 elderK: If you want to do it FP way, grab Okasaki's book or his PhD thesis 11:57:20 p_l: I think I stumbled upon some professor's webpage long back, which had something like that for his students, and I think it was for CL or Scheme. 11:57:30 can't seem to find it now, though. 11:57:41 instead of saying, say, (setq ROOT (insert-into-tree ROOT obj key-fun cmp-fun)) or whatever. 11:57:49 I would rather just say (insert-intotree ...) 11:57:55 and the root passed in, would be updated from inside. 11:57:58 chaitanya: there was a tools that checked certain common beginer mistakes 11:57:59 but that is side effects. 11:58:02 whic his bad form, right? 11:58:58 -!- bangtree [n=user@pool-71-98-95-27.ipslin.dsl-w.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 12:00:58 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #lisp 12:03:06 It would b euseful if I could find like, some course on lisp online - with excersizes - that I could do - to get into the midnset. 12:03:38 -!- cracki_ [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 60 (Operation timed out)] 12:03:44 elderK: have you tried David S. Touretzky's book? 12:03:52 http://www.cs.cmu.edu/~dst/LispBook/index.html 12:04:05 -!- Davidbrcz [n=david@193.52.24.125] has quit ["Ex-Chat"] 12:04:09 elderK: Side effects are accepted in CL, though 12:04:45 Also, "Lisp" by Winston/Horn is also an "easy" introduction to CL. 12:04:53 http://www.amazon.com/Lisp-3rd-Patrick-Winston/dp/0201083191 12:05:59 aye chaitanya 12:06:01 thats the book Ive got. 12:06:05 exactly the one I have here. 12:06:07 heh, boxes... 12:06:08 :; 12:06:08 :P 12:06:27 -!- adityo [n=adityo@202.87.51.241] has quit [Read error: 60 (Operation timed out)] 12:06:27 I learnt CL from that book too. I found the going pretty easy thanks to this book :) 12:06:29 Scheme / Gambit seems kind of cool, too. 12:06:43 Well hey, chaitanya, is there any advice you can bestow upon me? 12:06:43 :) 12:06:59 take the side effects thing. 12:07:08 well, 12:07:29 that is hard. 12:07:36 If I pass in a global variable, into a function, I don't know how to change that variable's value - so that it is persistent, outside of the function. Because a set[fq] just, updates the variable as it is locally. 12:08:03 then don't pass the global variable to your function 12:08:34 that creates a local binding for the variable name 12:08:42 how would you approach that, chaitanya? 12:08:46 -!- Ogedei [n=user@e178208028.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 12:08:59 why don't u show me what you are trying to do? 12:09:20 Oh, just implement a BST :) 12:09:25 tritchey [n=tritchey@c-68-58-88-241.hsd1.in.comcast.net] has joined #lisp 12:09:28 just, in lisp. 12:09:28 and don't take this no side-effects thing to an extreme either. 12:09:37 Iterative, not recursive 12:11:33 -!- kenyao [n=kenyao@203.88.208.8] has quit [Success] 12:12:12 what operation do you want to perform on the BST? 12:12:30 insertion, removal, traversal. 12:12:39 why does it have to be a global? 12:12:53 well, if we have a tree, A. 12:13:01 and we insert keys, 1, 2, 3, 4, 5 into tree A. 12:13:10 we will need to update the links inside tree A. 12:13:19 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit ["I wish the toaster to be happy, too."] 12:13:19 the tree starts dead, nil. beacuse there is nothing inside of it. 12:13:22 we need to update that. 12:13:30 sure, we could return the tree. 12:13:51 i would probably make insertion and removal destructive (i.e. with side-effects) 12:14:04 aye. but thats the thing, Im not sure how to. 12:14:14 why not? 12:14:31 how would you do it in any other language? 12:14:34 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 12:14:53 (defvar *var1* 1) 12:14:53 (somefunc *var1*) <--- somefunc is meant to set the passed in variable (*var1* here), to say ,1231. 12:14:57 I dont know how to accomplish that in lisp. 12:15:03 -!- tsuru is now known as Guest12793 12:15:11 in C, Id use pointers. Pointerpointer to root, pointer to the node being inserted. 12:15:27 Ok, rule #1: in Lisp, everything is a pointer 12:15:52 so when you pass *var* to somefunc, you are actually passing a pointer to the object in *var* 12:16:04 modify the object, and *var* will be modified 12:16:07 elias` [n=me@194.81.254.4] has joined #lisp 12:17:10 would you midn showing me a very simple example? 12:17:13 ejs [n=eugen@nat.ironport.com] has joined #lisp 12:17:26 chris2 [n=chris@p5B16A724.dip0.t-ipconnect.de] has joined #lisp 12:18:00 hm 12:18:11 ok. (defparameter *x* (list 1 2 3 4 5)) 12:18:24 (defun modify-list (list) (setf (second list) 'second)) 12:18:32 (modify-list *x*) 12:18:35 now check *x* 12:18:48 (1 second) 12:19:31 sellout [n=greg@guest-fw.dc4.itasoftware.com] has joined #lisp 12:19:54 -!- Guest12793 is now known as tsuru 12:19:56 1 second 3 4. 12:20:21 -!- dysinger [n=tim@cpe-75-80-200-182.hawaii.res.rr.com] has quit [] 12:20:40 yeah. so you see your global *x* was modified, even though i apparently only modified the variable 'list' in the function definition 12:20:49 well aye. 12:21:01 but that doesnt work, unless the data passed in, is a list? 12:21:02 say, 12:21:31 (defparameter *v1* 2) 12:21:31 (defun change(var) (setf var 1)) 12:21:31 (change *v1* 0) 12:21:33 how are you passing the data as? 12:21:37 yeah that won't work. 12:21:39 that would affect the local, right? 12:21:39 X-Scale [i=email@2001:470:1f08:b3d:0:0:0:2] has joined #lisp 12:22:16 because you are assigning a different object altogether to the variable, and not modifying a part of the object passed in. 12:22:17 elderK: (defmacro change (var) `(setf ,var 1)) 12:22:34 Aye, Iwas thinking I'd have to use a macro. 12:22:52 so chaitanya, how would I change the object bound to the variable, from within a function? 12:22:53 -!- p_l [i=plasek@89.248.166.201] has quit ["SYSTEM IS GOING DOWN, DOWN, DOWN!"] 12:23:06 And hey, I'm sorry if this is all real obvious. But, thank you for explaining, It's very useful. 12:23:13 actually, it might be wise to look at defsetf and friends, it may form a cleaner solution (no idea what you want to do though) 12:23:40 well, then you should probably look at using a macro 12:23:51 Also, http://community.schemewiki.org/?lexical-scope <-- the scheme code here, when you move your mouse over it - it highlghts. It's very useful. Any chance there are editors that do the same thing? 12:24:23 elderK: lisp paste has that :) 12:24:27 or, if there is just one global variable name that you will always modify, just don't "pass" any varable to the function. 12:24:44 oh, no it's parens matching, I think 12:25:22 :) I could probably write a vim script that did that. 12:25:27 say, highlighted everything within ()s. 12:25:33 and just used X color. 12:25:38 depending on how many (s you are in. 12:25:55 madnificent: lisppaste also has hyperspec lookup 12:26:16 chaitanya: oh right... that's actually quite cool 12:26:30 elderK: paste.lisp.org 12:27:21 elderK: btw, what IDE do you use for CL? 12:28:02 None, I just play with clisp interpreter or code in vi, then run it through clisp :) 12:28:13 hehe, have you tried using SLIME? 12:28:18 No, not yet. 12:28:28 Although, Im strongly considering it 12:28:29 :) 12:28:35 you should use it. 12:28:51 much better than what you would get with a bare CLISP REPL. 12:29:13 elderK: I switched from vi to emacs for slime (guess I loved lisp more than my editor) 12:29:22 see Marco Baringer's SLIME video: http://common-lisp.net/movies/slime.mov 12:30:08 btw, if there's any Lispers from near Delhi, India around here, 12:30:23 I will be giving a talk on SLIME at OSScamp this Sunday 12:30:42 http://osscamp.in/event/osscamp-delhi-march-2009 12:32:41 -!- gueux [n=g@d193-172-200.home3.cgocable.net] has left #lisp 12:32:44 p_l [n=plasek@pp82.internetdsl.tpnet.pl] has joined #lisp 12:33:06 got it chaitanya! 12:33:09 set 12:33:23 -!- p_l is now known as p_l|backup 12:33:54 -!- MrSpec [n=NoOne@82.177.125.6] has quit [Remote closed the connection] 12:33:56 (defvar *v* nil) 12:33:56 (defun change-test(v) (set v 1)) 12:33:56 (change-test '*v*) 12:33:56 *v* = 1 12:33:56 :) 12:35:03 arghh.. ;) 12:35:22 i haven't really seen anyone use SET 12:35:40 Harag [n=phil@196.2.98.168] has joined #lisp 12:35:43 better use a macro 12:36:04 btw, have you understood why you can modify a structure like lists but not numbers? 12:36:10 hello ppls 12:36:58 Harag: hello 12:38:17 I put a (break) i my code and I am trying to inspect an object at that point but I get an error that it is not printable/readable ... 12:38:41 what object 12:38:42 now I tried to get at the slot values in the inspector but how do i reference the object in there? 12:39:00 a class i created 12:41:04 I think so, chaitanya :) 12:41:16 if a variable points to a list, then we can just.. update the list 12:41:20 and the variables data will thus change. 12:41:35 the conses, right? 12:41:37 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit [Read error: 104 (Connection reset by peer)] 12:41:49 (cons 1 (cons 2 (cons 3 nil))) ? 12:42:03 which (list 1 2 3) is short for? 12:42:09 yeah 12:42:12 we can just unlink the old number and link in the new. 12:42:27 where as the number, itself, isnt like that. Its just data, no linkages except from the variable which binds it. 12:42:29 right? 12:43:09 yeah, you got the idea 12:43:47 :) so,my proper answer is : with lists, we change an elemnt of th elist. With numbers, we need to change the owner's link - to a new number. 12:44:43 beach` [n=user@ABordeaux-158-1-63-168.w90-16.abo.wanadoo.fr] has joined #lisp 12:45:14 yeah, you are on the right track. 12:45:59 postamar [n=postamar@x-132-204-255-24.xtpr.umontreal.ca] has joined #lisp 12:46:14 anyways, don't use SET. Try using macros, or, as madnificent said, defsetf or (defun (setf ..)) and friends 12:47:07 actually you don't need defsetf and friends if you are simply updating a variable's value. just use a macro. 12:47:51 beach`` [n=user@ABordeaux-158-1-60-199.w90-16.abo.wanadoo.fr] has joined #lisp 12:48:25 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 12:49:07 well, okay. 12:49:11 but, why use a macro over set? 12:49:18 when they will both accomplish the same thing? 12:49:21 for clarity? 12:49:23 good form? 12:49:49 I figure the macro is more verbose in that it directly tells what we is happening, where as with set - you'd have to read a little deeper int othe code to understand whats happening, right? 12:51:00 elderK: (SET s v) is equivalent to (SETF (SYMBOL-VALUE s) v) ; the later is more "modern". 12:51:15 aye, hyperspec told me tha ttoo 12:51:34 'modern' meaning, just, clearer for most folk? 12:52:13 yeah, using setf is the "modern" way to do it. 12:52:13 Well, nowadays we almost always use only SETF (and no more SETQ much less SET), because it generalize the assignment operation. 12:52:22 aha, set, is deprecated. 12:52:36 plus, with set you can only update a symbol's value 12:52:36 SET only works on symbols. SETQ only works on symbols or symbol-macros. 12:53:30 beach``` [n=user@ABordeaux-158-1-41-6.w90-55.abo.wanadoo.fr] has joined #lisp 12:53:54 elderK: but the most important thing, I think, is that you should avoid as much as possible to assign. If you want 1, it would be better to write a pure function: (defun test () 1) Then you can call it (test) and get 1. No need for *v*. 12:53:56 badkins [n=user@adsl-068-209-204-112.sip.rdu.bellsouth.net] has joined #lisp 12:54:20 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 12:54:29 Aye. 12:54:33 I was just testin gsomething out :) 12:54:35 elderK: that is, as much as possible, try to use the functional programming style. 12:54:53 elderK: If you want to test SET, it's ok, of course. 12:55:23 beach```` [n=user@ABordeaux-158-1-18-239.w90-55.abo.wanadoo.fr] has joined #lisp 12:55:32 :) Scheme seems cool too 12:57:15 -!- chaitanya [n=chaitany@122.173.52.112] has quit ["Leaving."] 13:00:29 -!- beach [n=user@ABordeaux-158-1-83-69.w81-250.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 13:02:39 -!- tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 13:04:35 -!- beach` [n=user@ABordeaux-158-1-63-168.w90-16.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 13:06:51 -!- beach`` [n=user@ABordeaux-158-1-60-199.w90-16.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 13:08:03 ltriant [n=ltriant@202.136.38.162] has joined #lisp 13:09:58 matimago: Would you mind helping me grok gensym? :) 13:11:35 jdz_ [n=jdz@85.254.211.133] has joined #lisp 13:12:07 what troubles could one have with gensym? 13:12:09 -!- jdz [n=jdz@85.254.211.133] has quit [Remote closed the connection] 13:12:18 -!- beach``` [n=user@ABordeaux-158-1-41-6.w90-55.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 13:12:59 The-Kenny [n=moritz@p5087BF43.dip.t-dialin.net] has joined #lisp 13:13:03 well, okay, gensym returns an uninterned symbol for us to use. 13:13:12 but, to use that symbol - we have to bind it to something so we know what the symbol actualyl is, correct? 13:13:19 say, (defvar *mysym* (gensym)) 13:13:36 but say, I want to set symbol that has been returned by gensym, to something. 13:13:39 (Im just experimenting btw) 13:13:41 mattrepl [n=mattrepl@67.45.208.46] has joined #lisp 13:13:59 more likely, you'd use it within a lexical context (or more concretely, as part of a (let ...) statement) 13:14:11 '*mysym* gives us the value of mysym, but doesnt evaluate it. 13:14:41 the biggest usage of gensym appears to be creating macros that don't unintentionally do nasty things to variables passed into them 13:14:45 Aye, ianmcorvidae, but I wish to iunderstand it first. 13:14:49 -!- beach```` [n=user@ABordeaux-158-1-18-239.w90-55.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 13:15:05 is there any overview where the speed of different web servers is compared? I've heard that hunchentoot is slow, but I couldn't find any true data about it 13:15:25 -!- lnostdal [n=lnostdal@149-234-40.oke2-bras6.adsl.tele2.no] has quit [Read error: 60 (Operation timed out)] 13:15:33 I suspect that, like apache, hunchentoot is fast enough for most purposes 13:16:10 and if you have more specific requirement, you, by definition, have the tols to do your own comparison 13:16:13 dan_b: I'm particularly interested in response-time. That is something that stays slow in about any system 13:16:14 s/tols/tools/ 13:16:37 you're serving on a lan? 13:17:20 elderK: what is there to understand? gensym returns you a unique symbol, use it for whatever you want 13:17:24 I would guess that's more a factor of the lisp implementation and possibly its threading support 13:17:24 still, if people say it's slow, they either are claiming wrong things, or there must be a comparison (by which you'd get some idea :)) 13:17:37 dan_b: oh no, this isn't something like a company-need or anything, it is for fun :) 13:17:47 if hunchentoot is slower anywhere then it needs to be, I would expect it to be in the speed it writes to the socket 13:17:55 which goes through flexi-streams and all that jaz 13:17:56 deliana [n=deliana@147.210.246.189] has joined #lisp 13:18:22 stassats: but im trying to understand how I can use that symbol. Say, store data - into that symbol. *click* I see, it evaluates the holder of gensyms result, which results in the gensymmed symbol - whic hwe then set. 13:18:23 but they say that got quite a lot faster than it used to be 13:18:24 *boom* 13:18:43 elderK: like any other symbol 13:18:44 you can always return an octet stream vector from your handler if you don't want to see flexi-streams overhead 13:19:07 but what I mean is, in thi scase, a symbol... is holding another symbol. 13:19:26 also, how come, if I type the name of the gensym - I cant see that symbol's value? o_O 13:19:27 dan_b: wasn't io-lib built for speed? (or doesn't that relate in a sane form to flexi-streams) 13:19:35 say, #:G3091 13:19:36 about the only comparison one can make is serving static files, and that is not interesting. you'd not chose hunchentoot if you'd primarily want to serve static files. 13:20:02 brb 13:20:07 elderK: "name of the gensym"? 13:20:14 the result of gensym 13:20:17 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 13:20:27 Use LispWorks for a few hours, and you'll never want to use it again. 13:20:27 antgreen [n=green@CPE0014bf0b631a-CM001e6b1858fa.cpe.net.cable.rogers.com] has joined #lisp 13:20:31 (on linux) 13:20:32 elderK: there are other uses of a symbol than binding a value and getting a value. But this can be done with (setf (symbol-value sym) 42) and (symbol-value sym). 13:20:42 I drsatically increased the speed of my araneida site in the last couple of weeks, but almost all the improvement was from optimising db queries 13:20:54 lnostdal [i=lnostdal@149-234-40.oke2-bras6.adsl.tele2.no] has joined #lisp 13:20:58 -!- chpln [n=chpln@ppp121-45-209-12.lns11.adl2.internode.on.net] has quit ["Leaving"] 13:21:27 elderK: it's not interned 13:21:29 elderK: you can use the property list and the function of a symbol in the same way (symbol-plist and symbol-function). You can also read the symbol-name. 13:21:49 elderK: and eventually, you may import the symbol in some package to be able to "read" it back. 13:21:53 elderK: each time you enter it with "#:" you became a new symbol 13:22:08 so how do I intern the symbol returned by gensym? 13:22:13 clhs intern 13:22:14 http://www.lispworks.com/reference/HyperSpec/Body/f_intern.htm 13:22:19 ah, thanks :) 13:22:36 metasyntax [n=taylor@71.127.85.87] has joined #lisp 13:22:47 No you cannot "intern" a symbol. 13:22:56 You can only intern a name. 13:23:06 Once you have a symbol, what you can do is import it. 13:23:22 right 13:24:06 ``Erik_ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has joined #lisp 13:24:06 -!- ``Erik [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 13:25:14 -!- badkins [n=user@adsl-068-209-204-112.sip.rdu.bellsouth.net] has quit [Read error: 60 (Operation timed out)] 13:25:22 KalifG [n=user@bloc-18.isc.tamu.edu] has joined #lisp 13:25:37 (let ((s (gensym "HI"))) (import s) (eql (read-from-string (format nil "HI~D" (1- *gensym-counter*))) s)) --> T 13:26:36 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 104 (Connection reset by peer)] 13:30:57 The following code: (loop while (< x 10) for y = x do (print y) do (incf x)) work with sbcl, but clisp says "WARNING: LOOP: FOR clauses should occur before the loop's main body". 13:31:22 clhs says indeed that variable-clauses (like for) must all occur before main-clauses (like while). 13:31:24 Indeed. The correct syntax is: (loop for y = x while (< x 10) do (print y) do (incf x)) 13:32:02 kuwabara: notice that it works also in clisp, it's just a WARNING. 13:32:02 (loop for y from x below 10 do (print y)) 13:32:33 or: (loop WITH y while (< x 10) do (setf y x) do (print y) do (incf x)) 13:32:34 matimago: yes, I'm just trying to be compliant 13:33:29 but my for clause calls a function with side effects on the while expression. 13:33:41 (not here; in my code) 13:34:01 sepult [n=buggarag@xdsl-84-44-175-99.netcologne.de] has joined #lisp 13:34:17 kuwabara: you can mix do and while: (loop do ... while ... do ...) 13:34:42 or: (loop WITH y do (setf y (side-effect)) while (< x 10) do (print y) do (incf x)) 13:34:57 -!- schme [n=schme@sxemacs/devel/schme] has quit [Read error: 60 (Operation timed out)] 13:35:01 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #lisp 13:36:11 tsuru [n=user@c-68-53-57-241.hsd1.tn.comcast.net] has joined #lisp 13:36:12 (loop while x for y = (pop x) do (print y)) don't have the same behaviour on clisp and sbcl. 13:36:30 -!- The-Kenny [n=moritz@p5087BF43.dip.t-dialin.net] has quit ["I am Locutus of Borg! You will assist us!"] 13:36:47 kuwabara: how is "x" defined? 13:37:20 LiamH [n=none@common-lisp.net] has joined #lisp 13:37:22 ignas: a list of things. clisp doesn't return the last element, as it executes the for before the while. 13:37:25 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 13:37:32 ``Erik__ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has joined #lisp 13:37:45 kuwabara: how, i mean - (list 1 2 3) or '(1 2 3) 13:38:01 e271 [i=[X9exUNd@panix3.panix.com] has joined #lisp 13:38:11 -!- ``Erik_ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 13:38:13 (loop with y while x do (setf y (pop x)) do (print y)) 13:38:22 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 13:38:40 kuwabara: you cannot expect consistent behavior when you use an ungramatical form. 13:39:07 schme [n=schme@c83-249-81-1.bredband.comhem.se] has joined #lisp 13:39:19 matimago: thanks 13:40:09 I just had to avoid for-as-equal 13:41:41 badkins [n=user@adsl-068-209-204-112.sip.rdu.bellsouth.net] has joined #lisp 13:42:15 Is there a proper way to hold back warnings/avoid warnings entirely concerning redefining something with DEFCONSTANT while doing C-c C-k? 13:42:38 (I'm not actually redefining anything) 13:44:47 The-Kenny [n=moritz@p5087BF43.dip.t-dialin.net] has joined #lisp 13:44:51 Quadrescence: DEFCONSTANT thinks you are if the value is not EQL to the previous value 13:45:04 Quadrescence: and similar strings are not EQL :) 13:45:29 dlowe: I actually have a quoted form. ;) 13:45:31 clearly, use defparameter instead of defconstant 13:45:37 Quadrescence: that's not EQL either 13:45:43 dlowe: I know. 13:46:07 (but I didn't know it would...bla bla bla, I'll use defparameter) 13:46:08 Quadrescence: Yeah, use defparameter or one of the defconstant-equal implementations floating around 13:46:36 snippyhollow [n=snippyho@212.116.219.91] has joined #lisp 13:46:46 madnificent: re performance of hunchentoot ...this is a start...http://www.newartisans.com/2007/12/common-lisp-web-servers.html 13:47:06 I suspect that compilers aren't set up to take advantage of mutably-typed constants, though 13:47:45 ``Erik___ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has joined #lisp 13:47:51 Harag: it's a bit 2007ish 13:48:06 -!- ``Erik__ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 13:48:25 well its a start..i have not found anything else on the web 13:49:10 personally i think hunchentoot is blazing fast ..I work with dot net stuff and that possatively crawls compared to hunchentoot 13:49:18 Thanks for your help guys 13:49:31 -!- elderK [n=zk@222-152-12-156.jetstream.xtra.co.nz] has left #lisp 13:49:45 In the same loop I want to "finally collect 12". Is there a way for that ? 13:50:17 (I have an ugly solution; just looking for a better/more general solution) 13:51:09 -!- ltriant [n=ltriant@202.136.38.162] has quit [Remote closed the connection] 13:51:23 when (near-the-end) collect 12 13:52:22 stassats: you found my ugly solution 13:52:50 -!- ntoll [n=ntoll@87.236.135.147] has quit ["this is not a quit message"] 13:53:07 that's because LOOP has to little features 13:54:20 yes, it looks like its designers stopped in the middle of their work. There are so many things they could have added. 13:54:27 it does great with simple loops, but look bad with more complex situations 13:55:08 I was in sarcastic mode, but I agree with your last sentence. 13:55:37 Harag: thanks 13:56:09 blandest [n=blandest@softhouse.is.ew.ro] has joined #lisp 13:56:11 dan_b: interesting. I assume that is good for the throughput, not just the response-time 13:57:30 -!- segv [n=mb@p4FC1C854.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 13:58:04 segv [n=mb@p4FC1C6C7.dip.t-dialin.net] has joined #lisp 13:59:36 this may be an ot question, but has anyone here noticed a strange increase in the number of internet disconnections in the past week? I've been experiencing failures in persistent connections from three different locations 13:59:57 I didn't think it was weird until I had the same thing happen to me at ILC 14:00:23 dlowe: BGP crashing? ;-D 14:00:48 "internet is dying, netcraft confirms" 14:02:17 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 14:08:24 censorship o_O 14:08:24 -!- ``Erik___ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has quit [Read error: 110 (Connection timed out)] 14:08:32 or a glitch in the matrix, clearly 14:10:51 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 14:12:15 dlowe, used same laptop everywhere? 14:12:49 lnostdal: I really didn't want to diagnose it on #lisp, just wondered if it was just me. Apparently it is 14:12:57 ..my laptop laptop wlan disconnected more and more until it connected no more :P -- and now the entire thing doesn't even boot 14:13:33 lnostdal: different laptops, though. And the disconnect wasn't coming from the laptop itself 14:14:53 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 14:16:18 -!- sepisultrum [n=enigma@ks35219.kimsufi.com] has left #lisp 14:16:46 -!- tsuru [n=user@c-68-53-57-241.hsd1.tn.comcast.net] has quit [Remote closed the connection] 14:19:25 how do I specify (using a read-time conditional) that a line should be read in openmcl, but not in clozure ? 14:19:50 I don't know how to combine #+:openmcl and #-:clozure 14:19:55 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 14:20:29 -!- vy` [n=user@213.139.194.186] has quit [Remote closed the connection] 14:21:26 dthomp [n=dthomp@nmd.sbx08736.mcminor.wayport.net] has joined #lisp 14:21:51 blandest: both will do, but what do you want to do with other implementations :) 14:22:05 they don't have unique identifying features? 14:22:21 clozure has both :openmcl and :clozure in *features* 14:22:41 I think I found a bug in drakma:http-request 14:22:48 blandest: the stupid option works #+openmcl #-clozure 14:23:04 doesn't it have something like a :ccl-1.2 :ccl-1.3 ? 14:23:09 -!- Tristam [n=Tristam@ip98-169-227-67.dc.dc.cox.net] has quit [Read error: 60 (Operation timed out)] 14:23:12 stassats: yes, it does 14:23:13 -!- jdz_ [n=jdz@85.254.211.133] has quit ["Somebody booted me"] 14:23:36 Tristam [n=Tristam@ip98-169-227-67.dc.dc.cox.net] has joined #lisp 14:23:43 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 14:31:43 newlisper [n=wschroed@128.252.233.244] has joined #lisp 14:32:54 evaluating "#+openmcl #-ccl (princ 1)" at the SLIME + CCL repl gives an error: "Unexpected end of file on # ..." 14:33:21 but "#+openmcl #+ccl (princ 1)" works as expected (prints 1) 14:33:56 #+(and openmcl (not ccl)) 14:34:35 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 14:35:14 (chained #+ / #- don't work portably, since there's disagreement amongst implementors on what the spec means. don't remember which interpretation ccl takes) 14:35:18 jsnell: thanks. It worked 14:36:36 -!- mattrepl [n=mattrepl@67.45.208.46] has quit [Read error: 131 (Connection reset by peer)] 14:37:00 mattrepl [n=mattrepl@dpc6745208046.direcpc.com] has joined #lisp 14:38:53 madnificent: I was trying to remove some keyword parameters from a call to usocket:socket-connect. They seem to work on openmcl, but not on CCL (at least on Windows) 14:39:49 blandest: yes, I was wrong, the comments you gave later cleared it up for me. The hints others gave were good, I assume 14:41:20 madnificent: I should have said what I was trying to do first, it's more fun that way :) 14:41:48 doesn't openmcl have ccl features? 14:41:56 :ccl in features 14:42:42 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit ["I wish the toaster to be happy, too."] 14:43:08 -!- mathrick [n=mathrick@users177.kollegienet.dk] has quit [Read error: 60 (Operation timed out)] 14:44:03 sepult_ [n=buggarag@xdsl-84-44-169-14.netcologne.de] has joined #lisp 14:46:26 liu [n=Aleaxand@218.64.17.227] has joined #lisp 14:46:48 blandest: If you want those parameters to work, you can try #ccl for help 14:48:10 WebGuest [n=WebGuest@c-0f5fe353.732-1-64736c10.cust.bredbandsbolaget.se] has joined #lisp 14:49:15 sellout: the last version of drakma added a new parameter for CCL, I'm still not sure where the problem is 14:49:28 stassats: I think openmcl also has :openmcl and :ccl in features 14:49:36 cpc26 [n=user@72.170.156.242] has joined #lisp 14:49:50 #+(and openmcl (and ccl)) may not make much sense 14:49:56 -!- free_thinker [n=willijar@eas-nw709pc01.aston.ac.uk] has left #lisp 14:50:23 -!- cpc26 [n=user@72.170.156.242] has quit [Remote closed the connection] 14:50:28 willb [n=wibenton@wireless92.cs.wisc.edu] has joined #lisp 14:50:56 I meant #+(and openmcl (not ccl)) 14:51:14 -!- WebGuest is now known as cucumber 14:51:27 -!- cucumber is now known as greenumber 14:52:26 cpc26 [n=user@72.170.156.242] has joined #lisp 14:54:55 -!- cpc26 [n=user@72.170.156.242] has quit [Remote closed the connection] 14:55:40 brown [n=user@72.14.228.89] has joined #lisp 14:56:08 -!- brown is now known as Guest51325 14:56:32 -!- xan_ is now known as xan-afk 14:57:52 -!- m4thrick [n=mathrick@users177.kollegienet.dk] has quit [Read error: 110 (Connection timed out)] 14:58:09 Adamant [n=Adamant@130.254.103.13] has joined #lisp 14:58:19 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Remote closed the connection] 15:02:46 -!- sepult [n=buggarag@xdsl-84-44-175-99.netcologne.de] has quit [Read error: 110 (Connection timed out)] 15:07:05 -!- mattrepl [n=mattrepl@dpc6745208046.direcpc.com] has quit [Read error: 104 (Connection reset by peer)] 15:07:14 mattrepl [n=mattrepl@dpc6745208046.direcpc.com] has joined #lisp 15:08:26 simard [n=simard@modemcable234.226-83-70.mc.videotron.ca] has joined #lisp 15:10:46 -!- eno__ is now known as eno 15:11:28 I need to write a macro that would generate a recursive expansion like this.. (defmacro place_line (ntimes rel fn) ... ) that would generate as its expansion: (place fn2 rel (place fn2 rel (place fn2 rel fn2))) if ntimes = 3 15:11:55 of course ntimes is not available as a numeric at macro expansion time 15:12:25 and, I would like the macro to be exanded before the evaluation of the first place occurs 15:12:26 how you suppose it to work then? 15:13:30 is it possible to have this particular macro expanded at run time ? or is it completely impossible to have a macro do that because of the expansion/compilation cycle ? 15:14:10 Macros aren't really intended to do runtime stuff... they are to help you shape your code before the actual running. 15:14:29 then I could do an eval perhaps.. 15:14:46 why do you want to do this, anyway? 15:14:55 why not a recursive function? 15:15:17 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 15:16:35 hum I had a good reason for that.. fn2 could actually be something that needs to be expanded too, it could be a macro and it requires to be in the same lexical scope as the (place_line ...) 15:17:06 so it's not necessarily a function as my example might point out 15:17:13 does that make sense ? 15:17:30 no, macros don't make sense at runtime 15:17:49 k 15:18:07 sohail [n=Sohail@unaffiliated/sohail] has joined #lisp 15:18:29 yoshinori [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 15:18:38 so the only problem here is ntimes.. if I had a fixed number instead that would work 15:18:55 unfortunately this needs to be a variable 15:18:56 unless ntimes is a constant in your code. 15:19:06 -!- prip_ [n=_prip@host6-83-dynamic.11-87-r.retail.telecomitalia.it] has quit [Read error: 110 (Connection timed out)] 15:19:31 Sounds like a recursive function is all you need; the macro expansion wouldn't buy you any speed. 15:19:33 prip_ [n=_prip@host136-122-dynamic.35-79-r.retail.telecomitalia.it] has joined #lisp 15:19:44 so, redesign your code to use functions 15:20:42 newlisper, you mean an anonymous function tagged with (labels ...) to preserve lexical scope ? 15:22:02 Nah, I'm saying the same thing as stassats since I don't know exactly what you're up to. It looked like the thing you were trying to expand to was equivalent to a recursive function. 15:22:16 Since you don't have your number until runtime, the recursive function is the best solution. 15:22:33 How you implement that depends on what you need. 15:28:09 ecraven [n=nex@140.78.42.103] has joined #lisp 15:28:26 simard: what about something like: (defun place_line (ntimes rel fn) (if (zerop ntimes) fn (place fn rel (place_lines (1- ntimes) rel fn)))) (place_line (random 12) (function <=) (function sin)) 15:28:27 it's easy, if you need expand macros at runtime, then you are doing it wrong 15:31:24 stassats, k, got that.. makes sense 15:32:18 matimago, might work.. gotta think about it though for cases like (place_line 3 rel1 (place_line 4 rel2 fn)) 15:32:26 KingThomasIV [n=KingThom@c-66-177-17-200.hsd1.fl.comcast.net] has joined #lisp 15:32:53 that was the real point where I thought macros might work well, of course considering I would know 3 and 4, but in my application I wont 15:32:54 -!- lichtblau [n=user@port-212-202-18-15.dynamic.qsc.de] has quit [Read error: 113 (No route to host)] 15:33:17 lichtblau [n=user@port-212-202-18-15.dynamic.qsc.de] has joined #lisp 15:33:18 I need to think a bit before continuing, thank you guys 15:34:22 -!- froog [n=david@87.192.28.247] has quit [Read error: 104 (Connection reset by peer)] 15:34:49 simard: be careful with the indices. Sometimes you have fn sometimes fn2. Sometimes rel, sometimes rel1, rel2. 15:35:46 right, the examples are not particularly consistent with each other.. 15:36:06 froog [n=david@87.192.28.247] has joined #lisp 15:38:52 -!- liu [n=Aleaxand@218.64.17.227] has quit [Remote closed the connection] 15:39:09 liu [n=Aleaxand@218.64.17.227] has joined #lisp 15:40:51 -!- thom_ [n=thom@pool-96-229-99-100.lsanca.dsl-w.verizon.net] has quit ["Leaving"] 15:43:02 -!- grkz [n=qsvans@pdpc/supporter/active/grkz] has left #lisp 15:45:26 -!- simard [n=simard@modemcable234.226-83-70.mc.videotron.ca] has quit ["Leaving"] 15:45:48 simard [n=user@modemcable234.226-83-70.mc.videotron.ca] has joined #lisp 15:48:03 -!- KingNato [n=KingNato@fw.polopoly.com] has quit [] 15:48:27 -!- KingThomasIV [n=KingThom@c-66-177-17-200.hsd1.fl.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 15:53:46 -!- willb [n=wibenton@wireless92.cs.wisc.edu] has quit ["Leaving"] 15:54:03 willb [n=wibenton@wireless92.cs.wisc.edu] has joined #lisp 15:56:48 phytovor [n=doxtor@cpe-92-37-26-176.dynamic.amis.net] has joined #lisp 15:57:36 -!- emma [n=emma@unaffiliated/emma] has quit [Connection timed out] 16:01:08 -!- yoshinori [n=read_eva@router1.gpy1.ms246.net] has left #lisp 16:01:19 doxtor [n=doxtor@cpe-92-37-24-191.dynamic.amis.net] has joined #lisp 16:02:14 -!- phytovor [n=doxtor@unaffiliated/mitja] has quit [Read error: 113 (No route to host)] 16:03:14 yoshinori [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 16:03:58 -!- badkins [n=user@adsl-068-209-204-112.sip.rdu.bellsouth.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 16:04:05 -!- H4ns [n=Hans@p57BBAE3B.dip0.t-ipconnect.de] has quit ["Leaving."] 16:04:09 -!- sepult_ [n=buggarag@xdsl-84-44-169-14.netcologne.de] has quit ["leaving"] 16:05:25 sepult [n=buggarag@84.44.169.14] has joined #lisp 16:07:24 tsuru [n=user@c-68-53-57-241.hsd1.tn.comcast.net] has joined #lisp 16:10:40 -!- yoshinori [n=read_eva@router1.gpy1.ms246.net] has left #lisp 16:12:28 For (defun afact (n a) (if (= 0 n) a (afact (- n 1) (+ a n)))), would (afact 100000000 0) surely result in error if no tail recursion optimization was occuring? 16:12:57 (not assuming infinite space. :P) 16:13:06 depends on your stack size 16:15:18 -!- yango_ [n=yango@unaffiliated/yango] has quit [Remote closed the connection] 16:15:30 yango [n=yango@unaffiliated/yango] has joined #lisp 16:16:34 -!- xuanwu_ [n=xuanwu@c-98-223-235-49.hsd1.in.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 16:16:42 -!- sulo_ [n=sulo@p57B4B6DC.dip0.t-ipconnect.de] has quit ["This computer has gone to sleep"] 16:17:17 shmho [n=user@58.142.15.103] has joined #lisp 16:17:32 loxs [n=loxs@83.228.122.198] has joined #lisp 16:18:43 -!- dthomp [n=dthomp@nmd.sbx08736.mcminor.wayport.net] has quit [Read error: 113 (No route to host)] 16:20:07 -!- runenes [n=runenes@40.80-202-107.nextgentel.com] has quit ["Leaving"] 16:23:03 jfm3 [n=user@165.230.132.126] has joined #lisp 16:23:03 -!- willb [n=wibenton@wireless92.cs.wisc.edu] has quit [Remote closed the connection] 16:23:08 -!- jfm3 [n=user@165.230.132.126] has left #lisp 16:23:26 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit ["rcirc on GNU Emacs 23.0.90.1"] 16:23:26 -!- frodef [n=ffj@24.80-203-67.nextgentel.com] has quit [SendQ exceeded] 16:24:40 pchrist [n=spirit@gentoo/developer/pchrist] has joined #lisp 16:26:13 -!- mattrepl [n=mattrepl@dpc6745208046.direcpc.com] has quit [] 16:26:16 JuanDaugherty [n=juan@cpe-72-228-150-44.buffalo.res.rr.com] has joined #lisp 16:26:44 -!- dialtone [n=dialtone@adsl-67-125-22-221.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 16:26:53 dthomp [n=dthomp@dyn-188-dynamic.linfield.edu] has joined #lisp 16:30:13 mot___ [n=mot@user-d57827.user.msu.edu] has joined #lisp 16:30:15 hmm 16:30:26 Jabberwockey [n=Tumnus_@port-718.pppoe.wtnet.de] has joined #lisp 16:31:25 dialtone [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has joined #lisp 16:31:49 drewc: are you here? 16:33:21 milanj [n=milan@79.101.76.62] has joined #lisp 16:33:32 -!- brandelune [n=suzume@pl064.nas934.takamatsu.nttpc.ne.jp] has quit [] 16:33:56 kreuter [n=kreuter@pool-96-252-14-107.bstnma.fios.verizon.net] has joined #lisp 16:34:43 kpreid [n=kpreid@216-171-189-59.northland.net] has joined #lisp 16:38:18 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 16:39:16 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 16:40:41 quick question of pain. Is the output of (write ''foo :pretty nil) defined, and if so to what? 16:40:54 theSwedishChef [n=hanuman@96.57.28.106] has joined #lisp 16:41:19 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit [Read error: 104 (Connection reset by peer)] 16:43:04 -!- pkhuong [n=pkhuong@modemcable125.83-81-70.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 16:43:12 more precisely, is one of 'FOO and (QUOTE FOO) specified? 16:43:19 -!- lemoinem [n=swoog@modemcable125.83-81-70.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 16:44:38 I don't think so. Any output may occur. 16:45:17 p_l [i=plasek@89.248.166.201] has joined #lisp 16:46:31 Well, unless you take http://www.lispworks.com/documentation/HyperSpec/Body/22_ace.htm literally. Few implementations do. 16:46:34 _any_? That's a bit much, surely? 16:46:40 willb [n=wibenton@wireless92.cs.wisc.edu] has joined #lisp 16:47:27 which implementations don't take 22.1.3.5 literally? 16:47:37 22_bb also discusses "the traditional method for printing quoted objects" 16:48:18 but that's with the pretty printer 16:48:49 Is it possible to turn off tail-call optimization in sbcl? 16:49:03 yes 16:49:14 (write ''foo :pretty nil) prints 'FOO in clisp. 16:49:31 I suggest you look at the top hit in google for "sbcl tail call" 16:49:37 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 16:49:57 matimago: I know clisp doesn't follow 22.1.3.5; that's what I have just discovered to my displeasure. Is clisp alone in this? 16:50:39 -!- alinp [n=alinp@86.122.9.2] has quit ["Leaving."] 16:50:50 I only have three implementations on this computer. sbcl prints (QUOTE FOO) ; ecl 0.9j prints 'FOO 16:51:22 ccl: 'FOO 16:52:23 ok, clearly I am going to have to work around this 16:52:24 thanks 16:52:27 disumu [n=disumu@p54BCBFD6.dip.t-dialin.net] has joined #lisp 16:52:41 Xof: same with FUNCTION. 16:52:54 I know, I have clisp's marvellous D source in front of me 16:52:58 what about #'foo? I know I had great agony when trying to portably get (function foo) _not_ be printed as #'foo in the arglis display code in swank 16:53:06 -!- appletizer [i=user@82-32-123-217.cable.ubr04.hawk.blueyonder.co.uk] has quit [Read error: 104 (Connection reset by peer)] 16:53:41 clisp, ecl -> #'FOO ; sbcl, gcl -> (FUNCTION FOO) 16:53:59 tcr: if you can use the pretty printer, it's easy: make sure *print-pretty* is true, and then put in an entry in your pprint-dispatch-table 16:54:08 unfortunately, I can't do that because clisp's pretty-printer is crashy 16:54:48 ("was", at least) 16:55:17 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [] 16:55:50 *Xof* tries anyway 16:56:53 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 16:56:58 where does sbcl rely on it? in the test cases? 16:57:05 no 16:57:17 I am trying to arrange for a cross-compilation mode that is completely deterministic 16:57:26 so the contents of the fasls can be compared for bitwise equality 16:57:47 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit [Client Quit] 16:57:48 for cold-init? 16:57:48 that fails horribly if compile-time error messages are rendered differently by different hosts 16:58:06 what do you mean "for cold-init"? 16:58:34 aerique: I've given up on that for the moment; I just don't know enough about compiling C stuff on Windows 16:58:34 I think I still do not look through sbcl's build process. I really should read your paper on it. I think I meant the xc stage 16:58:41 hopefully someone else will do it :) 16:59:12 runenes [n=runenes@40.80-202-107.nextgentel.com] has joined #lisp 16:59:35 -!- runenes [n=runenes@40.80-202-107.nextgentel.com] has quit [Client Quit] 17:02:09 -!- Thas [n=weechat@97-113-30-43.tukw.qwest.net] has quit [Remote closed the connection] 17:02:55 Thas [n=weechat@97-113-30-43.tukw.qwest.net] has joined #lisp 17:05:58 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 17:05:58 H4ns [n=hans@p57A0DDE5.dip.t-dialin.net] has joined #lisp 17:06:00 fe[nl]ix [n=algidus@88.149.210.14] has joined #lisp 17:06:58 hello 17:08:22 bombshelter13 [n=bombshel@142.204.133.36] has joined #lisp 17:10:22 mrsolo [n=mrsolo@adsl-68-126-185-40.dsl.pltn13.pacbell.net] has joined #lisp 17:10:54 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 17:13:31 -!- theSwedishChef [n=hanuman@96.57.28.106] has quit ["Leaving."] 17:14:41 rsynnott: :) 17:14:53 veelai [n=markus@p57AB4BAC.dip.t-dialin.net] has joined #lisp 17:15:05 -!- aerique [i=euqirea@xs2.xs4all.nl] has quit ["..."] 17:15:21 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 17:16:13 hi, I'm new to lisp and have a problem which should have a one line solution, but I don't find it, could anyone help me? 17:16:27 What's the problem? 17:16:46 I want a macro that takes apart list 17:16:49 example 17:16:50 : 17:17:02 lisppaste: url 17:17:02 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 17:17:55 -!- flazz [n=franco@qubes.org] has quit [Read error: 110 (Connection timed out)] 17:18:10 veelai pasted "macro" at http://paste.lisp.org/display/77684 17:18:41 well, and what result do you want? 17:19:11 this should expand into (or T NIL T) 17:19:35 Beket [n=rty@ppp3-246.adsl.forthnet.gr] has joined #lisp 17:19:43 Are you familiar with using the backtick stuff? `() 17:19:51 I tried something like (defmacro mymacro (op list) `(op ,@list)) 17:19:58 and here it didn't work 17:20:18 I seem to miss a point with the backtick stuff 17:20:30 (defun my-macro (op arguments) `(,op ,@arguments)) ? 17:21:09 I will try... 17:21:20 s/defun/defmacro/ 17:21:30 veelai: the arguments are are already sent to the macro in an escaped form, so there is no need to quote them manually :) 17:21:53 veelai: (my-macro (or (T NIL T))) should work with your macro 17:22:18 Well, the other problem is the args are in their own list. 17:22:30 With this definition of defmacro, the call should be (my-macro or (T NIL T)) 17:23:07 my definition gives a compiler warning: 'Variable op is never used' 17:23:14 simply ((op arguments)) 17:23:16 veelai: ah there is yet another mistake in it (which stassats fixed) 17:23:37 veelai: yes, you must have ,op in order to substitute it with the keyword the user gave to you 17:23:42 yes, stasats version works 17:23:47 great, thanks 17:23:54 yw 17:24:35 -!- wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 17:27:06 -!- snippyhollow [n=snippyho@212.116.219.91] has quit ["night alls"] 17:27:21 wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 17:27:50 kjbrock [n=kevinbro@66.166.232.134] has joined #lisp 17:29:11 -!- kjbrock [n=kevinbro@66.166.232.134] has quit [Client Quit] 17:29:32 kjbrock [n=kevinbro@66.166.232.134] has joined #lisp 17:30:08 -!- mvilleneuve [n=mvillene@che33-1-82-66-18-171.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 17:31:33 lispm [n=joswig@f054054074.adsl.alicedsl.de] has joined #lisp 17:32:46 Is it possible to check what the last character of a symbol is? 17:33:10 cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has joined #lisp 17:34:07 (let ((name (symbol-name symbol))) (char name (1- (length name)))) 17:34:25 -!- simard [n=user@modemcable234.226-83-70.mc.videotron.ca] has quit [Remote closed the connection] 17:35:02 stassats: Thank you. :) 17:35:10 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 17:35:46 saikat [n=saikat@adsl-99-33-30-8.dsl.pltn13.sbcglobal.net] has joined #lisp 17:37:38 -!- liu [n=Aleaxand@218.64.17.227] has left #lisp 17:38:17 ah, I've still got a problem: As before but now I have (my-macro or (my-fun args)) where (my-fun args) produces a list of values which should be connected with or, the above solution doesn't work, since it produces (or myfun args). 17:39:04 Is myfun something that needs to run at runtime? 17:39:13 yes 17:39:28 Silly question on my part, though. 17:39:50 Maybe put ()s around your ,@arguments 17:40:35 but then I get (or (my-fun args)) --> (or (T NIL T)) 17:40:50 True. Blind leading blind. 17:41:08 (reduce (lambda (x y) (or x y)) (my-fun args)) 17:41:37 does this short-circuit? 17:42:25 no 17:42:49 yes, since every or short-circuits after we found t once 17:43:14 well, that's what OR does mean 17:43:14 or? 17:43:54 but, you can do (find t (my-fun args)) 17:44:05 Davidbrcz [n=david@nsc.ciup.fr] has joined #lisp 17:44:13 (some 'identity args) 17:46:02 -!- matley [n=matley@matley.imati.cnr.it] has quit [Read error: 110 (Connection timed out)] 17:47:00 This doesn't work for me because or is not a function: (apply #'or '(1 2 3)) 17:47:02 What would? 17:47:19 Would I have to replace #'or with a lambda that calls or? 17:47:24 (some 'identity args) 17:47:24 newlisper: see what lispm said 17:48:01 ajcc [n=adrian@81-234-211-246-no118.tbcn.telia.com] has joined #lisp 17:48:08 -!- wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 17:50:17 newlisper: since OR is a macro, it should know number of arguments at macroexpansion time, you could do the above snippet with reduce, but it won't stop on the first T 17:51:02 Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has joined #lisp 17:51:03 stassats: Oh good point. Thank you. 17:51:12 (loop for i in list when i do (return i)) 17:51:12 So far, so good, I really like the solution with reduce to my problem unfortunately it popped up in another variant: (my-macro aref (my-fun args)) which is not in this way reducible. 17:51:20 -!- silenius [n=jl@yian-ho03.nir.cronon.net] has quit [] 17:52:06 (loop for i in list when i return it) :) 17:52:45 *rsynnott* wonders could loop in itself be considered turing-complete 17:54:16 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 17:54:16 stassats, take this: 17:54:33 (loop for i in list thereis i) 17:54:37 dlowe [n=dlowe@c-98-216-135-10.hsd1.ma.comcast.net] has joined #lisp 17:54:54 lispm: how could i miss it! 17:55:16 ;-) 17:55:42 veelai: luckily, aref is a function, so (apply #'aref array (my-fun args)) 17:55:53 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 17:58:48 -!- Davidbrcz [n=david@nsc.ciup.fr] has quit ["Ex-Chat"] 17:58:57 -!- cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has quit [Read error: 113 (No route to host)] 17:58:57 -!- repnop [n=repnop@adsl-69-226-99-176.dsl.skt2ca.pacbell.net] has quit ["Ex-Chat"] 17:59:04 -!- lispm [n=joswig@f054054074.adsl.alicedsl.de] has quit [Read error: 104 (Connection reset by peer)] 17:59:22 stassats: thanks, I didn't know apply. I had the feeling the solution would be this simple. 18:00:42 what are using that macro for? 18:01:06 ``Erik [n=erik@ftp.brlcad.org] has joined #lisp 18:05:58 I'm writing a small game of Go in lisp 18:07:11 for this I have to copy arrays, while changing some array-cells 18:07:20 mrsolo_ [n=mrsolo@nat/yahoo/x-4694dd39e4ec6162] has joined #lisp 18:07:39 (the array represents the stones on the board) 18:08:07 veelai: Why do you want to copy the array? 18:08:23 I programmed it functional 18:08:49 veelai: why did you use functional programming? 18:09:01 stathis_ [n=rty@ppp206-239.adsl.forthnet.gr] has joined #lisp 18:09:11 -!- stassats [n=stassats@wikipedia/stassats] has quit [Remote closed the connection] 18:09:33 lispm [n=joswig@g224120255.adsl.alicedsl.de] has joined #lisp 18:09:37 anyone want to help get SWANK working on the iPhone? 18:09:49 mainly because I wanted to write something in functional style 18:10:04 there are some non-functional elements to my programm 18:10:25 veelai: arrays and functional aren't the best buddies. You might want to look at other data structures, like some kind of tree ... the book Purely Functional Data Structures is pretty good. 18:10:30 -!- deliana [n=deliana@147.210.246.189] has quit [Remote closed the connection] 18:10:38 veelai: It would be more practical to use several paradigms, in CL. You can do functionnal programming to manage the list of movements, and use procedural to optimize the board (think if it as a cache). 18:10:39 -!- gonzojive [n=red@fun.Stanford.EDU] has quit [] 18:11:13 I used some imperative functions to manage the current game 18:11:24 madnificent: you rang? 18:11:36 veelai: I guess you are looking for "protection" from modification... but if you know the input array is not going to be used again, you can increase your performance by modifying it before returning it (rather than copying). I think erlang optimizes in that fashion anyway. 18:11:58 slash_ [n=Unknown@p4FF0B53C.dip.t-dialin.net] has joined #lisp 18:12:15 hmm, functional is without side effects if it is 'pure' 18:12:34 it is perfectly legal to use the word 'functional' for non-pure programming 18:12:42 vy [n=user@88.230.186.228] has joined #lisp 18:13:44 +1 lispm! 18:14:03 I implemented the logic (i.e. the real work) in functional style so it had to cope with the array in which I represented the board 18:14:07 dysinger [n=tim@cpe-75-80-200-182.hawaii.res.rr.com] has joined #lisp 18:14:47 stassats [n=stassats@wikipedia/stassats] has joined #lisp 18:15:04 azathoth991 [n=gavin@208.179.135.122] has joined #lisp 18:15:36 what do you understand by 'functional style'? 18:15:43 wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 18:15:47 thanks for the tips 18:15:48 what does that mean for you? 18:15:58 for me it means no side effects 18:16:20 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 18:16:33 but that is wrong, lots of functional programming languages have side effects 18:16:33 functional basically just means first class function objects used/usable 18:16:36 ocaml, ml, ... 18:17:25 -!- Beket [n=rty@ppp3-246.adsl.forthnet.gr] has quit [Read error: 110 (Connection timed out)] 18:18:11 I thought functional was that the result is just dependent on the arguments a function is passed and nothing else 18:18:16 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit ["I wish the toaster to be happy, too."] 18:18:18 no 18:19:35 still even that does not is the same as side-effect free 18:19:56 because the "result" could include i/o 18:20:09 hyperbor1ean [n=none@unaffiliated/hyperboreean] has joined #lisp 18:21:04 -!- rlpowell_ is now known as rlpowell 18:21:15 but you could view i/o as another side effect, or? 18:22:20 veelai, the function could base the result on its arguments, but also it could just return one of its arguments changed 18:22:21 lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 18:24:03 a 'pure function' is one that evaluates to the same result, given the same input AND has not any side-effects 18:24:19 veelai: your definition does not disallow mutating an array. 18:24:42 if all functions are pure then the code is referential transparent 18:25:12 sreeram [n=sreeram@122.164.250.180] has joined #lisp 18:25:13 then we talk about 'purely functional programming' 18:25:23 but if you return one argument changed, this is a side effect,or? 18:25:51 if you remove the word pure, then functional programming allows side effects, etc. 18:26:06 ah, this I missed. 18:27:02 -!- npoektop [n=user@85.202.112.90] has left #lisp 18:27:10 thanks for all the advice 18:27:17 but now I'm hungry 18:27:21 cu 18:27:37 frodef [n=ffj@24.80-203-67.nextgentel.com] has joined #lisp 18:27:47 -!- KalifG [n=user@bloc-18.isc.tamu.edu] has quit [Remote closed the connection] 18:27:57 -!- veelai [n=markus@p57AB4BAC.dip.t-dialin.net] has quit ["Leaving"] 18:28:15 -!- Krystof [n=csr21@158.223.51.76] has quit [Read error: 110 (Connection timed out)] 18:28:27 -!- rread [n=rread@c-98-234-51-39.hsd1.ca.comcast.net] has quit [] 18:28:39 rread [n=rread@c-98-234-51-39.hsd1.ca.comcast.net] has joined #lisp 18:30:24 -!- dlowe [n=dlowe@c-98-216-135-10.hsd1.ma.comcast.net] has quit ["Leaving."] 18:30:49 -!- hyperboreean [n=none@unaffiliated/hyperboreean] has quit [Read error: 113 (No route to host)] 18:31:25 -!- shmho [n=user@58.142.15.103] has quit [Remote closed the connection] 18:32:55 Davidbrcz [n=david@nsc.ciup.fr] has joined #lisp 18:33:53 KalifG [n=user@bloc-18.isc.tamu.edu] has joined #lisp 18:34:55 cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has joined #lisp 18:34:57 -!- kpreid [n=kpreid@216-171-189-59.northland.net] has quit [] 18:35:49 -!- sreeram [n=sreeram@122.164.250.180] has quit [Connection reset by peer] 18:37:33 sreeram_ [n=sreeram@59.92.35.84] has joined #lisp 18:39:43 ehu [n=chatzill@82-170-33-173.ip.telfort.nl] has joined #lisp 18:40:51 drewc: herep 18:41:04 drewc: c-l.net Trac down (I assume you know...) 18:41:22 ehu: first i've heard of it, but it doesn't surprise me. 18:41:23 also, I tried to file a ticket by mailing admin@ but got no confirmation. 18:41:42 ehu: mail was broken too, fixed that just now 18:42:06 ah. so that's why I wasn't receiving any commit mails? 18:42:10 will they still come? 18:42:35 ehu: good question .. i don't know. 18:42:41 -!- dthomp [n=dthomp@dyn-188-dynamic.linfield.edu] has quit [Read error: 110 (Connection timed out)] 18:42:45 trac should be up now though. 18:42:46 np. I can always regenerate. 18:43:01 much better. 18:43:11 one of the filesystems was full, so i don't know exactly what happened to the mail 18:43:18 would it be a good idea to start using mod_python to serve Trac pages? 18:43:29 -!- mega1 [n=mega@pool-02832.externet.hu] has quit [Read error: 110 (Connection timed out)] 18:43:30 ehu: has that been known to work? 18:43:34 it's said to be more stable 18:43:53 it's definitely one of the most supported options, next to fcgi. 18:44:04 tracd is actually meant for testing purposes and small setups. 18:44:52 rpg [n=rpg@216.243.156.16.real-time.com] has joined #lisp 18:44:59 it sure as hell is broken for us. i'm certainly willing to try mod_python or any solution that is not tracd .. trac has really turned me off large python apps. 18:45:01 i'd support losing tracd. 18:45:14 H4ns: nod. 18:45:21 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 18:45:26 can't work on it tonight, though. maybe tomorrow evening. 18:45:40 http://trac.edgewall.org/wiki/TracModPython 18:45:43 H4ns: i'll see what i can get done today. 18:46:14 drewc: who was eating disk space? 18:46:37 H4ns: we have a backup script that tars /project in /custom/backup 18:46:43 along with mailing lists etc 18:46:44 ggez. 18:46:54 yeah .. going to drop that as well. 18:47:00 cool. 18:47:48 Am I correct in my understanding that Scheme module/package/library/whatever-you-want-to-call-them conventions are *not* standardized? That every compiler has its own system? 18:48:05 -!- kiuma [n=kiuma@host148-131-static.28-87-b.business.telecomitalia.it] has quit ["Bye bye ppl"] 18:48:17 ripowell: see R6RS 18:48:43 OK, but R5RS didn't? Aren't most scheme interpreters still R5RS? 18:49:02 many 18:49:21 What dos R6RS call them? 18:49:22 r6rs is also not that good for your krama 18:49:28 karma 18:49:40 Ah, libraries. 18:49:43 Huh? 18:49:46 drewc: 8.3G /custom/log/ that deserves fixing, too. 18:49:59 -!- pierre__thierry [n=pierre@lns-bzn-49f-81-56-173-50.adsl.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 18:50:26 *ehu* would like to note applicability of ABCL has increased hugely by the "run Maxima" standard of measurement 18:50:39 r6rs is basically SchemeML 18:50:53 Lisp without interactivity 18:50:53 We reduced the number of Maxima failures from 1400 to ca 140 just this month 18:51:09 Referring to ML the programming language? 18:51:15 Do you mean it has no REPL? 18:51:16 yes 18:51:33 ripowell: R6RS defines a batch language 18:52:19 Oh? Yucky 18:52:24 ehu: that's good news, what did you improve 18:52:32 ? 18:52:55 special bindings unwinding in the lisp->byte code compiler and multiplication of complex values. 18:52:55 What does that have to do with ML? Can you point me to a writeup of more detail? 18:53:29 ripowell: there is a Scheme channel where you can get more detail ;-) 18:53:37 lispm: turns out the compiler was *binding* specials, just not unwinding those when exiting the block. 18:53:45 -!- Chronona1t is now known as Chrononaut 18:53:48 uh 18:53:58 uhhhuuuuh 18:54:03 argh 18:54:03 or at least, not in all cases. 18:54:11 good catch! 18:54:36 yea, I'm really content with our new state of affairs. 18:54:56 what are the remaning problems? 18:55:02 remaining 18:55:25 I'm not really sure. Robert Dodier is looking into the commonalities between the remaining failures. 18:55:59 I hope there are some. 18:56:16 there are also some tests in the maxima test suite that expect hard code numerical values 18:56:23 which is unfortunate 18:56:46 I also saw problems with code generated by the fortram to cl translator 18:56:59 right. I've seen some numbers being printed the same, but somehow ABCL thinks the return vectors differ anyway. 18:57:02 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 104 (Connection reset by peer)] 18:57:33 you need to retranslate the fortran code, otherwise the code makes assumptions that are not correct and are based on the Lisp the translator was running in 18:57:53 those were the biggest two problems with the test suite I found 18:57:56 kib2 [n=kib2@bd137-1-82-228-159-28.fbx.proxad.net] has joined #lisp 18:58:15 that's an idea. I could try to regenerate the full test suite. 18:58:32 stassats [n=stassats@wikipedia/stassats] has joined #lisp 18:58:59 stassats` [n=stassats@wikipedia/stassats] has joined #lisp 18:59:08 -!- stassats` [n=stassats@wikipedia/stassats] has left #lisp 18:59:22 -!- stassats [n=stassats@wikipedia/stassats] has quit [Client Quit] 18:59:40 can ABCL run McCLIM ? 18:59:59 heh. no idea. never tried it. 19:00:16 does mcclim depend on sockets or other non-standard features? 19:00:37 threads are useful 19:00:38 in that case, mcclim probably should be modified for ABCL to be able to run it. 19:00:45 abcl supports threads. 19:00:59 but probably not in the mcclim abstractions 19:01:23 -!- sreeram_ is now known as sreeram 19:02:33 McCLIM uses a bit more CLOS (than Maxima ;-) ) - that would test CLOS quite a bit 19:02:38 H4ns: i had no idea! 19:02:55 JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has joined #lisp 19:02:57 lispm: other things also support threads :) 19:03:09 and ABCL's CLOS is claimed (by the dev) to be very slow 19:03:18 (I think it also lacks at least some MOP stuff) 19:03:25 it does indeed .. it 19:03:26 ehu works on improving ABCL 19:03:37 rsynnott: isn't that a more reason make it work? 19:03:39 it was based on closette IIRC 19:03:43 UnwashedMeme [n=nathan@216.155.97.1] has joined #lisp 19:03:48 lacking some MOP stuff makes it faster ;-) 19:04:30 (there's a fortran to cl translator?! madness :) ) 19:04:46 well, the function compiler requires creation of files on disk. 19:05:09 ehu: same for GCL 19:05:18 this means bad performance, as these are very small files, written out to disk when they could have been loaded off memory. 19:05:27 sreeram_ [n=sreeram@122.164.250.180] has joined #lisp 19:05:54 I'm actually working now to achieve that. 19:06:08 is it really necessary to do write files? No way around that? 19:06:39 -!- sreeram [n=sreeram@59.92.35.84] has quit [Nick collision from services.] 19:06:49 -!- sreeram_ is now known as sreeram 19:07:00 at this time, no: the compiler uses them for its output. 19:07:52 then make the Interpreter fast ;-) 19:08:18 heh. I'll try to make the compiler compile to memory instead! 19:08:33 -!- ignas [n=ignas@office.pov.lt] has quit [Read error: 113 (No route to host)] 19:09:18 in former times I had a RAM disk for that 19:10:33 ehu: you could crib the in-memory streams from flexi-streams 19:10:59 -!- holycow [n=new@mail.wjsgroup.com] has quit [Read error: 60 (Operation timed out)] 19:11:08 fe[nl]ix: flexi-streams is based upon trivial-gray-streams which doesn't work (yet) with ABCL. 19:11:11 :-/ 19:11:39 or you could make your own in-memory streams. it's not that hard 19:11:50 -!- xan-afk is now known as xan 19:12:07 yea. I think one of the other devs did that the other day. 19:13:10 holycow [n=new@burnaby.axiomnetworking.ca] has joined #lisp 19:17:23 Yuuhi [n=user@p5483D65A.dip.t-dialin.net] has joined #lisp 19:18:24 -!- loxs [n=loxs@83.228.122.198] has quit ["Leaving"] 19:19:16 -!- greenumber is now known as schmx 19:19:46 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 19:25:45 -!- tombom [i=tombom@wikipedia/Tombomp] has quit ["Peace and Protection 4.22.2"] 19:29:07 -!- hyperbor1ean [n=none@unaffiliated/hyperboreean] has quit ["leaving"] 19:29:22 hyperboreean [n=none@unaffiliated/hyperboreean] has joined #lisp 19:30:07 H4ns: it looks like the clean and easy way to mod_python is apache2, which we are not running and have no plans to upgrade.. i'm going to look into fastcgi as well. 19:31:27 -!- mot___ [n=mot@user-d57827.user.msu.edu] has left #lisp 19:32:29 drewc: last I heard, mod_python was considered almost deprecated 19:32:43 and yep, you REALLY don't want the apache 1.3.x version 19:32:43 scgi and fastcgi 19:32:52 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 19:32:52 mod_wsgi is also a possibility 19:32:59 scgi seems cool 19:35:23 -!- postamar [n=postamar@x-132-204-255-24.xtpr.umontreal.ca] has left #lisp 19:35:26 -!- Tordek [n=tordek@host35.190-226-113.telecom.net.ar] has quit [Remote closed the connection] 19:37:05 -!- JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has left #lisp 19:38:40 -!- wchogg [n=wchogg@216.165.145.79] has quit [Read error: 104 (Connection reset by peer)] 19:38:50 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 19:39:40 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 19:40:38 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 19:41:01 rsynnott: glad to hear the internets concurr with my research :) 19:41:27 jlf` [n=user@209.204.171.109] has joined #lisp 19:41:31 *rsynnott* used to use mod_python 19:41:40 *rsynnott* is glad to no longer be using mod_python :) 19:42:08 i've managed to avoid python these last 5 years or so. 19:42:11 *drewc* 19:42:16 hrm 19:42:46 *drewc* 's 5 year lisp anniversaire is coming up 19:43:12 is there a badge or secret handshake or similar? 19:43:21 i don't know (yet). 19:43:55 I'm avoiding mod_python and definitely mod_perl as much as I can. 19:44:08 embedding languages in apache seems to be generally bad news 19:44:16 generally restricts you to the forking model 19:44:22 The world didn't program Apache in any of these languages for a reason. 19:44:27 and if the app leaks memory you are in trouble 19:44:48 REPLeffect [n=REPLeffe@69.54.115.254] has joined #lisp 19:44:59 I like the idea of mod_lisp, however, it seems that there are very few pre-made apps you can run with it :-) 19:45:21 -!- cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has quit ["Ex-Chat"] 19:45:21 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #lisp 19:45:27 (also, a mod_perl crash will leave you in a lovely situation where some form of ipc resource is left lying around) 19:45:49 *rsynnott* doesn't see that mod_lisp is generally better than proxying to a full server 19:45:55 hi Fare 19:46:01 then again, I don't like apache very much so may be biased :) 19:46:01 drewc: what's the outcome of your research? 19:46:29 rsynnott: i like apache because it makes for 1 front end to whatever apps you want to put behind it. 19:46:57 other than that you prefer not to have large apps in "refcounting languages"? 19:47:23 I actually considered writing in Lisp what Trac does in python. 19:47:32 Should be only a few man-months work. 19:47:37 without the leaking. 19:47:41 fe[nl]ix, hi 19:47:58 the leaking can be managed, as long as the app doesn't actually live within the server 19:48:21 (actually, it can be there too in certain circumstances; php code generally leaks horribly, but mod_php prevents permanent leaks) 19:49:12 in case memory is attached to a request, that shoud help. 19:50:03 *rsynnott* once encountered a desktop app written in php 19:50:12 in huncentoot nice on its own? 19:50:15 I think it could last a couple of hours before consuming a GB or so 19:50:20 is- 19:50:34 rsynnott: you are not talking about firefox, right? 19:50:55 azathoth991: I've had no trouble, though you probably want to proxy to it from a frontend server to avoid having to run it as root to listen on port 80 19:50:58 guaqua: no 19:51:13 oh it won't switch to a user? 19:51:27 [wonders if varnish could do hat] 19:52:29 hmm, I think it might be able to give up root privileges 19:52:35 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 19:52:37 -!- fe[nl]ix [n=algidus@88.149.210.14] has quit ["Valete!"] 19:52:43 I've never tried; prefer to run it behind pound 19:53:26 -!- sreeram [n=sreeram@122.164.250.180] has quit [Success] 19:55:44 sreeram [n=sreeram@122.164.237.219] has joined #lisp 19:55:58 stassats [n=stassats@wikipedia/stassats] has joined #lisp 19:56:50 ehu: my research is that fcgi is probably the best bet, mod_python is teh suck, and i'd love to have a trac-alike in CL :) 19:59:09 hi drewc! how's hacking? 20:00:39 -!- lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit ["Leaving"] 20:01:00 drewc: fastcgi on apache is apparently a bit broken, though 20:01:20 tic: hack-a-licious! call/cc in < 100 lines is my latest feat :D 20:01:37 drewc, using what libraries? 20:01:45 Fare: libraries? 20:01:47 drewc, quite excellent! was this the continuation stuff you were discussing the other day? 20:01:55 tic: it is indeed. 20:02:28 dunno -- how did you implement call/cc ? 20:02:30 m4thrick [n=mathrick@users177.kollegienet.dk] has joined #lisp 20:02:35 mathrick [n=mathrick@users177.kollegienet.dk] has joined #lisp 20:02:46 Fare: you'll really like this .. i only :use CL 20:02:47 drewc, can i has code plz 20:02:47 or is it compiling a tiny subset of CL? 20:03:02 rsynnott: broken? 20:03:11 drewc, I wish to use it while in bed. 20:03:22 i give url, hold 20:03:34 kthx 20:03:54 *Fare* remembers Naggum arguing that Scheme was made to experiment implementing it, and CL was made to experiment implementing other things, so writing a Scheme implementation in CL made obvious sense 20:04:23 20:04:23 http://paste.lisp.org/display/77636 20:04:23 20:04:27 I had a flamewar at the office w/ a Haskell guy, speaking of things implemented in Lisp. 20:04:27 sorry for the flood! 20:04:34 drewc, thanks! 20:04:43 Fare: this is not a code walker, nor is it CPS 20:05:24 what is it, then? something like pkhuong's serialization of continuations? 20:05:25 programmers and their religions. not pretty, mostly not even funny :) 20:05:38 Fare: without the serialization, it's exactly that. 20:06:14 Fare: using A-normal form, you don't require CPS or a code walker.. 20:06:20 guaqua: at least they generally refrain from setting fire to people, like in proper religions 20:06:26 the only caveats are that you must use 20:06:31 sorry .. 20:06:52 must use ANF when using the results of a function that may call a continuation 20:07:17 so (reset (foo (shift k k)) will not work, 20:07:32 drewc, is it call/cc or shift/reset ? 20:07:40 you must (reset (cc-let* ((tmp (shift k k))) (foo tmp)))) 20:07:54 Fare: both 20:08:02 drewc, but if I have to write everything in ANF, it's no fun 20:08:03 but delimited call/cc 20:08:06 guaqua, it was rather fun. I was arguing you could use macros instead of thunks in some cases. 20:08:11 guaqua, or if it was the other way around. 20:08:19 rsynnott: but they can hurt people as badly. as in really bad solutions based on religious following of their own usability dogmas etc. but yes, people aren't normally killed 20:08:21 Fare: you don't have to write _everything_ in ANF 20:08:41 Fare: only when you use the results of a function that may capture a continuation . 20:08:55 Fare: this is trivially fixed with a code-walker, of course. 20:09:26 but i'd rather have call/cc in CL with a special operator than walk and create a fake CL with call/cc 20:10:02 guaqua: as someone from a country where people were actually materially hurt by stupid religion-imposed laws as recently as two decades ago, I question the 'hurt people as badly' bit 20:10:04 tic: i'm guessing you can implement pretty much any evaluation strategy with macros given enough black magic :) 20:10:26 and for 99% of uses of call/cc in cl, all you are doing is returning a value from the result of a computation that may be run 'in the future' like 20:10:58 guaqua, I was arguing you "need" macros for syntax, whereas he said you can just hook onto the lazy eval feature of Haskell and define your own sequencing operator in the form of a monad. 20:11:00 I'd rather have a full-fledged CL-in-CL implementation so I can compile the VERY SAME CODE using two different strategies. 20:11:05 rsynnott: i'm sorry, really. i was insensitive, didn't realize this :( 20:11:22 ehu: you seriously consider to re-write trac in CL? 20:11:49 Fare: why? same code, radically different semantics? 20:11:55 Fare: i don't see the point. 20:12:06 reusing libraries 20:12:21 so I can reuse my favorite libraries intermixed with call/cc 20:12:38 why should I reinvent the world the moment I use call/cc ? 20:13:07 Fare: i agree, that's why i will now use CC-LET* rather than a codewalker. 20:13:32 uh? 20:15:42 ah, no offence taken 20:16:00 Fare: it is impossible to rectify unwind-protect with call/cc, so any approach that tries to integrate a full call/cc into CL is going to be very broken. 20:16:20 mega1 [n=mega@4d6f4599.adsl.enternet.hu] has joined #lisp 20:16:21 Fare: so you either fight that, or give in and use a special operator for delimited continuations. 20:16:44 so it very clearly says to the reader 'hey, this is _not_ CL' 20:17:15 this opinion comes from 5 years, full time, of using call/cc in CL everyday. If you don't have that same experience, your opinions might differ :) 20:17:48 people actually use continuations in cl? :) 20:17:52 metawilm [n=willem@e179145072.adsl.alicedsl.de] has joined #lisp 20:17:54 kami-: no, I'm seriously developing a CL implementation. I can't do more than that (in my spare time) 20:18:07 kami-: but I'd like to, yes. 20:18:27 rsynnott: weblocks, UCW 20:18:32 kami-: the last 3 releases of Trac didn't bring me -as a user- anything really new. 20:19:00 I like the way continuations are used for web development. 20:19:02 ehu: is it available somewhere? 20:19:18 ehu: I mean whatever you have achieved up to now. 20:19:25 Fare: i looked through my old code to see how many uses of call/cc i had that could not be re-written as assignments... 20:19:32 kami-: yes. ABCL; http://common-lisp.net/project/armedbear/ 20:19:40 i found one :) 20:20:12 kami-: it runs on the JVM. 20:20:24 drewc: have you used weblocks or UCW, and if you have what are your opinions of the ones you've used 20:20:28 ehu: oh. I misunderstood: I thought you meant a trac implementation. 20:20:37 REPLeffect: i am the maintainer of UCW 20:20:47 so you've used it then :D 20:21:07 *p_l* felt that it looked quite anvilicious :D 20:21:34 ehu: I tried out armedbear. It worked great. 20:21:53 kami-: thanks :-{ 20:21:56 :-) 20:22:04 kami-: can I ask what for? 20:22:06 drewc: sorry, I've seen a few things about UCW, but haven't had time to look at it yet 20:23:12 thus my ignorance about its maintainership (if that's a word) 20:23:31 -!- Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 20:23:43 ehu: I wanted to run it inside a Java application to do some rule based reasoning, but the project never started. 20:23:52 drewc: do you recommend a particular database-y thing for use with ucw? 20:24:20 ehu: I made some very preliminary feasibility tests and ABCL would have been well suited, I think. 20:24:26 -!- azathoth991 is now known as the_unmaker 20:24:43 REPLeffect: no worries, it's not the most advertised thing. 20:24:43 fe[nl]ix [n=algidus@88-149-210-14.dynamic.ngi.it] has joined #lisp 20:25:26 ehu: is cl-trac in the state of 'one day, maybe' ? 20:25:34 yuip. 20:25:37 yup. 20:26:12 fjs [n=chatzill@ppp-93-104-112-191.dynamic.mnet-online.de] has joined #lisp 20:26:13 drewc: aah -- the link to your Introduction on common-lisp.net isn't working for me 20:26:14 for a large number of reasons, time being the most important one. 20:26:32 Anyone here charge credit cards with lisp (authorize.net, paypal, monetra, etc)? 20:26:36 REPLeffect: i think the main difference between the two is that weblocks is new and untried, and making many of the same mistakes we made in UCW years ago. UCW has been used in the industry for some 6-7 years, has many projects delivered in it, and has therefore become more robust. Also, webblocks includes a forms library, UCW does not. 20:27:02 http://common-lisp.net/project/ucw/repos/ucw-core/manual/getting-started.txt 20:27:07 REPLeffect: ^^^ 20:27:13 drewc: cool. Thanks for the info. 20:27:29 http://common-lisp.net/project/ucw/documentation.html, is the page where the link is broken 20:27:46 ehu: we use trac extensively in our company and although it's a great tool, there are many things which could be improved 20:27:48 REPLeffect: the whole website is broken really. 20:28:20 ehu: I have often thought about a cl-trac 20:28:20 drewc: is that part of the whole fiasco that caused the cl wiki to be broken? 20:28:32 REPLeffect: i just got a new logo, and i'll be doing the website shortly. 20:29:03 REPLeffect: not really .. and the cl wiki will be back up this weekend, re-written in UCW with the content retrieved from the internets caches 20:29:22 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 20:29:25 and hosted by me again .. i should never have let the ALU take it back :) 20:29:38 drewc: live and learn, I guess. 20:30:03 Patzy [n=somethin@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 20:30:06 glad to hear it will be coming back up again. 20:30:42 prip [n=_prip@host136-122-dynamic.35-79-r.retail.telecomitalia.it] has joined #lisp 20:30:48 I've ended up wanting to look at something there a few times in recent past, and whatever things I was looking for were not there. 20:30:49 -!- prip [n=_prip@host136-122-dynamic.35-79-r.retail.telecomitalia.it] has quit [Read error: 104 (Connection reset by peer)] 20:31:02 -!- stathis_ [n=rty@ppp206-239.adsl.forthnet.gr] has quit ["Leaving"] 20:31:04 don't remember which things, offhand 20:31:04 drewc: what, no more cliki? 20:31:17 or just no more cliki for alu site? 20:31:28 rsynnott: the ALU wiki was in 'kiwi' anyway :) 20:31:53 and i basically just ported cliki to UCW for the new ucliki 20:32:12 Is there an easier way to clear the symbols interned in the REPL other than restarting lisp? Right now whenever I update my code from changes someone else makes, I am forced to close and restart my slime buffer and reload the project. Is there a way to reload this project with some command instead? 20:32:15 so, once tested via the alu wiki users, i will be moving cliki sites to ucliki as well. 20:32:41 we'll get a managed cliki again?! 20:32:44 yay! 20:32:56 ah, thought it was cliki 20:32:58 cool 20:33:07 drewc: just a simple port, or new features? 20:33:12 rsynnott: it was, years ago, before i let the ALU handle things. 20:33:33 rsynnott: a simple port at first, new features coming (like diffs). 20:34:11 saikat: You can unintern the symbols manually 20:34:21 *drewc* has to run out and buy some epoxy. 20:34:22 is there a way to unintern all symbols? 20:34:45 ah, very nice 20:34:48 drewc: I did some UCW development a long time ago. Unfortunately, I found it to be very slow due to the fact that I was restarting SBCL all the time. do you use UCW and the REPL? 20:34:54 if so, how? 20:34:56 saikat: I wonder if find-all-symbols would help you with that. 20:34:57 I hear Clojure runs the ALU now ... let's hope they don't have a wiki engine ;) 20:35:07 ehu: why were you restarting SBCL all the time? 20:35:16 saikat: What's the exact problem you're facing? 20:35:22 because of the page definitions which needed to be reloaded. 20:35:24 sellout: clojure webdev still seems to be a slightly messy procedure involving embedding jetty or similar 20:35:48 drewc: was I doing something wrong? (/me thinks so) 20:35:55 -!- schmx [n=WebGuest@sxemacs/devel/schme] has quit [Read error: 104 (Connection reset by peer)] 20:36:01 ehu: you must have been, i've never heard of that. 20:36:33 josemanuel [n=josemanu@101.0.222.87.dynamic.jazztel.es] has joined #lisp 20:36:48 so, if you create new definitions of frames and or objects, how do you generally handle the definition of the handler? 20:37:03 just compiling it in the repl? 20:37:05 Right now, I load my project into SBCL say with (require 'project). Then my project partner pushes some changes to project. I want to reload the project from scratch instead of figuring out what changes she made exactly. So what I do is close the REPL, open it again, and require 'project again. 20:37:14 Just wondering if there is an easier way to do it than that 20:37:18 ehu: you should never be touching a handler in UCW .. 20:37:41 ah. that's probably one of my issues then :-) 20:37:41 saikat: Use ASDF, and then load it again. 20:37:51 -!- jlf` [n=user@209.204.171.109] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 20:37:52 and you should not be redefining frames 20:38:11 ehu: i can't even picture what it is you were doing ,, are you sure this was ucw? :) 20:38:29 jlf` [n=user@209.204.171.109] has joined #lisp 20:39:07 hi, if I'm (in-package :foo) how do I leave it? 20:39:21 I think I was focussing on the non-important: I tried the URLs to look differently. 20:39:24 egn: Just enter a different package. 20:39:28 If anybody is still interested in, I released the first draft of my emacs shell script wrapper for htmlize.sh. (See http://www.students.itu.edu.tr/~yazicivo/files/htmlize.README.txt) It provides CLHS and MOP linking capabilities similar to paste.lisp.org. 20:39:35 but because of it, I had to change the handlers, etc. 20:40:08 ehu: doin it wrong! 20:40:35 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 20:40:52 'pretty urls' are done either in COMPUTE-URL or by having well thought out ENTRY-POINTS 20:41:14 -!- bombshelter13 [n=bombshel@142.204.133.36] has quit [Remote closed the connection] 20:41:16 yea. this was also during the time when the ajax version of some stuff was under development. I wanted to use ajax too. However, the project never got off the ground, so after 4 weeks of experimenting, the entire effort became moot. 20:41:38 ooh, scary framework stuff 20:42:01 *rsynnott* has just been optimising a ruby on rails app; it has given me a slight phobia of complicated frameworks 20:42:10 ehu: that's fair enough, the ucw-ajax tree was never easy to follow. ucw-core abstracts most of those details 20:42:21 rsynnott: ucw is not a complicated framework at all. 20:42:29 -!- sellout [n=greg@guest-fw.dc4.itasoftware.com] has quit [] 20:42:41 rsynnott: there are, however, some complicated frameworks built on UCW 20:42:49 as long as I can figure out how it works I'm happy 20:42:54 I may take a look over the weekend 20:43:04 ucw looks quite weird, though :) 20:43:09 francogrex [n=franco@92.231-247-81.adsl-dyn.isp.belgacom.be] has joined #lisp 20:43:25 (I was drafted onto the rails thing at the last minute never having used ruby before, but having a reasonable record for fixing slow stuff. I am still puzzled by aspects of rails) 20:43:27 rsynnott: read the getting-started link i pasted earlier, it explains UCW from the ground up. 20:44:05 if UCW still seems complicated after reading that, i've done something wrong, so bug me for better answers. 20:44:05 ah, cool 20:44:12 (or better code) 20:44:31 ah, I see it uses ALL the compatibility libraries :) 20:44:39 rsynnott: and then some! 20:45:44 whats so great about trac? 20:46:13 that it exists and combines a few key aspects of software development? 20:46:22 drewc: can you do in page movies like blogs have in ucw? 20:46:36 i'm not arguing all of them are actually relevant. but at least task tracking and a wiki are 20:46:45 the_unmaker: i have no idea what a page movie is, but yes. 20:46:49 oh it kinda does ticketing? 20:46:56 like a youtube 20:47:04 or is that some kinda specialized thing 20:47:20 the_unmaker: no, that's just a lump of html 20:47:23 drewc: so, in ucw-core, it's no longer required to generate an html response? 20:47:38 good to hear ocw is activly developed 20:47:43 ehu: what are you trying to do? 20:47:50 ucw, anyon see that thing coreserver soem one made? 20:47:55 -!- ivan4th [n=ivan4th@87.249.9.98] has left #lisp 20:48:09 gonzojive [n=red@fun.Stanford.EDU] has joined #lisp 20:48:10 the_unmaker: are you asking if you can embed a flash player and serve flash content from UCW? of course you can. 20:48:29 so you could redo www.buzznet.com in lisp? 20:48:34 *drewc* has to run for real, stores close soon. 20:48:49 the_unmaker: you can do anything in lisp that you can do anywhere else. end of story. 20:49:01 buzznet hurts my eyes, whatever it is 20:49:08 :D 20:49:30 and why would anyone wanna do buzznet 20:49:48 Isn't the_unmaker gavino? 20:49:52 -!- francogrex [n=franco@92.231-247-81.adsl-dyn.isp.belgacom.be] has quit ["Leaving"] 20:49:57 i guess that's meant for young people 20:50:08 the_unmaker: if only you were using arc you could do a lot of buzznet with the macro (bgcolor :hideous-pink) or similar 20:50:40 (arc has lovely HTML (NOT xhtml) stuff right in the core language) 20:50:45 even with all those fancy littel backgrounds? 20:51:06 yeah I wouuld prefer to avoid xml and xhtml in my life 20:51:13 arc eh 20:51:19 thats paul graham 20:51:23 "Buzznet.com is a vibrant social media destination representing the next evolution of social networking." - oh, dear 20:51:28 ;) 20:51:33 its a living 20:51:46 I wont scare you with wordpress info 20:51:53 but be afraid 20:52:06 isn't future and social networking kind of an oxymoron nowadays? 20:52:39 the future (or web 3.0) lies in graphs (or so sayeth Franz, on their decidedly web 1.0 website) 20:53:10 i'm actually going to work on a graph mining thingie this summer :) 20:53:19 so that's good news - i guess 20:55:58 -!- KalifG [n=user@bloc-18.isc.tamu.edu] has quit [Read error: 60 (Operation timed out)] 20:56:09 an interesting thing would be to visualize websites as graphs 20:56:17 ECL on iPhone instructions: http://lambdajive.wordpress.com/2009/03/27/common-lisp-on-iphone-ecl-comes-through-at-last/ 20:56:30 -!- vy [n=user@88.230.186.228] has left #lisp 20:57:06 ... 20:57:23 I'm wondering how the hell did taxi dispatcher knew my name right now 20:57:45 (relevant to previous discussion about privacy and CCTV?) 20:58:23 loxs [n=loxs@83.228.122.198] has joined #lisp 20:58:28 -!- loxs [n=loxs@83.228.122.198] has quit [Connection reset by peer] 20:59:01 caller id? 20:59:21 foom: It doesn't normally contain your name, does it :D 20:59:30 it does 20:59:55 foom: hmm... depends on the country, then 21:00:20 In the US: caller id contains the account holder's name. But for some reason that I don't understand, not a single cellphone displays that info. 21:00:52 yipstar [n=user@cpe-74-64-96-182.nyc.res.rr.com] has joined #lisp 21:00:56 hmmm... I think I simply used the same taxi company last time. And I don't know how much of caller id goes through international calls :) 21:00:57 hello 21:01:08 i'm having some real trouble working with alists 21:01:16 drewc: back then I was trying to have users edit a very large table; I wanted to use ajax to update it based on some parameters in the display. 21:03:10 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 21:03:57 yipstar: what's the problem ? 21:04:21 fe[nl]ix: someone in #emacs just starting helping me, i'll be back in a sec :) thanks though 21:05:29 -IR1 block 60 start c119 21:05:30 +IR1 block 62 start c119 21:05:47 any sbcl compiler folk awake? 21:09:06 -!- ia [n=ia@89.169.189.230] has quit [Read error: 110 (Connection timed out)] 21:09:06 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 21:09:13 tomoyuki28jp [n=tomoyuki@w221062.ppp.asahi-net.or.jp] has joined #lisp 21:09:27 Is there a function does this? (find-if* #'(lambda (x) (= x 2)) '(2 2 2)) ; => '(2 2 2) 21:09:51 member? 21:10:00 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 21:10:22 or possibly remove-if-not 21:10:22 ia [n=ia@89.169.189.230] has joined #lisp 21:10:25 stassats: this works, thanks! (member-if #'(lambda (x) (= x 2)) '(2 2 2)) 21:10:36 (member 2 '(2 2 2)) 21:10:38 ? 21:11:21 stassats: oh, I want something like this. (member* 2 '(2 3 4)) ; => '(2) 21:11:22 and make sure, that you understand semantics of member, maybe that's not what you need 21:11:51 hbock [n=user@198.7.232.237] has joined #lisp 21:11:59 tomoyuki28jp: then what Krystof said 21:12:13 -!- hbock [n=user@198.7.232.237] has quit [Client Quit] 21:12:23 or (remove 2 '(2 3 4) :test-not #'eql) 21:13:53 hi, how would I add a function to a package... in essence: (defun pkgname:foo () (print "bar")) 21:14:00 tomoyuki28jp: what about (defun find-if* (f l) (when (find-if f l) l)) 21:14:06 stassats: Krystof: thanks, both works. (remove-if-not #'(lambda (x) (= x 2)) '(2 3 2)) (remove 2 '(2 3 4) :test-not #'eql) 21:14:52 egn: pkgname::foo ? 21:16:13 stassats: thanks, 'I'm getting The symbol "FOO" is not external in the POSTMODERN package.' 21:17:00 when I CONTINUE in the repl it runs fine though 21:17:06 well, export it? 21:17:09 seamus-android [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has joined #lisp 21:17:14 or use postmodern::foo 21:17:20 k, thanks 21:17:49 anyway, why do you want to add symbols to the foreign library? 21:18:39 I was going to add a macro to the library and it was close to one of it's built in functions so I thought it would be a little cleaner to extend it 21:21:27 fe[nl]ix: so i figured out my problem 21:21:37 i did not know Quoted Lists were never to be modified 21:21:54 i thought ' was just conveinence sugar to build lists 21:22:05 did not realize its singleton like behavior 21:22:42 yipstar: where did you get the idea ' built anything? 21:22:55 i just assumed i guess 21:23:03 21:23:12 sry cat 21:23:24 JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has joined #lisp 21:23:36 yipstar: the same applies to other objects produced by the reader 21:23:41 ' is a reader macro character such as 'x reads as (QUOTE x). 21:23:46 like strings or vectors 21:23:55 QUOTE is an operator that returns its argument unevaluated. 21:24:03 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 104 (Connection reset by peer)] 21:24:57 well i'm glad i know that now, cause i was tearing my hair out 21:25:02 thank you for the education 21:25:05 i'm new to lisp 21:27:32 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [No route to host] 21:28:32 -!- sreeram [n=sreeram@122.164.237.219] has quit [] 21:29:58 minion, tell yipstar about that-dead-sexy-book 21:29:59 yipstar: have a look at that-dead-sexy-book: 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). 21:31:32 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #lisp 21:35:00 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 21:35:16 oudeis [n=oudeis@80.250.159.240] has joined #lisp 21:35:53 weblocks, because when it's loading it 'locks'. 21:36:52 dkcl [n=danderse@unaffiliated/dkcl] has joined #lisp 21:38:22 -!- JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has left #lisp 21:38:33 sulo_ [n=sulo@p54A3FBC0.dip.t-dialin.net] has joined #lisp 21:38:53 (declare (type (integer -1 #.(1- most-positive-fixnum)) 21:38:55 tsk tsk tsk 21:38:57 bad WHN 21:41:08 -!- LiamH [n=none@common-lisp.net] has quit ["Leaving."] 21:41:22 phf [n=user@c-98-231-211-226.hsd1.md.comcast.net] has joined #lisp 21:42:26 -!- fradiavalo [n=fradiava@outside30.mlp.com] has quit ["Leaving"] 21:43:32 -!- rotty [n=rotty@nncmain.nicenamecrew.com] has quit [Read error: 60 (Operation timed out)] 21:43:43 rotty [n=rotty@78.41.115.190] has joined #lisp 21:45:40 H4ns1 [n=hans@p57A0D5B7.dip.t-dialin.net] has joined #lisp 21:51:37 lol 21:52:24 pjb: When I first started with lisp, I was also under the bad impression that "'" constructed a list. It made for a lot of weird mistakes for a while, like '('a 'b 'c) 21:52:33 pjb: I blame my professor. :) 21:52:42 how do i get from (list 1 2 3) ...to... 1 2 3 21:53:15 Harag: You mean like values-list? 21:53:20 clhs values-list 21:53:20 http://www.lispworks.com/reference/HyperSpec/Body/f_vals_l.htm 21:53:23 aaah 21:53:27 thanx 21:53:54 i could not remember for the life of me and my google searches are useless if you dont use the right words 21:55:21 Cybera [n=a@88.244.6.12] has joined #lisp 21:56:19 -!- antgreen [n=green@CPE0014bf0b631a-CM001e6b1858fa.cpe.net.cable.rogers.com] has left #lisp 21:56:36 -!- Cybera [n=a@88.244.6.12] has left #lisp 21:57:06 Harag: np... I am happy I remembered it at all. I went through CLHS's symbol list a couple weekends ago, symbol by symbol, and while I have familiarity now with what the language can do with standard functions, the names are not yet all memorable. :) And then there are ways of using them that I need to cement. 21:58:35 that is something I need to do soon 21:58:44 -!- seamus-android [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has quit [Read error: 104 (Connection reset by peer)] 21:58:47 seamus-android [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has joined #lisp 21:58:55 i did it once many years ago but then never used lisp after that till now 21:59:11 Treat it like studying. :) I actually had a notebook that I wrote words in and definitions in my own words. 21:59:26 alistair [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has joined #lisp 21:59:38 -!- alistair is now known as seamus-android` 21:59:39 And then I discovered Burgemeister's quick reference. 22:00:04 -!- tomoyuki28jp [n=tomoyuki@w221062.ppp.asahi-net.or.jp] has quit [Remote closed the connection] 22:00:06 -!- seamus-android [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has quit [Client Quit] 22:00:37 -!- seamus-android` [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has quit [Client Quit] 22:01:24 divia [n=divia@adsl-99-33-30-8.dsl.pltn13.sbcglobal.net] has joined #lisp 22:01:26 mmm is there a searchable version of the CLHS out there? 22:01:44 -!- H4ns [n=hans@p57A0DDE5.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 22:01:44 The index does well enough for me... 22:03:12 From http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html -- "A searchable index interface to the book is under construction." 22:03:24 Oops, that's the book. 22:04:21 -!- mega1 [n=mega@4d6f4599.adsl.enternet.hu] has quit [Read error: 60 (Operation timed out)] 22:05:26 I started sbcl with detachtty and I guess I didn't quit it correctly, but now I can't reattach to shut it down. I keep getting ;;; attachtty: 1238191175: connecting directly to /tmp/sbcl.socket 22:05:27 ;;; attachtty: 1238191175: FATAL connect (Connection refused) 22:05:27 Terminated 22:05:37 anyone know what I can do to fix this? 22:05:58 -!- tsuru [n=user@c-68-53-57-241.hsd1.tn.comcast.net] has quit [Remote closed the connection] 22:08:19 -!- saikat is now known as shadester 22:08:32 -!- Davidbrcz [n=david@nsc.ciup.fr] has quit ["Ex-Chat"] 22:09:16 -!- shadester is now known as saikat 22:10:01 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 22:11:22 -!- sulo_ [n=sulo@p54A3FBC0.dip.t-dialin.net] has quit ["This computer has gone to sleep"] 22:12:36 kill sbcl, remove socket? 22:13:55 when I do top I don't see an sbcl process 22:13:57 -!- fjs [n=chatzill@ppp-93-104-112-191.dynamic.mnet-online.de] has quit [Read error: 110 (Connection timed out)] 22:13:59 should I just delete the socket file? 22:14:28 well, then start sbcl with detachtty anew 22:14:52 then it says ;;; detachtty: 1238192080: FATAL bind (Address already in use) 22:15:02 but I can't figure out what's using the address 22:15:28 netstat -a ? 22:15:44 -ap 22:16:31 -!- dkcl is now known as josipbroz 22:17:06 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 22:17:08 -!- josipbroz is now known as dkcl 22:17:23 thanks, I tried netstat -ap, but I don't see anything there that looks like an sbcl process 22:17:53 kpreid [n=kpreid@216-171-189-59.northland.net] has joined #lisp 22:18:11 dcrawford: thanks, i have pcl actually 22:18:26 i didn't see quote explained like that in there 22:18:38 beach [n=user@ABordeaux-158-1-31-118.w90-55.abo.wanadoo.fr] has joined #lisp 22:18:41 i confess i haven't read it front to cover though 22:18:42 Good evening. 22:18:53 divia: ps axuf? 22:19:57 guaqua: thanks, that showed me what I needed I think 22:20:20 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Remote closed the connection] 22:20:37 newlisper: thanks for mentioning burgemeister's reference. just this morning I suggested that somebody make a concise list of format control directives. turns out he already did it (: 22:21:06 yipstar: you say you are new to Lisp, but you started reading PCL three years ago it seems. 22:21:29 beach: how's that? 22:21:32 antifuchs: I fell in love with it quickly. I only got confused briefly with the diagram that showed the types because I overlooked the little symbol footnote. 22:21:48 yipstar: 06.05.19:22:52:25 i'm just started reading Pratical Common Lisp 22:21:54 (-: 22:21:57 guaqua: I forcibly killed the sbcl process, but the address is still in use 22:21:59 beach: ha! 22:22:05 you keep all those logs, amazing 22:22:30 newlisper: it is pretty awesome 22:22:35 yes i bought the book that long ago, i got into it for a minute, mostly i was just trying to learn a new language and to get better at customizing my emacs 22:22:53 obviously i've made very slow progress :-( 22:23:15 yipstar: time to speed up the process I guess. 22:23:29 -!- josemanuel [n=josemanu@101.0.222.87.dynamic.jazztel.es] has quit ["Saliendo"] 22:23:30 elias` [n=me@194.81.254.4] has joined #lisp 22:23:33 beach: indeed 22:24:00 -!- newlisper [n=wschroed@128.252.233.244] has quit ["Leaving."] 22:24:14 too much time goes to the damn day job 22:24:24 I know the problem. 22:26:26 has any one ever tried to build posmodern::sql-templates in a macro? 22:26:41 -!- Nshag [i=user@Mix-Orleans-106-3-6.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 22:28:32 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:28:33 jdelgado [n=jdelgado@80.Red-79-148-190.dynamicIP.rima-tde.net] has joined #lisp 22:28:58 -!- willb [n=wibenton@wireless92.cs.wisc.edu] has quit [Read error: 60 (Operation timed out)] 22:29:30 -!- abeaumont [n=abeaumon@84.76.48.250] has quit [Remote closed the connection] 22:30:05 seamus-android [n=user@cpc3-brig3-0-0-cust124.brig.cable.ntl.com] has joined #lisp 22:30:19 -!- jdelgado [n=jdelgado@80.Red-79-148-190.dynamicIP.rima-tde.net] has left #lisp 22:30:38 I managed to kill the detachtty process and start a new one, but I still get the same error when I try to connect to it with attachtty (FATAL connect (Connection refused)). Any ideas? 22:30:57 strace? 22:31:31 night ppl 22:31:53 -!- Harag [n=phil@196.2.98.168] has left #lisp 22:32:38 I guess Harag neither learned to type nor to use abbrevs since last time. Oh well. 22:33:00 Is it possible to delete an entire s-expression simply? 22:33:18 C-M-k 22:33:46 stassats: One day you're going to make a live screencast of you just editing lisp code. :> 22:34:25 only when i learn all paredit commands 22:34:31 moocow [n=new@mail.wjsgroup.com] has joined #lisp 22:34:38 ``Erik___ [i=erik@c-76-111-12-116.hsd1.md.comcast.net] has joined #lisp 22:35:13 Also, is there a special keyword I can put in comments and find them easily later in slime (like TODO or something)? 22:35:48 Quadrescence: you can put essentially anything, and then use M-x grep. 22:36:09 stassats: thanks, I tried strace and got this output http://paste.lisp.org/display/77700 but I'm not sure what it means 22:36:45 -!- ``Erik [n=erik@ftp.brlcad.org] has quit ["leaving"] 22:36:52 -!- ``Erik___ is now known as ``Erik 22:39:02 that it forked? 22:39:21 Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has joined #lisp 22:39:31 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 22:39:48 Is there a telnet client written in common lisp? 22:40:19 http://www.cliki.net/admin/search?words=telnet 22:40:53 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 22:41:46 Darn, looks like the only thing telnet related programs are servers... I've yet to find anything else... 22:41:53 -!- ehu [n=chatzill@82-170-33-173.ip.telfort.nl] has quit [Read error: 110 (Connection timed out)] 22:42:10 Zen_Clark: This might be the time to write one. 22:42:40 isn't telnetlib what you need? 22:43:57 divia: strace -f to follow child processes 22:43:58 I've never really used lisp past random simple hackery with GNU Emacs and StumpWM... Not really much of a programmer... 22:44:54 it's never too late 22:47:16 divia: and did you delete your socket file? 22:47:36 stassats: yes, I did delete my socket file 22:48:20 -!- holycow [n=new@burnaby.axiomnetworking.ca] has quit [Read error: 110 (Connection timed out)] 22:48:39 -!- jewel [n=jewel@dsl-242-188-120.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 22:49:13 okay, well I just restarted my server and it fixed my problem with detachtty. Still not sure what it was, but thanks for the help 22:50:35 C-c < is quite slow. :( 22:52:16 i'd expect it to be slow 22:52:45 On a single file? 22:54:12 do you think it searches only in one file? 22:54:29 I sure hope so. O_O 22:55:31 dreish [n=dreish@minus.dreish.org] has joined #lisp 22:55:41 it seems that it doesn't 22:55:44 in sbcl 22:56:30 it searches in all functions, as far as i understand 22:57:58 stassats: Can I abort the search? 22:58:51 i think you can, but i don't know how 23:00:09 bombshelter13 [n=bombshel@209-161-238-179.dsl.look.ca] has joined #lisp 23:00:18 kami- pasted "captured testpackage::body" at http://paste.lisp.org/display/77701 23:01:08 how do I best avoid the testpackage::body? gensym? 23:01:08 Quadrescence: C-c C-b (slime-interrupt) perhaps? 23:01:24 I tried. I just quit emacs and restart it, because I'm cool. 23:01:48 quit ... emacs? i don't understand :) 23:02:01 phf: I know. :/ 23:02:08 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 23:02:23 kami-: why do you want to avoid it? 23:02:48 stassats: you mean it doesn't lead to problems? 23:03:00 it shouldn't 23:03:46 it looks strange that a macro defined in one package should contain symbols which are in another package 23:05:33 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 23:05:44 -!- kib2 [n=kib2@bd137-1-82-228-159-28.fbx.proxad.net] has quit ["When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net"] 23:06:30 is there a format directive which upcases a string? 23:06:56 clhs ~( 23:06:56 http://www.lispworks.com/reference/HyperSpec/Body/22_cha.htm 23:07:12 stassats: thanks 23:09:27 -!- mrsolo_ [n=mrsolo@nat/yahoo/x-4694dd39e4ec6162] has quit ["Leaving"] 23:09:36 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 23:09:46 Beket [n=rty@ppp206-239.adsl.forthnet.gr] has joined #lisp 23:10:10 -!- kpreid [n=kpreid@216-171-189-59.northland.net] has quit [Read error: 104 (Connection reset by peer)] 23:10:18 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 23:10:21 kpreid [n=kpreid@216-171-189-59.northland.net] has joined #lisp 23:10:47 it should be ok even if you delete that package 23:14:31 stassats: what happens to symbols of deleted packages? are they interned elsewhere? 23:15:50 they become homeless 23:15:57 clhs delete-package 23:15:57 http://www.lispworks.com/reference/HyperSpec/Body/f_del_pk.htm 23:19:10 thanks 23:22:45 ruediger [n=ruediger@62-47-143-186.adsl.highway.telekom.at] has joined #lisp 23:22:48 hi 23:23:32 -!- Yuuhi [n=user@p5483D65A.dip.t-dialin.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 23:27:08 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 23:28:47 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 23:28:56 chessguy [n=chessguy@c-68-84-2-127.hsd1.va.comcast.net] has joined #lisp 23:29:28 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit [Read error: 60 (Operation timed out)] 23:30:39 so am i understanding correctly that something of the form "(a b c)" could be either a list of 3 elements or a combination where the operator 'a' is applied to b and c? 23:31:01 stassats: if the code in that macro is called simultaneously from 2 different threads, would they both access the same symbol? 23:31:36 chessguy: it could be both. 23:31:57 (list #1=(a b c) '#1#) 23:32:00 ah, so a combination is a list 23:32:05 Yes. 23:32:11 A s-expression. 23:32:14 ok, that's the piece i was missing 23:32:42 kami-: i guess, they will, but what's the problem with that? 23:33:07 chessguy: it's important, since it's the property that allows to do meta-programming very easily in lisp. 23:33:12 yes 23:33:27 i'm going back and watching SICP again. been a couple years 23:33:32 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 23:33:57 -!- dreish [n=dreish@minus.dreish.org] has quit [Read error: 60 (Operation timed out)] 23:34:08 in this simple case, it is no problem, but if I would modify such a symbol, then the threads would interfere 23:34:34 pjb: were you in the RWH study, or am i thinking of someone else 23:34:39 dreish [n=dreish@207.138.47.153] has joined #lisp 23:35:33 chessguy: probably something else. I don't know what the RWH study is. 23:35:38 s/thing/one/ 23:35:44 Real World Haskell 23:35:52 kami-: parameters in functions are lexical 23:35:52 chessguy: watching? 23:35:56 I've yet to learn Haskell... 23:36:04 so each function will get their own environment, even in the same thread 23:36:16 yipstar: yes, i prefer the video series 23:36:36 you have a link to that? 23:36:39 -!- dreish [n=dreish@207.138.47.153] has quit [Read error: 60 (Operation timed out)] 23:36:55 unless parameters weren't declared special before that, and special variables are usually per-thread 23:36:58 i looked at mit opencourseware the other day and didn't see any videos for that course 23:36:59 sure. http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ 23:37:04 only intro to algoritms 23:37:07 s/weren't/were/ 23:37:10 dreish [n=dreish@minus.dreish.org] has joined #lisp 23:37:12 chessguy: thansk 23:37:25 yipstar: the links on that page don't work, but there's a link to an archive of them 23:37:32 stassats: yes, I know. I have simplified the example. I also have a more complex case where I do setf on such a symbol, iterate over its content etc. 23:38:28 -!- Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has left #lisp 23:39:23 -!- slash_ [n=Unknown@p4FF0B53C.dip.t-dialin.net] has quit ["leaving"] 23:39:23 gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has joined #lisp 23:39:38 you set contents of the variable, bound to that symbol, and each thread has its own binding 23:39:39 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 23:40:51 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 23:41:04 ltriant [n=ltriant@202.136.38.162] has joined #lisp 23:41:09 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Remote closed the connection] 23:41:21 and, i don't know why you are thinking about this when you have symbol from a different package, you will have the same situation with your own symbols 23:43:05 -!- Jabberwockey [n=Tumnus_@port-718.pppoe.wtnet.de] has quit [Remote closed the connection] 23:43:50 stassats: you're absolutely right. the bindings are established in the macroexpanded code anyway. 23:44:50 kniferegime [i=veska@mm-26-217-84-93.dynamic.pppoe.mgts.by] has joined #lisp 23:45:17 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 23:45:35 stassats: thank you for your patience 23:45:44 *kami-* should get some sleep instead of chasing non-problems 23:45:50 -!- gemelen [n=shelta@shpd-92-101-158-237.vologda.ru] has quit ["I wish the toaster to be happy, too."] 23:48:58 *stassats* found some issue in CCL, while playing with delete-package 23:50:28 good night 23:50:36 -!- kami- [n=user@unaffiliated/kami-] has left #lisp 23:50:37 yangsx [n=yangsx@123.112.18.190] has joined #lisp 23:51:39 lemoinem [n=swoog@modemcable125.83-81-70.mc.videotron.ca] has joined #lisp 23:53:24 gigamonkey [n=user@adsl-99-50-125-244.dsl.pltn13.sbcglobal.net] has joined #lisp 23:53:30 -!- ruediger [n=ruediger@62-47-143-186.adsl.highway.telekom.at] has quit [Remote closed the connection] 23:54:59 ayrnieu [n=julianfo@c-98-194-108-33.hsd1.tx.comcast.net] has joined #lisp 23:55:07 -!- kniferegime [i=veska@mm-26-217-84-93.dynamic.pppoe.mgts.by] has quit ["welcome"] 23:57:19 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 54 (Connection reset by peer)]