00:01:35 symbole [~user@216.214.176.130] has joined #lisp 00:02:45 Xach: should have just pasted but if not it's http://paste.lisp.org/+2HY8 00:07:28 davertron: there's yer problem right there 00:07:31 -!- The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has quit [Ping timeout: 240 seconds] 00:08:16 -!- ajmorgan [~ajmorgan@70.102.51.102] has quit [Quit: ajmorgan] 00:08:36 davertron: what does (asdf:system-source-directory 'cffi) show you? 00:08:43 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 00:08:43 ajmorgan [~ajmorgan@70.102.51.102] has joined #lisp 00:09:34 Xach: #P"/usr/share/common-lisp/source/cl-cffi/" 00:10:23 davertron: i bet that is the source of your problem. maybe try uninstalling cl-cffi? 00:10:40 Xach: worth a shot, i'll get rid of it 00:10:55 -!- carlocci [~nes@93.37.197.198] has quit [Quit: eventually IE will rot and die] 00:11:10 after that, (asdf:clear-system 'cffi) and quickloading it again might do the trick. 00:11:52 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 00:13:37 Xach: seems to have gotten me farther anyway 00:13:51 Xach: looks like I'm now hitting an error with the cffi sdl stuff... 00:14:02 oh? annotate paste? 00:15:11 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 00:15:18 Xach: annotated :) 00:15:45 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 00:15:58 need more backtrace 00:17:17 -!- attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has quit [Ping timeout: 265 seconds] 00:18:43 Xach: backtrace added 00:19:27 -!- urandom__ [~user@p548A689B.dip.t-dialin.net] has quit [Remote host closed the connection] 00:20:01 hmmm 00:20:18 davertron: might want to remove ~/.cache/common-lisp/ - i think it might be stale fasls. 00:21:13 LiamH [~healy@pool-72-75-78-43.washdc.east.verizon.net] has joined #lisp 00:21:40 -!- HG` [~HG@xdsl-92-252-105-72.dip.osnanet.de] has quit [Quit: Leaving.] 00:21:57 Xach: looks good now :) 00:22:00 woo 00:23:41 V-ille [~ville@70.42.89.16] has joined #lisp 00:24:28 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Remote host closed the connection] 00:26:19 Xach: thanks! 00:26:32 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Remote host closed the connection] 00:26:33 glad it works now! sorry it was such a hassle. 00:27:11 _danb_ [~user@124-149-32-186.dyn.iinet.net.au] has joined #lisp 00:27:17 Xach: nah, wouldn't have been if I knew what I was doing :) 00:28:29 *hefner* doesn't see how you can legally use LGPL code in an iPhone app, either. There's no way to relink the code and run it or swap out shared libraries. If you added one, Apple wouldn't distribute your app. 00:29:59 unless it suffices to give them the executables/shared libraries, a pile of object files, whatever, and leave the problem of how to get it on the device and run it to the user. 00:30:00 hefner: it's debatable... if you publish enough material to reconstruct the binary, you're not held responsible for ensuring that the user can run it, afaik 00:30:17 otoh, I can't speak about USA 00:31:01 Hey all, getting this issue when trying to (use-package ...) 00:31:07 USE-PACKAGE # causes name-conflicts in # between the following symbols: VANA-TEMPLATING:FORM, COMMON-LISP-USER::FORM 00:31:29 I'm not sure how to have vana-templating's form take over 00:32:31 look for a form function in the vana-templating package and qualify that with a package name before it's name 00:32:32 seangrove: not generally a good idea to use-package things into cl-user. better to make your own package and be explicit about what you want there. you can even decide who gets preference. 00:33:00 I end up making a lot of packages though... it feels a bit java-ish 00:33:28 that's a false feeling. working in cl-user is not normal most of the time. 00:33:42 seangrove: code that's stored in a file is probably meant to be reused, and, as such, deserve a package. 00:33:48 Ah, ok 00:34:04 Xach: That's what pops up in the repl, so I assumed that's where I was meant to work 00:34:13 Just got into packages today because of PCL 00:34:18 Wonderful things :) 00:34:37 seangrove: it's ok for some stuff, but as soon as you want to start playing with new package structure, better to make your own. 00:34:40 seangrove: it's a good default for one-time hacks. 00:35:42 And is there a way to export all of the defun's in a file without explicitely writing them into :export ? 00:35:46 -!- Guthur [~Guthur@host86-136-51-90.range86-136.btcentralplus.com] has quit [Quit: Leaving] 00:35:59 seangrove: no. 00:36:12 seangrove: packages export symbols. And, "you don't want that". 00:36:24 Heh, ok 00:36:27 I had a feeling 00:36:46 I just have ~100 symbols for one of the packages, and it felt a bit repetitive 00:37:02 seangrove: you just started today and you have 100 symbols? 00:37:08 that is a lot of symbols per hour! 00:37:26 Copy and paste, baby :) 00:37:35 What are the symbols for? 00:38:25 _nix00 [~Adium@114.92.103.175] has joined #lisp 00:38:43 -!- _nix00 [~Adium@114.92.103.175] has left #lisp 00:38:45 salva [~salva@105.11.117.91.dynamic.mundo-r.com] has joined #lisp 00:38:59 hi 00:39:04 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Quit: It's getting dark, too dark to see.] 00:39:06 Xach: http://paste.lisp.org/display/116578 00:39:10 -!- gravicappa [~gravicapp@ppp85-140-116-26.pppoe.mtu-net.ru] has quit [Ping timeout: 272 seconds] 00:39:38 -!- ikki [~ikki@200.95.162.219] has quit [Ping timeout: 264 seconds] 00:40:08 im trying to install hunchentoot an im gettin this error NEW darcs get babel 00:40:08 darcs failed: unrecognized option `--lazy' 00:40:38 salva: Try quicklisp? 00:41:26 i never see it, i view the chanel now and i going to see his web now 00:41:30 seangrove: it might make sense to output an export list programmatically from your list of html5 tags. Why is that a function, though? 00:41:38 (html5-tags, that is). 00:41:45 oh, no reason 00:41:51 Bit of cruft, I believe 00:42:01 When I was developing, I used (defvar ...) 00:42:18 seangrove: I think it'd be better to use a macrolet to expand into defuns than a bunch of (setf (fdefinition ...) ...) stuff. 00:42:20 But whenever I updated the tag list and compiled with C-c C-k, the changes never took effect 00:42:37 seangrove: that's orthogonal to defun or defparameter. 00:42:37 Ugh, a macro-*let*? 00:42:51 In both cases, you have to re-execute the forms that depend on the tag list. 00:42:54 Though they don't have do be functions at all. 00:42:57 also, if you don't care about the result of map, use (map nil ...), or mapc, for lists. 00:43:08 *seangrove* just got basically comfortable with macros, and then stumbled on how awesome reader macros are... and now a new contented has entered: the macrolet 00:43:23 seangrove: Why the ugh? 00:43:40 Just a surprise to see yeat another macro* :) 00:43:58 it's the walking one 00:44:02 seangrove: quicklisp is better that clbuil? 00:44:09 macrolet is for defining local macros. and when used at the toplevel it preserves toplevelness. 00:44:14 salva: It's quite nice for the packages it has 00:44:28 salva: It does part of what clbuild does. 00:44:35 wait until he gets to compiler macros... 00:45:01 salva: I think it is pretty good at that part, but if you want the other parts, it doesn't replace clbuild. 00:45:10 something is broke with moptilities 00:45:34 i only use clbuild to get lisp libraries 00:46:13 salva: i think quicklisp is better than clbuild for that purpose. 00:46:26 salva: try it and see - you can always switch back. 00:46:33 but this error NEW darcs get babel 00:46:33 darcs failed: unrecognized option `--lazy' 00:46:47 salva: maybe you need a newer version of darcs. 00:47:22 ok thanks, ill try quicklisp 00:48:42 heh 00:49:17 schell [~schellsci@c-76-103-111-173.hsd1.ca.comcast.net] has joined #lisp 00:50:03 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 00:51:30 -!- jeti [~user@p548EAF4C.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:53:13 Ralith_ [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 00:53:29 -!- Ralith [~ralith@S010600221561996a.vc.shawcable.net] has quit [Read error: No route to host] 00:56:23 -!- redline6561 [~redline@c-66-56-55-169.hsd1.ga.comcast.net] has quit [Ping timeout: 245 seconds] 00:58:12 -!- christoph_debian [christoph@cl-1281.dus-01.de.sixxs.net] has quit [Remote host closed the connection] 00:58:16 ananthrk [~ananthrk@173-13-186-118-sfba.hfc.comcastbusiness.net] has joined #lisp 01:02:06 -!- kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has quit [Quit: kclifton] 01:02:07 If I have a (defpackage :example ...) (in-package :example) and I check a subdir for all *.lisp files, read them in and execute them, will everything they contain be inside of only the :example package? [assuming there is no new (in-package :foo) that are inside] 01:06:23 -!- salva [~salva@105.11.117.91.dynamic.mundo-r.com] has quit [Quit: salva] 01:06:54 -!- ananthrk [~ananthrk@173-13-186-118-sfba.hfc.comcastbusiness.net] has left #lisp 01:08:48 -!- zeroish [~zeroish@135.207.174.50] has quit [Remote host closed the connection] 01:08:57 the symbols will be interned through the reader, the reader belongs to cl package 01:09:09 not ? 01:09:26 and keywords will go into the :keywords package 01:10:03 Hmm 01:10:36 they won't be interned into the package you want, unless you did a usepackage :foo before 01:10:37 How can I add more symbols to a package that's already been declared? 01:11:09 import or import-from 01:11:37 seangrove: INTERN would be a good start... Or EXPORT if you're looking for external symbols, or re-declaring the package "works" in most implementations. 01:11:49 so you can import symbols either directly by name or better with tellilng from which package 01:12:18 Wait... there's something confusing here. 01:12:22 Heh 01:12:25 I'm outside of the package 01:12:32 oh 01:12:37 then you are in cl-user 01:12:39 I'd like to then, from the outside, put symbols (a new function) into the package 01:12:46 Sure, for example 01:12:53 Or some other package 01:12:55 Use in-package or an explicit package prefix. 01:13:11 nyef: for defun? 01:13:27 import-from in combination with export-to maybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbe ? 01:13:29 ups 01:13:30 sorry 01:14:18 nyef: If from cl-user I try (defun vana-templating:example () (format t "something")), I get: 01:14:35 SB-INT:SIMPLE-READER-PACKAGE-ERROR at 30 (line 1, column 30) on #: Symbol "EXAMPLE" not found in the VANA-TEMPLATING package. 01:14:49 Seems like I have to put it in the package from the inside first 01:15:01 Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has joined #lisp 01:15:03 But I can redefine an already existing symbol 01:15:51 Use a double-colon? 01:15:59 It then won't be an external symbol, but it should compile. 01:16:33 That did work, but I'm confused about the difference 01:17:35 So it's not an external symbol, but it's still within the package? 01:18:40 not exported symbols are not external 01:18:44 syntard__ [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has joined #lisp 01:19:03 or only exported symbols are external 01:19:05 -!- dfox [~dfox@ip-89-176-11-19.net.upcbroadband.cz] has quit [Ping timeout: 276 seconds] 01:19:22 Ok 01:19:32 So what does the double colon make the symbol? 01:19:49 that makes the symbol go into the keywords package 01:19:55 a universal bin for symbols 01:20:10 like a trash can 01:20:18 lol 01:21:05 -!- ziarkaen [~ziarkaen@stu301.queens.ox.ac.uk] has quit [Ping timeout: 265 seconds] 01:21:16 What's the practical difference, other than using double colons? 01:21:25 they only get swept away by gc, when the smybols gets unbound to it's value or it's other symbol structures 01:21:39 seangrove: : is for accessing exported symbols. :: can be used for non-exported ones. that is all. 01:21:40 -!- schell [~schellsci@c-76-103-111-173.hsd1.ca.comcast.net] has quit [Quit: schell] 01:21:41 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 01:21:58 -!- LaPingvino [~LaPingvin@187.87.224.70] has quit [Remote host closed the connection] 01:22:00 schmrkc: Is it bad practice to use it? 01:22:07 yep :: is qualifying 01:22:27 -!- syntard [~chatzilla@204.51.92.251] has quit [Ping timeout: 240 seconds] 01:22:30 seangrove: If you find yourself having to use it then probably the interface to your package needs redesign. 01:22:30 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 01:22:40 it is explicit 01:22:41 -!- syntard__ is now known as syntard 01:22:45 seangrove: Unless it is some bizarre edge case. 01:23:18 there are some bizarre edge cases 01:23:29 TraumaPony [~TraumaPon@203-214-104-67.dyn.iinet.net.au] has joined #lisp 01:23:30 seangrove: Like for cl-sdl's joystick support. a lot of the functions one needed were not exported. So I hade to :: and file a bit of a bug report. 01:23:47 yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has joined #lisp 01:23:47 One further aspect is that with the double-colon, the symbol will be /created/ in the package if necessary. 01:23:55 I have also encountered using :: with clx. 01:23:55 like when a package's symbols is the same as another ones, and they get exported both into the cl-user global top-level 01:23:56 why would i use setf vs. setq? 01:24:05 yates: You always use SETF 01:24:07 (or vice versa) 01:24:21 then the reader asks what is should chose for 01:24:24 thanks guys, sounds pretty good 01:24:33 schmrkc: why? 01:24:39 yates: "why" is because SETQ is confusing to read. 01:25:07 yates: One could argue that SETQ is more specialised or whatever, and that you should use it when you can. 01:25:12 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 01:26:33 yates: SETF likes to expand to SETQ so is alright, ya? 01:26:44 i guess one reason is that you can use macro syntax in setf whereas you couldn't in setq? 01:26:51 schmrkc: i guess... 01:27:06 yates: SETF can be used for more places than SETQ, ya. 01:27:17 hmm maybe not more places. but for more forms anyway ;) 01:27:51 yates: setq is pretty much only for variables. 01:28:07 var---a symbol naming a variable other than a constant variable. 01:28:21 schmrkc: and symbol macros. 01:28:48 pkhuong_: oh neat. 01:29:22 yates: (defvar *foo*) (macroexpand-1 '(setf *foo* nil)) . I rest my case. never no need for typing setq ;) 01:29:39 -!- Yuuhi [benni@p5483A6BB.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:30:25 hm 01:31:27 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Ping timeout: 240 seconds] 01:32:59 yates: I use setq for saying nothing special's going on 01:33:21 schmrkc: no need for defvar there 01:33:36 macroexpand-1 doesn't actually evaluate it 01:33:49 what an interesting point. 01:34:14 (: 01:34:28 good call for the yates 01:34:46 tcr: i've got a ton of setq stuff in my emacs init.el file, from when i didn't know what i was doing... 01:35:02 not that it's wrong. 01:35:03 elisp is a different beast. 01:35:10 yeah, i know 01:35:41 ok, back to pcl 01:35:48 i hate - i mean love - that book 01:36:01 (: ya it's quite good 01:36:08 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 276 seconds] 01:36:18 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 01:36:28 tedious, but good 01:37:00 i've made it to chap 4 now - woo-hoo! 01:38:23 Any way to pluralize/singularize a word? 01:38:35 ? 01:38:42 +s -s, add nothing ? 01:38:59 Similar to rail's inflector 01:39:01 Look in your nearest english grammar book? 01:39:13 Heh, thank you :) 01:39:16 How does rail's inflector work? 01:39:35 List of basic rules, and then the exceptions 01:39:43 ese, eses maybe too or so 01:39:59 seangrove: I don't understand at all. 01:40:05 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 01:40:05 http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-singularize 01:40:11 You mean pluralise a string ? 01:40:19 yes 01:40:32 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 01:40:38 Wouldn't you need some crazy lookup for that? 01:41:00 No, just some basic general rules, and then the exceptions 01:41:06 It's really quite well done 01:41:25 what's plural of cactus? 01:41:27 And of course the reverse: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-pluralize 01:41:41 checking 01:41:44 bah - heresy 01:41:46 There are a shedload of exceptions, and of course words with more than one plural, like syntard said. 01:42:20 cactuses 01:42:28 O_o 01:42:31 or cacti 01:42:39 catii 01:42:39 "From The Collaborative International Dictionary of English v.0.48 [gcide]:" 01:42:43 cactii 01:43:19 Does it correctly singularise both forms? 01:43:26 *franki^* funds this interesting 01:43:34 s/funds/finds/ 01:43:55 I suppose I should just look at the source 01:43:56 seangrove: I know of nothing of the sort for CL. Should be easy enough to write something though ? 01:43:58 syntard: (global-set-key [(control ?8)] 'dictionary-lookup-definition) 01:44:53 No, it doesn't get cactus right :) 01:45:04 just finished checking 01:45:08 schmrkc: I think so yeah 01:45:16 yates: i don't have that word 01:45:18 Thought I read somewhere that lisp had it already 01:45:25 I guess I won't use rails for writing my peyote webshop then. 01:45:45 schmrkc: Well, it's nice in the you can open up the list of exceptions and put them in 01:45:45 seangrove: FORMAT has some pluralising thing. But it is nothing like this thing. 01:45:52 Then it just works 01:45:56 schmrkc: Ok, thanks :) 01:46:07 seangrove: But it's really just writing a (pluralise ...) 01:46:14 Vicfred [~Vicfred@189.228.11.235] has joined #lisp 01:46:20 also your lisp will explode if you name it pluralize 01:46:21 Yup! 01:46:35 heh 01:46:43 I guess one could even add some interesting keywords to control pluralisation. 01:47:05 bugger to write up all the rules. What's the use case for this sorta thing? I can pretty much only think of webshop :) 01:47:22 I guess maybe for a game. 01:47:23 hmm. 01:47:23 Or a game 01:47:25 Heh 01:47:29 pluralising game 01:47:30 Heh, working on a website in lisp 01:47:41 Bit silly I suppose 01:47:47 1 super laser. 2 super lasers. Makes sense. 01:47:49 But nice way to learn by doing something useful 01:47:59 for some value of useful anyway ;) 01:48:04 True, true 01:48:06 But I agree. Learn by doing is the best. 01:49:37 http://xach.livejournal.com/277033.html?thread=652841#t652841 01:55:07 -!- Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has quit [Ping timeout: 240 seconds] 01:57:12 Can I convert a string to a symbol without actually creating that symbol in my current package? 01:57:52 seangrove: in what package do you want it to be? Or do you just want an uninterned symbol (once that you can't type). 01:58:13 Interned makes it become part of the current package, right? 01:58:26 So an uninterned symbol would just be a symbol floating around? 01:59:10 it's just a symbol, without any link from a global name -> symbol mapping (which is what interning does, so that you get the same symbol when you type just the right thing) 01:59:17 -!- jconrad [~jconrad@host109-153-55-121.range109-153.btcentralplus.com] has quit [Quit: jconrad] 02:00:35 ok, think I (more or less) got it :) 02:00:44 And that's not what I need, I just need to use hash tables 02:02:28 -!- pavelludiq [~quassel@91.139.196.22] has quit [Read error: Connection reset by peer] 02:03:01 Saturnation [~dsouth@71.169.180.213] has joined #lisp 02:03:21 The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has joined #lisp 02:06:04 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 02:06:26 jleija [~jleija@user-24-214-122-46.knology.net] has joined #lisp 02:10:54 seangrove: i want to say format has a pluralize directive 02:11:48 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 02:12:30 seangrove: http://www.lispworks.com/documentation/HyperSpec/Body/22_chc.htm 02:12:57 Thanks derrida! 02:13:15 Looks like it doesn't go the other way... 02:13:17 but a good start! 02:14:51 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #lisp 02:15:23 -!- nyef [~nyef@pool-64-222-179-143.man.east.myfairpoint.net] has quit [Quit: G'night all.] 02:16:14 Right. It is nothing as good as this rails thing. 02:16:56 -!- xyxxyyy1 [~xyxu@116.227.197.79] has quit [Ping timeout: 240 seconds] 02:19:19 -!- kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has quit [Remote host closed the connection] 02:19:58 schmrkc: oops missed that you had already said that hehe 02:24:05 I can't seem to figure out how to capture groups with cl-ppcre 02:26:20 Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #lisp 02:26:28 bah! 02:26:36 \\1, not \1 02:26:48 *seangrove* remembers suddenly it's lisp 02:30:49 abend_ [~alx@delta.muted.org] has joined #lisp 02:31:41 Zeiris_ [~Zeiris@66.183.73.102] has joined #lisp 02:32:09 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 250 seconds] 02:33:44 -!- Steven_ is now known as sdsds 02:35:00 seangrove: lisp string handling is pretty, no? :) 02:36:31 is there a lisp API to nokia's qt library? 02:37:12 i don't see one right off on the nokia site 02:38:31 commonqt 02:38:48 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp 02:39:44 xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has joined #lisp 02:39:54 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Read error: Connection reset by peer] 02:39:56 yates: Is there something that makes it different from normal qt? 02:40:10 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 02:40:10 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 02:40:10 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 02:40:37 one writes normal qt in C++ 02:41:05 just a curious george question at this point 02:41:18 *schmrkc* shrugs. There are qt bindings for a number of languages. If nokia's qt is the normal qt I see no reason for why commonqt or that other qt library should not work. 02:41:29 Provided they're not abandond and broken 02:41:36 heh 02:41:38 abandoned too. 02:41:44 that too, yes 02:41:44 welcome to the world of lisp GUI ;) 02:41:52 how does this sound for finding the largest suffix that is a palindrome of a given string: create suffix tree of given string in O(n) time, starting from last character in given string traverse down suffix tree if that character is in tree, continue down tree as long as a character exists, and when you reach $(to denote the end of a suffix), you have found your suffix. Otherwise, no such suffix exists. (the search here is the length of the string in 02:42:02 looks like lispworks has a special gui library 02:42:08 my how objective is to try and get this done in O(n) 02:42:10 but for big $$$ 02:42:15 yates: Would one not have to compile stuff and deliver a binary to actually run on the nokia device though? 02:42:16 -!- dlowe [~dlowe@c-66-30-112-95.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 02:42:23 i'm just looking for feedback 02:42:56 *schmrkc* googles palindrome. 02:43:04 schmrkc: yes, but i wasn't thinking of targeting a mobile device, rather my linux desktop 02:43:29 yates: if you're commercially selling software, I think funding a purchase of LW wouldn't be that hard if you can deal with ~110 EUR/month 02:43:54 yates: Oh ok. It looks like Nokia QT SDK is pretty much Qt + "some other stuff". So maybe just normal Qt for desktop? there's some library called something with smoke. I forget. 02:44:11 schmrkc: yeah, that's the commonqt 02:44:21 schmrkc: a palindrome can be written forward or backwards and still communicate the same information, say 11011 or radar as an example 02:44:31 rff: only suffixes? 02:44:36 schmrkc: it's POSIX compat libraries + Qt for mobile 02:44:39 pkhuong_: yeah 02:44:40 rff: Personally I think I'd make a copy of the string that was reversed. and loop 'em both. 02:44:47 p_l|home: just wondering about the possible alternatives at this point really 02:44:59 but at this point 110 Eur/mo is pretty steep 02:45:15 schmrkc: well my reasoning is correct for why my approach is O(n), yes? 02:45:16 yates: cl-smoke there is too. 02:45:25 rff: I have no idea really. I got a headache reading it :S 02:45:40 yates: well, you won't really need it unless you're going with apropriately priced product... 02:45:48 i'm sure it's a grate product, though - i took a look at their showcased products and they are way cool - especially the behavior analytics stuff 02:45:55 doh 02:45:59 s/grate/great/ 02:46:14 weird - i don't usually misspell that one 02:46:17 the quote was assuming a standard business loan with 12 monthly repayments 02:46:21 bummer. well the main idea is that you can create a suffix tree in O(n) time and you can search for patterns in O(dm) time where d is your alphabet and m is the length of your pattern 02:47:15 pricing the product is easy - getting customers to buy it at that price, not so much 02:47:50 It's not really a very steep price for computer software. 02:48:01 rff: there is always a palindromic suffix; the empty string of a single character is a palindrome. GIven that there is a possibility for failure in your sketch, things don't look good. 02:48:13 I think I'm a bit confused about the output of cl-ppcre:regex-replace 02:48:20 $3500? if you're in the big leagues, no. one-man garage? too much 02:48:29 (cl-ppcre:regex-replace "notfound$" "catr" "s") 02:48:30 "catr" 02:48:30 NIL 02:48:33 yates: Well sure. They're not targetting one-man garages :) 02:48:47 yates: send them an email and see if they can arrange a deal. 02:48:48 What's that second value down there? 02:48:56 yates: well, 1200 EUR for the standard version, and it includes a royalty-free deployment license 02:49:01 If the regex matches, it's t 02:49:23 seangrove: I'd consider reading the documentation 02:49:23 It seems like it always returns the original string, and then separately, whether any changes were made 02:49:36 pkhuong_: Not a bad suggestion... been going through it 02:49:38 But not in this case 02:50:02 p_l|home: yeah, that is definitely a great policy 02:50:36 are we really at >2USD/EUR now? 02:50:36 pkhuong_: It's more that my confusions stems from it seemingly returning two values 02:50:50 But I can't do (second ) of the return value 02:50:57 clhs values 02:50:57 http://www.lispworks.com/reference/HyperSpec/Body/a_values.htm 02:51:01 yates: 1 Euro = 1.3694 U.S. dollars says google. 02:51:14 pkhuong_: I had heard of this mysterious lisp ability, first time hitting it 02:51:43 very cheap USD. Maybe time to buy some. 02:51:59 ,(* 1.3694 1200) 02:52:33 specbot: (* 1.3694 1200) 02:52:47 $#*()@! 02:53:22 pkhuong_: actually, it would always return the last character if nothing larger was found as that would certainly qualify as a suffix that is a palindrome. consider the string "abc", its suffix tree would have nodes: "abc$", "bc$", "c$" and if i traverse down this suffix tree as I traverse the string in reverse, I would have the result of "c$" 02:53:41 pkhuong_: if this is not what you were saying would be a problem, do you have a concrete example of what would cause a problem? 02:53:52 pkhuong_: How can I get to that second value? None of the examples on the page show it 02:54:03 yates: cutting off transmission is a time-proven way to preserve one's signal to noise ratio. 02:54:04 -!- dfkjjkfd [~paulh@236-9-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 02:54:16 seangrove: look in the related section. 02:54:42 rff: I'm just pointing out that your sketch had "Otherwise no such suffix exists", which is suspect. 02:54:43 ah, that's quite ugly 02:54:43 aeroegnr [~aeroegnr@99.66.45.90] has joined #lisp 02:54:44 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 02:54:50 ah, yes 02:55:08 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 02:55:11 yates: ~$1650 02:55:11 adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined #lisp 02:55:12 that is definitely mistaken 02:55:41 p_l|home: right (slime told me that too) 02:56:43 so cheaper in the US, huh? 03:03:51 -!- Ralith_ is now known as Ralith 03:04:26 rff: I think you can do it without the temporary suffix tree. 03:05:07 probably but I'm just messing about with them, learning their properties, what they are good for, etc. 03:08:20 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 255 seconds] 03:08:49 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 03:11:10 -!- rahul [~rjain@66-234-32-150.nyc.cable.nyct.net] has quit [Ping timeout: 272 seconds] 03:11:20 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 03:12:26 Ok, think I finished porting the rails singularize/pluralize 03:12:40 rahul [~rjain@66-234-32-150.nyc.cable.nyct.net] has joined #lisp 03:12:41 Turns out neither emacs, scheme, nor sbcl exploded at the naming :) 03:12:50 Ah, I have irregulars I have to do 03:13:38 -!- The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has quit [Ping timeout: 276 seconds] 03:14:35 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 03:18:07 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 03:18:58 _nix001 [~Adium@114.92.112.175] has joined #lisp 03:19:01 -!- _nix001 [~Adium@114.92.112.175] has left #lisp 03:19:52 -!- stokachu [~user@nat/redhat/x-cqtsppncwtausrhc] has quit [Read error: Connection reset by peer] 03:20:16 stokachu [~user@nat/redhat/x-burocbtaixrpfyeq] has joined #lisp 03:22:11 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 03:24:46 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Client Quit] 03:25:18 Kurou [~kurou@114.17.50.123.ap.yournet.ne.jp] has joined #lisp 03:29:30 did you have something specific in mind that did not involve the suffix tree? 03:29:40 pkhuong_ 03:30:19 I'm trying (not too hard) to work a proof out. 03:37:54 -!- billr [43a45d64@gateway/web/freenode/ip.67.164.93.100] has quit [Quit: Page closed] 03:38:50 -!- LiamH [~healy@pool-72-75-78-43.washdc.east.verizon.net] has quit [Ping timeout: 276 seconds] 03:38:50 -!- holycow [~new@poco208-2.fredcanhelp.com] has quit [Ping timeout: 245 seconds] 03:41:02 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 03:45:50 _nix00 [~Adium@58.33.105.43] has joined #lisp 03:46:02 -!- _nix00 [~Adium@58.33.105.43] has left #lisp 03:51:17 Good morning everyone! 03:51:28 dys` [~andreas@krlh-5f7269e4.pool.mediaWays.net] has joined #lisp 03:52:43 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 03:53:02 beach: ... please tell me you're in vietnam, not in france, at the moment... 03:53:33 beach: morning 03:53:38 p_l|home: But it is morning in france? :S 03:53:56 -!- dys [~andreas@krlh-5f72fea3.pool.mediaWays.net] has quit [Ping timeout: 276 seconds] 03:54:57 Sat Nov 13 03:54:57 UTC 2010 03:55:02 France is UTC+1 03:55:26 -!- Shaftoe [~Moe111@bas1-montreal02-1096728010.dsl.bell.ca] has quit [Quit: Shaftoe] 03:55:27 Yes. 03:56:17 beach freaks me out o_O; I mean, I have my sleeping issues, but people who wake up so early always spook me 03:56:20 p_l|home: I'm in sweden. We have the same timezone. Morning is pretty much 00-06. Then it's "förmiddag" 6-12 : 03:56:27 pffft 03:56:34 early bird catches the early computer terminal. 03:56:43 Which I guess is not relevant 2010 03:57:21 p_l|home: I try to schedule meetings with my clients 6 am saturdays. It never works out :( 03:57:25 schmrkc: I prefer to hog it at night :) 03:57:33 :) 03:58:09 I saw some documentary on this. Some people are, genetically, better for getting up early and some for being awake all night. 03:58:20 Apperently not so many of them that are the extremes though. 04:02:44 -!- Kurou [~kurou@114.17.50.123.ap.yournet.ne.jp] has quit [Quit: Leaving...] 04:03:55 p_l|home: I am in France. 04:04:01 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 04:04:14 p_l|home: Sorry to spook you. You are awake yourself. 04:04:30 p_l|home: I think he hasn't gone to bed yet. 04:04:33 eh 04:04:38 beach: I think he hasn't gone to bed yet. 04:04:44 Oh, that's possible. 04:05:10 Well, I woke up around 4:30 because I was thinking about a compiler-macro for APPEND. 04:05:50 -!- srolls [~user@c-76-126-221-48.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 04:06:53 kuafu [kuafu@120.83.204.105] has joined #lisp 04:07:21 sounds better than when I had vtable-induced nightmares 04:07:36 sure does :) 04:07:52 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Remote host closed the connection] 04:08:02 More than once has my fiancée pointed out to me that I was speaking lisp-related nonsense while sleeping. 04:09:37 hello? 04:09:41 sykopomp: And you are still together! :) 04:09:49 kuafu: Yes! 04:09:55 beach: 5 years in a month! :) 04:10:35 sykopomp: Congratulations! 04:10:40 funny 04:11:06 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 04:11:37 kuafu: New here? 04:11:51 yes,first time use irc 04:12:06 Welcome! What brings you to #lisp? 04:12:23 looking for somethine about neoengine 04:12:44 mek||malloc [~mek@wifi-roaming-159-137.nss.udel.edu] has joined #lisp 04:15:17 What's neoengine? 04:15:45 a 3d game engine 04:16:02 Is there a way to use the loop macro in such a way as to emulate a nested for loop (to perform matrix manipulation, for instance)? My attempts have resulted in a sequential updating of both variables, one after the other -- as opposed to the inner loop iterating until completion. 04:16:03 you're making a lisp game? 04:16:42 mek||malloc: sure, with nested loop forms. 04:18:01 no,nothing about lisp,we don't have any chance to know about lisp so much 04:18:20 pkhuong_: Is there any significance to the terminology 'outer' used in PCL's loop for black belts or is it just some ordinary variable. 04:19:22 kuafu: You have all the chance you want to learn lisp. I do imagine you will have a hard time finding good information on neoengine here though :) Maybe you should make some lisp bindings for it? 04:20:34 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 04:20:39 maybe,but too hard for me 04:21:14 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Ping timeout: 255 seconds] 04:23:10 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night] 04:25:40 -!- az [~az@p5796C3AB.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 04:26:14 -!- kuafu [kuafu@120.83.204.105] has quit [] 04:26:58 kuafu [kuafu@120.83.204.105] has joined #lisp 04:29:26 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 04:32:10 -!- Saturnation [~dsouth@71.169.180.213] has quit [Quit: Ex-Chat] 04:32:46 Is there any easy datastructure like a two-way alist? 04:33:39 syddraf [~syddraf@DHCP-129-59-160-57.n1.vanderbilt.edu] has joined #lisp 04:33:51 seangrove: what would a two-way alist allow? 04:34:06 seangrove: given a value, find the key? 04:34:14 and given the key, find the value 04:34:21 that's what a normal alist does! 04:34:26 oh? 04:34:27 see rassoc 04:34:32 hahaha 04:34:54 at least that's a slightly obscure name, and not "alist-value-given-key" 04:35:03 err, alist-key-given-value 04:37:02 Wow 04:37:05 That worked :) 04:37:21 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 04:40:40 nowhere_man [~pierre@AStrasbourg-551-1-98-163.w90-13.abo.wanadoo.fr] has joined #lisp 04:41:11 -!- kephas [~pierre@AStrasbourg-551-1-8-225.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 265 seconds] 04:41:12 -!- davertron [~david@c-24-218-166-166.hsd1.vt.comcast.net] has quit [Quit: Leaving] 04:44:11 *Xach* hasn't seen a question like "is there any way to get everything in a list but the last item?" or "is there a way to get the nth item in a list?" 04:44:17 ...in a few days, that is 04:44:46 Heh, silly question, I know 04:44:53 But glad there was such a nice answer 04:45:46 well, at least with those the answer is in the question (BUTLAST and NTH) 04:45:59 Yup, butlast... 04:46:05 *seangrove* remembers his first cs class 04:48:50 POSITION and FIND are particularly good. 04:53:55 az [~az@p4FE4ED14.dip.t-dialin.net] has joined #lisp 04:55:11 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Remote host closed the connection] 04:55:26 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 04:55:27 -!- aeroegnr [~aeroegnr@99.66.45.90] has left #lisp 04:59:14 -!- kuafu [kuafu@120.83.204.105] has left #lisp 04:59:24 I'm pretty stoked about this inflector 04:59:27 I think it works! 05:00:36 seangrove: nice. 05:05:11 seangrove: can it inflect carnegiea ? 05:06:19 syntard: It can if you tell it how to ;) 05:06:46 I'll post this on github 05:06:48 seangrove: it doesn't need an exception 05:06:52 Lemme see what you guys think 05:07:17 VANA-INFLECTOR> (pluralize "carnegiea") -> "carnegieas" 05:08:40 The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has joined #lisp 05:08:54 seangrove: and you rassoc for the singularize [sic] ? 05:09:40 yeah 05:09:48 lovely 05:09:57 dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 05:10:14 Is that bad? 05:10:55 I think it sounds great. 05:10:57 paste it 05:11:13 seangrove: It works. What else matters? That's my thinking. good work. 05:11:52 dun crash, fast enough, no worries. 05:14:29 TraumaPwny [~TraumaPon@124-148-41-235.dyn.iinet.net.au] has joined #lisp 05:14:32 -!- TraumaPony [~TraumaPon@203-214-104-67.dyn.iinet.net.au] has quit [Ping timeout: 276 seconds] 05:14:49 -!- TraumaPwny is now known as TraumaPony 05:16:50 petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has joined #lisp 05:19:50 -!- syddraf [~syddraf@DHCP-129-59-160-57.n1.vanderbilt.edu] has quit [Quit: Leaving] 05:21:26 Here's all of it https://github.com/sgrove/vana 05:21:39 I'll paste the relevant parts now 05:22:09 http://paste.lisp.org/+2HYF inflector 05:22:36 Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has joined #lisp 05:22:42 http://paste.lisp.org/+2HYG and the utils 05:23:11 -!- yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has quit [Ping timeout: 255 seconds] 05:29:42 you thought of everything 05:33:01 Could someone help explain why the for loop in 'rotate (matrix)' is never falling in to the when clause? http://paste.lisp.org/display/116585 05:34:24 Never mind, I might be an idiot and was referencing the wrong matrix. Shoot. 05:34:42 Also, I suggest using first and second instead of car, cadr in that context. 05:34:54 mek||malloc: It's cool how it always strikes you just after you post the question on the IRC (: 05:35:17 schmrkc: It is, but I apologize. I don't want to waste anyone's time. 05:35:41 mek||malloc: Eff. No time wasted. :) 05:35:50 Zhivago: I can do that, thank you for the suggestion. 05:36:44 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 05:37:33 Also, I should have use: for j to n, not below n. 05:38:25 Never mind. 05:38:31 *mek||malloc* grumbles at himself 05:40:34 -!- symbole [~user@216.214.176.130] has quit [Remote host closed the connection] 05:40:52 Zhivago: Thanks again for the stylistic suggestions. 05:42:27 Welcome. 05:45:50 -!- rff [~rff@ip72-207-243-174.br.br.cox.net] has quit [Ping timeout: 255 seconds] 05:49:52 -!- jleija [~jleija@user-24-214-122-46.knology.net] has quit [Quit: good night everyone] 05:54:50 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Ping timeout: 255 seconds] 05:55:27 araujo [~araujo@190.38.50.25] has joined #lisp 05:55:27 -!- araujo [~araujo@190.38.50.25] has quit [Changing host] 05:55:27 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 05:56:47 -!- The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has quit [Ping timeout: 265 seconds] 06:01:04 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 06:01:05 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 06:05:16 -!- xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has quit [Quit: leaving] 06:15:28 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 272 seconds] 06:21:18 dfox [~dfox@ip-89-176-11-19.net.upcbroadband.cz] has joined #lisp 06:21:50 chemuduguntar [~ravi@118-93-189-209.dsl.dyn.ihug.co.nz] has joined #lisp 06:25:08 -!- Fullma [~fullma@ram94-2-82-66-69-246.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 06:27:52 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 06:28:26 jerivard [~jerivard@c-69-181-250-45.hsd1.ca.comcast.net] has joined #lisp 06:31:59 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 06:36:51 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Remote host closed the connection] 06:37:21 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 06:37:45 zvrba [~zvrba@anakin.ifi.uio.no] has joined #lisp 06:37:53 hello 06:38:04 i have a list of digits, such as '(1 2 3) 06:38:11 how do I convert it to a string, like "123" ? 06:38:49 what is the inverse for char-int? 06:40:03 erm... I don't know of a built-in way of doing it... but I could think of the function I'd write 06:40:45 well, yeah, i can make a vector of digits as characters 06:41:12 hmm thats what she said 06:41:18 but i'd like to know about a built-in way, if any, for the inverse of char-int 06:41:46 what does this have to do with char-int? 06:42:02 adeht: there is char-int. i'm looking for its inverse. 06:42:13 do you know what char-int does? 06:42:32 returns the ascii code of the character. or whatever encoding LISP uses 06:42:42 it returns the same value of char-code 06:42:55 (code-char 65) => #\A 06:43:08 but maybe that's not wat yo're asking 06:43:14 erm.. sorry. lag. 06:43:19 yes, that's what i'm asking 06:43:21 thanks! 06:43:25 -!- dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 06:43:52 ekpneo: how did you dig this up? I actually searched the net before asking here. 06:44:22 I looked through the tab-completions of char in SLIME. Found char-code .. then code-char 06:44:41 and I remembered something in PCL that said something about it 06:45:10 (format nil "~{~A~}" digits) 06:45:14 zvrba: (defun compose (list) (flet ((combiner (x) (cond ((numberp x)(digit-char x)) ((character x))))) (if (null list) nil (read-from-string (concatenate 'string (mapcar #'combiner list)))))) -- Something like that would convert '(a b c) -> abc 06:46:21 zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has joined #lisp 06:46:35 mek||malloc: thanks, but this looks like an incredibly roundabout way of doing it 06:46:50 anyway, code-char is what I needed 06:47:04 why? how does it help in solving your problem? 06:47:05 I was going to suggest somtehing similiar to mek||malloc ... 06:47:07 ekpneo: hmm, if I write char- , SLIME expands only what begins with char 06:47:15 take off the - and tab 06:47:36 I still get only completions starting with char 06:47:39 may have to scroll down 06:47:52 no, no, they fit in half of a buffer 06:47:57 really? 06:47:59 yes 06:48:01 (apropos "char") 06:48:35 ccl returns a lot of built-in crap, how to filter that out? 06:48:39 (in ccl:: package) 06:48:53 or slime's apropos, `C-c C-d a char' 06:49:16 you can pass a second arg to apropos 06:49:18 clhs apropos 06:49:18 http://www.lispworks.com/reference/HyperSpec/Body/f_apropo.htm 06:50:33 another solution to your digits problem is (map 'string #'digit-char digits) 06:51:36 adeht: ohh, perfect. thanks! 06:54:14 zvrba: Just a note about terminology: (1 2 3) is not a list of digits, but a list of numbers. 06:55:42 it may be that the numbers represent digits (or weights, as digit-char would have it) 06:56:16 But they are still not digits, because a digit is a character. 06:56:30 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 06:56:34 ok 07:01:02 christoph_debian [christoph@cl-1281.dus-01.de.sixxs.net] has joined #lisp 07:01:13 -!- christoph_debian [christoph@cl-1281.dus-01.de.sixxs.net] has quit [Remote host closed the connection] 07:03:24 ost [~user@217.198.9.4] has joined #lisp 07:03:38 good morning 07:04:16 -!- mek||malloc [~mek@wifi-roaming-159-137.nss.udel.edu] has quit [Quit: Leaving.] 07:04:17 nefo [~nefo@unaffiliated/nefo] has joined #lisp 07:04:45 symbole [~user@ool-182ffe8f.dyn.optonline.net] has joined #lisp 07:08:35 man.. one fuction with an flet, I thought of doing something with a string-stream... and then the map solution comes along and kicks my butt. 07:09:40 -!- zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:10:35 daniel___ [~daniel@p50829BD5.dip.t-dialin.net] has joined #lisp 07:11:47 -!- daniel [~daniel@p5082BE1A.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 07:15:59 setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has joined #lisp 07:19:38 Is this room logged? 07:19:53 My computer just crashed, have no idea what people said about the vana inflector :P 07:21:24 minion the wise said: #lisp logs are available at http://ccl.clozure.com/irc-logs/lisp/ (since 2008-09) and http://tunes.org/~nef/logs/lisp/ (since 2000) 07:22:09 seangrove: not much 07:22:12 Jubb [~ghost@129.21.86.105] has joined #lisp 07:22:19 -!- dfox [~dfox@ip-89-176-11-19.net.upcbroadband.cz] has quit [Ping timeout: 240 seconds] 07:22:48 seangrove: something about ekpneo's butt 07:24:14 wha? 07:24:15 heh, alright :) 07:24:16 oh, right 07:24:42 kiuma [~kiuma@93-35-240-59.ip57.fastwebnet.it] has joined #lisp 07:25:50 -!- sigjuice [~sigjuice@c-71-198-22-233.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 07:30:34 trigen [~MSX@87.209.144.213] has joined #lisp 07:33:02 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 07:35:05 -!- gz [gz@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout] 07:35:11 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 265 seconds] 07:37:10 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 272 seconds] 07:41:40 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 07:43:19 chp [~chp@114.113.66.117] has joined #lisp 07:43:19 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Read error: Connection reset by peer] 07:48:29 -!- chp [~chp@114.113.66.117] has quit [Ping timeout: 250 seconds] 07:48:49 chp [~chp@114.113.66.117] has joined #lisp 07:52:11 The_Jon_Smith [~The_Jon_S@ip24-250-13-137.ri.ri.cox.net] has joined #lisp 08:01:29 -!- Zeiris_ [~Zeiris@66.183.73.102] has quit [Ping timeout: 250 seconds] 08:02:17 _pw_ [~user@125.34.41.58] has joined #lisp 08:02:26 -!- _pw_ [~user@125.34.41.58] has left #lisp 08:02:44 _pw_ [~user@125.34.41.58] has joined #lisp 08:04:10 churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 08:11:58 yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has joined #lisp 08:12:11 what is a fasl file? 08:13:22 a compiled lisp file? 08:14:12 yates: yes 08:14:30 is it an acronym? 08:14:42 fast loading file 08:14:42 FASt Load 08:16:35 ah. 08:16:36 thanks 08:21:40 pcl is starting to use the phrase "well-formed" - what does this mean? "well-formed lip forms" 08:21:54 s/lip/lisp/ 08:22:14 -!- phrixos [~miar1@bs0176.nerc-bas.ac.uk] has quit [Quit: leaving] 08:22:48 lisp slip 08:23:06 humasect: don't give me no lip 08:23:25 pils instead? =) 08:24:04 :) 08:24:14 LinGmnZ [~isra.wic@27.130.77.37] has joined #lisp 08:25:02 well-formed == evaluatable by the evaluator? 08:25:45 *humasect* slip into a spil while sipping on some pils with his lip in a lisp 08:25:47 yates: Probably refers to the syntax. Meaning, the expression follows the rules of lisp syntax. 08:26:10 Maou [~isra.wic@27.130.77.37] has joined #lisp 08:26:39 symbole: that sounds correct 08:26:54 makes more sense than what i put forward 08:27:11 there are well-formed forms that aren't evaluatable 08:27:15 PCL is online so you can always refer people to the exact location. 08:27:28 http://www.gigamonkeys.com/book/syntax-and-semantics.html 08:27:42 in the Macros section 08:28:17 -!- Maou [~isra.wic@27.130.77.37] has quit [Read error: Connection reset by peer] 08:28:19 -!- LinGmnZ [~isra.wic@27.130.77.37] has quit [Ping timeout: 240 seconds] 08:29:43 That makes sense. 08:29:49 spradnyesh [~pradyus@nat/yahoo/x-dplqwtgzxxnrtxfm] has joined #lisp 08:30:32 insomnia cured - going back to bed (3:30am EST) 08:30:54 Macros don't evaluate their arguments, so the macro expression could be (macro-name functio-name1 function-name2 ...). Can't have that in a regular function. 08:34:52 k 08:35:13 kushal [~kdas@fedora/kushal] has joined #lisp 08:43:28 -!- petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 08:44:35 -!- ASau [~user@77.246.230.250] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:45:05 bsod1 [~osa1@78.173.253.61] has joined #lisp 08:47:14 Does anyone know if the REPL in Lisp In a Box is specific to Common LISP/ LISP? 08:47:44 or is it just for this particular version/ package? 08:48:23 <_3b> if you mean SLIME, it is for common lisp in general (or at least most implementations of cl), and might work at least partially for a few other languages 08:49:04 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 08:49:29 <_3b> from what i remember though, lisp in a box is a bit outdated, so it might be more limited than a recent slime 08:50:08 -!- bsod1 [~osa1@78.173.253.61] has quit [Ping timeout: 245 seconds] 08:51:00 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 08:56:25 SV_Nik [~ngkhatu@99-89-3-67.lightspeed.sntcca.sbcglobal.net] has joined #lisp 08:57:08 -!- Silicon_Valley_N [~Silicon_V@99-89-3-67.lightspeed.sntcca.sbcglobal.net] has quit [Quit: http://irc2go.com/] 08:57:32 HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has joined #lisp 08:57:41 Hello World! 08:58:34 =) 08:59:20 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [Ping timeout: 255 seconds] 09:00:57 stassats [~stassats@wikipedia/stassats] has joined #lisp 09:01:33 -!- nefo [~nefo@unaffiliated/nefo] has quit [Quit: Leaving] 09:06:28 pavelludiq [~quassel@91.139.196.22] has joined #lisp 09:07:40 -!- SV_Nik [~ngkhatu@99-89-3-67.lightspeed.sntcca.sbcglobal.net] has quit [] 09:08:22 zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has joined #lisp 09:09:53 SV_Nik [~ngkhatu@99-89-3-67.lightspeed.sntcca.sbcglobal.net] has joined #lisp 09:13:57 anyone here experienced with LISP? 09:14:20 depends who you ask. 09:14:38 whoevers reading 09:14:39 lol 09:15:13 was wondering if the REPL is common to all of LISP 09:15:22 or just the Lisp in a box IDE 09:15:50 SV_Nik: As far as I've seen, pretty much all lisps utilize some sort of a REPL. 09:16:55 okay, thanks 09:16:56 got it 09:18:32 Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has joined #lisp 09:19:41 SV_Nik: Why do you ask? 09:19:57 -!- V-ille [~ville@70.42.89.16] has quit [*.net *.split] 09:19:57 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [*.net *.split] 09:19:57 -!- xristos [~x@2001:470:8859:cafe:20c:29ff:fe47:788] has quit [*.net *.split] 09:19:57 -!- borism [~boris@ec2-79-125-58-77.eu-west-1.compute.amazonaws.com] has quit [*.net *.split] 09:21:17 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 09:21:42 am trying to pick up Lisp 09:22:11 xristos [~x@2001:470:8859:cafe:20c:29ff:fe47:788] has joined #lisp 09:22:24 currently going through practical common lisp and lisp in a box 09:22:38 -!- xristos is now known as Guest10247 09:24:17 SV_Nik: you should also read the classics 09:24:43 Tolstoy and Dostoevsky? 09:24:58 SV_Nik: for example, the lambda papers, CLtL, CLHS, SICP 09:25:00 stassats: They lived in Roman days? 09:25:35 beach: i doubt that, do you think Romans knew Lisp better? 09:26:02 stassats: Not sure. My knowledge of history is a bit shaky! 09:26:30 adu: I don't think that is good avice at this point. 09:26:50 adu: SICP uses a different dialect, and CLtL is not quite standard. 09:27:03 yes, am not sure if I want to go that deep into it 09:27:09 and CLHS is too advanced 09:27:24 adu: It would be better to do PAIP after PCL I think. 09:27:28 common lisp seems to be the universal 09:27:40 no, it's common 09:28:06 why are there so many different dialects? 09:28:10 beach: i knew i was forgetting at least 2 09:28:21 SV_Nik: I doub't that CL exists outside Earth. 09:28:32 SV_Nik: There aren't. 09:28:39 SV_Nik: because some people don't like fun, er, i mean defun 09:28:41 SV_Nik: because two people can't ever agree 09:29:02 :/ 09:29:12 which one is best for AI 09:29:17 automation 09:29:21 SV_Nik: How many dialects do you know of? 09:29:29 SV_Nik: Asm 09:29:30 SV_Nik: Common Lisp 09:29:42 just read of about 4 or 5 different ones presented 09:30:02 SV_Nik: Asm isn't a dialect of lisp, its bare metal 09:30:04 SV_Nik: Where did you read about them? 09:30:05 okay, am on the right track... 09:30:13 wiki 09:30:22 and Practical Common Lisp 09:30:44 SV_Nik: I am willing to bet that most of them are no longer in use. 09:30:56 SV_Nik: the ones you really want to at least know about are CL, Clojure, and Arc 09:31:11 trigen [~MSX@87.209.144.213] has joined #lisp 09:31:13 yes, don't want to waste too much time on it. move forward u know... 09:31:16 Elisp and Scheme can be forgotten about 09:31:25 *ahem* 09:31:33 How popular is Ocaml as a second language among seasoned lispers? 09:31:33 adu: to know about Arc? 09:31:37 really? 09:31:54 adu: you speak nonsense 09:31:56 http://landoflisp.com/ 09:32:06 adu, elisp and scheme are very different 09:32:20 elisp for e.g. doesn't have lexical scope 09:32:24 yes, so are my foot and a horses butt 09:32:24 scheme on the other hand does 09:32:32 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 09:33:51 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 09:34:35 jconrad [~jconrad@host109-153-55-121.range109-153.btcentralplus.com] has joined #lisp 09:35:06 chemuduguntar: don't get me wrong, i <3 R6RS, but i don't think its really what SV_Nik needs right now 09:35:21 how do you know what anyone needs? 09:35:41 stassats: he's been telling us what he needs 09:35:50 and I've been listening 09:36:41 i think it's unwise for anyone to come to a conclusion 09:36:48 and suggested assembly and Arc, what the hell was that? 09:37:01 haha, just watch the vid on landoflisp 09:37:21 SV_Nik: you were supposed to scroll to the bottom 09:37:29 and dismissed Scheme 09:37:55 Arc is short, which is good 09:38:16 so is APL 09:38:26 and assembly is good to learn if you want your AI to become self-modifying 09:38:40 that is nonsense 09:38:43 -!- wbooze [~user@xdsl-87-79-140-119.netcologne.de] has quit [Read error: Operation timed out] 09:38:47 wbooze` [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 09:38:56 stassats: what part of that doesn't make sense? 09:39:01 homie` [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 09:39:52 ok, how about this 09:40:15 I won't "dismiss" Scheme if you don't dismiss Arc 09:40:41 is that an ultimatum? are you kidding me? 09:40:48 adu: You have a long history of speaking nonsense here. I suggest you quit doing that. 09:41:26 -!- homie [~user@xdsl-87-79-140-119.netcologne.de] has quit [Ping timeout: 264 seconds] 09:41:50 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 09:42:47 *_3b* reads a lot more academic papers using scheme than arc 09:45:11 adu: I just scrolled to the bottom. hilarious cartoon... 09:45:23 comic strip*** 09:45:33 :) 09:45:54 Why do I keep hearing LISP is soo much easier and bug free to work with? 09:46:08 <_3b> SV_Nik: propaganda 09:46:16 How come C++ seems to be industry standard... 09:46:23 hmmm 09:46:26 <_3b> have you ever worked in an 'industry'? 09:46:33 SV_Nik: propaganda 09:46:42 yes, not programming though 09:46:59 <_3b> well, how often were decisions made anywhere remotely intelligently? 09:47:01 I'm guessing its because everyone is writing in C++ 09:47:10 true... 09:47:37 SV_Nik: You seem to be a member of a large part of the population who, despite tons of evidence to the contrary, believe that when something is good, then this fact is recognized by industry. 09:48:15 it depends; bigger the corp the slower things move and the harder it is to make a wise decision 09:48:17 <_3b> beach: could be the part that thinks 'good for industry' means 'good for me' instead :) 09:48:30 what if industry has another definition of "good"? 09:48:37 SV_Nik: In reality, the software industry is very primitive, and its decision making process is based on rumors, fads, and reluctance by individuals to learn anything new. 09:48:57 SV_Nik: C++ is "safe" for executives, Lisp is "safe" for developers 09:49:09 true; I could see that if C++ is the industry standard it makes it easier for companies to hire and fire people 09:49:20 svnik: C++ is a better choice for large teams -- although java is probably better than C++. 09:50:01 I've only worked with C and Java so I can't speak too much for C++ and LISP 09:50:03 In much of the industry, the shallower the knowledge required for maintenance, the better. 09:50:26 Lisp tends to require deeper knowledge for maintenance, due to the extensibility of the language. 09:50:31 this is true 09:50:32 SV_Nik: ever heard of BETA? 09:50:53 no, what about it 09:51:09 Google it 09:51:32 its a good story about good vs. industry 09:51:36 It was a video tape format that failed, largely due to price and capacity limitations, although people like to think that it failed because people hate qualit. 09:51:50 ? second letter of greek alphabet? 09:52:09 i think the primary reason for c++ imo, is that it penalizes you the least for the abstractions one builds 09:52:12 barta? buta? bertha? 09:52:41 makes sense, it would be ideal of open source code... 09:52:45 SV_Nik: "beta tape" gives the first result correctly 09:53:37 tobik [~tobik@p54895C5D.dip.t-dialin.net] has joined #lisp 09:53:46 Beta mainly failed because it was too short for movies. :) 09:54:21 -!- symbole [~user@ool-182ffe8f.dyn.optonline.net] has quit [Remote host closed the connection] 09:55:11 *hefner* doesn't mind C++, but can't stand its fans. 09:55:41 I am a big fan of C 09:55:42 I see 09:55:43 they are smug and weenie too? 09:56:02 I C too 09:56:23 Beta vs. VHS is a good example, because quality won out. 09:56:32 Well it seems like Lisp is better for programming in smaller teams where knowledge can be transferred easily 09:56:34 stassats: they are, and they build horrible things. 09:56:47 lisp gets better as a project becomes more complex 09:56:53 In many regards the same applies to lisp -- you need to consider what is important to the market. 09:57:00 initially it is just a different syntax. try it out and see. =) 09:57:10 SV_Nik: Lisp is also a secret weapon 09:57:19 ? 09:57:30 secret weapon? 09:57:49 Just learn the language and make up your own mind -- there is too much propaganda on both sides to listen to. 09:57:55 SV_Nik: http://www.paulgraham.com/avg.html 09:57:58 -!- nowl [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has quit [Quit: Leaving] 09:58:10 -!- Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 09:58:26 -!- rwallace [~rwallace@89.100.128.108] has left #lisp 09:59:13 does anybody have a hardcopy of 'common lisp: gentle introduction to symbolic computation'? in the pdf and ps version on the website, figure 6-2 on page 188 is missing :( can't find it on google either 09:59:54 okay, CLers do hack up some horrible abominations too. 10:01:34 my favorite abomination is # syntax 10:02:11 trigen, i think i have it 10:02:52 oh ... it's missing on here 10:03:10 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit: adu] 10:03:42 morphling [~stefan@gssn-5f75706f.pool.mediaWays.net] has joined #lisp 10:04:13 adu: great article. thanks 10:04:13 drl [~lat@125.167.140.159] has joined #lisp 10:04:39 so if companies really want to become competitive I still don't see why not to use lisp? 10:04:47 chemuduguntar: okay, well I'll try to live without it. going to print a bunch of pages for reading.. 10:07:04 I guess I shouldn't question it. Just embrace it =) 10:11:08 -!- smanek [~smanek@206.111.142.135.ptr.us.xo.net] has quit [Read error: No route to host] 10:13:57 reav_ [~reav_@212.88.117.162] has joined #lisp 10:14:01 Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has joined #lisp 10:14:05 -!- Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has quit [Remote host closed the connection] 10:14:21 Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has joined #lisp 10:16:35 -!- gavv\w [~gavv@178.236.241.138] has quit [Read error: Connection reset by peer] 10:16:50 SV_Nik: Because you are still thinking of companies as rational and reasoning entities. In reality, they consist of people, and people not rational. In particular, as I said, in the software industry, they base their decisions on rumors and other irrelevant factors. 10:17:38 Or they are rational, and just don't have the same values as you. 10:17:54 Like beta, who didn't care that their customers wanted to watch movies. 10:18:17 So the customers 'irrationally' bought the lower quality competitor that did. 10:19:03 SV_Nik: A contributing factor is that the CEOs of many software companies are incapable of doing their job, which I consider to be applying their intuitions about software after having done all the calculations. Instead, they stop after the calculations, which makes them no better decision makers that Excel spreadsheets. I therefore think many of them should be replaced by such spreadsheets, because that would require much less mone 10:19:03 in bonuses. 10:19:04 Always assume that your opponent isn't stupid. If nothing else it will help you to stay honest. 10:19:22 smanek [~smanek@206.111.142.135.ptr.us.xo.net] has joined #lisp 10:19:24 those in power are unwise to wield it 10:19:30 those without power are too wise to care. =) 10:19:37 -!- Jubb [~ghost@129.21.86.105] has quit [Quit: Jubb] 10:19:42 Assuming that your opponent is stupid or evil means that you don't need to question your own beliefs. 10:19:50 (i forget how this went) 10:22:02 Zhivago: For what it's worth, I never mentioned the word "stupid", and I definitely don't think the people running companies are. Being ignorant, and being human (and thus victim of most psychological phenomena), is not the same as being stupid. 10:22:27 SV_Nik: A good reason for companies to use other things is the abundance of programmers for C/python/java/C#/...., also the multitude of easily accessible libraries etc. 10:22:30 Feel free to substitute 'irrational' for 'stupid'. 10:22:53 SV_Nik: php not to be forgotten, obviously. 10:26:43 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 10:27:41 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 10:27:42 Zhivago: Also, I am not assuming anything. I observe and describe. Notice that I didn't say "all", I said "many". And I am just talking about the ones I have seen. 10:28:34 beach: you assume all the time, just like everyone else 10:29:13 beach: btw I am reading Human Action by von Mises nowadays.. it may be an interesting read to you 10:29:43 beach: It would be more useful to consider that the people dissenting with you have good reasons, and to work out what those reasons are. 10:30:11 adeht: Thanks for the advice! 10:30:21 What is the state of the art in CL tokenizers? 10:31:13 _s1gma [~herpderp@77.107.164.131] has joined #lisp 10:31:28 Zhivago: Where did I say that they dissent with me? 10:32:27 That they were irrational, and if only they could see the light they would immediately use lisp and forswear all other languages. 10:32:37 bsod1 [~osa1@78.175.216.31] has joined #lisp 10:32:48 Yuuhi [benni@p5483CF65.dip.t-dialin.net] has joined #lisp 10:32:48 *hefner* stares curiously at "state of the art in CL tokenizers" 10:32:49 Zhivago: I have never said any such thing. You are making that up. 10:33:36 I am just boiling it down to the essence. 10:33:56 Zhivago: Now *you* are the one making incorrect assumptions about *me*. 10:34:08 schaueho [~schaueho@dslb-088-066-015-200.pools.arcor-ip.net] has joined #lisp 10:34:33 So, which part of that is incorrect? 10:35:07 Zhivago: the part that starts with ", and if..." 10:35:15 Nothing specific, then? 10:35:21 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 10:35:24 *sigh* 10:35:31 *beach* goes back to working on SICL. 10:35:31 Do you think that companies make rational decisions regarding language choice? 10:35:32 if I wanted to avoid writing an adhoc tokenizer I'd start by looking at nikodemus's esrap library or perhaps write my own PEG library (it's pretty easy) 10:35:47 Do you think that if they did, they would choose lisp? 10:35:50 there's also drewc's smug library 10:36:41 yes, this is true. Its probably a lack of knowledge with C class employees 10:36:54 but usually I stick with ad hoc tokenizers, because the languages aren't complex 10:37:01 among other factors 10:37:20 the CEO of our company is currently a sales guy 10:37:24 go figure... 10:38:38 SV_Nik: I don't think picking some-other-language-than-lisp is generally caused by lack of knowledge. 10:39:36 politics... finding employees that know lisp... I'm sure theres other factors? Im new to lisp... 10:39:50 schmrkc: I think ignorance is certainly a big part of it. most people don't know much about Lisp, if anything at all.. if everyone knew Lisp, there'd be much more Lisp around ;) 10:40:09 danlentz [~danlentz@c-68-32-54-29.hsd1.nj.comcast.net] has joined #lisp 10:40:19 schmrkc: but of course, it's true that if someone knows Lisp, not using it may be reasonable a decision 10:40:38 On the other than, Google has repeatedly rejected lisp. 10:40:45 s/than/hand/ 10:41:03 And Google is full of people who know lisp. 10:41:12 Zhivago: I remember some a few Google projects in Common Lisp and Scheme 10:41:16 I wonder what they'll do with the recent lisp buy they did. 10:41:33 Zhivago: not that Google is anything special 10:41:43 adeht: No, I don't think that you do. 10:41:53 Zhivago: do what? 10:41:57 adeht: Remember those. 10:42:57 methinks: how can I even respond to such a ridiculous statement? 10:43:10 You could try naming some. 10:43:58 Guthur [~Guthur@host86-136-51-90.range86-136.btcentralplus.com] has joined #lisp 10:44:01 Zhivago: http://code.google.com/p/plop/ for example 10:44:47 Not a google project. 10:45:01 -!- rootzlevel [~hpd@91-66-217-160-dynip.superkabel.de] has quit [Quit: reboot] 10:45:05 Zhivago: it's done by a google employee in as a 20% project 10:45:26 SV_Nik: I'm thinking if I was to start up a software company producing computer games I would not pick lisp. The access to nice libraries is a lot easier from C++ and others, and delivery sure is easier without the lisp... unless I want to spend money on buying a commercial one but that's a dumb investment when gcc is free. 10:45:28 So, not a google project, then. 10:45:47 but I guess you must now refine your claim to "production code" 10:46:08 schmrkc: you can do browser games 10:46:26 and then use lisp like for neuroarena or vendetta online 10:46:36 Well, people can do whatever the hell they want with those 20% projects -- it's essentially private work, unsanctioned in this case by google. 10:46:46 galdor: vendetta switched away from lisp though, no? 10:47:12 schmrkc: they use erlang for most of the network system, and common lisp for the game logic 10:47:23 same thing for neuroarena 10:47:29 galdor: I read they dumped lisp all together. 10:47:37 I would think that is a huge factor... the libraries 10:47:43 But hey, good for them. Whatever works. 10:47:44 Zhivago: there was also http://googleresearch.blogspot.com/2009/08/under-hood-of-app-inventor-for-android.html 10:47:48 SV_Nik: Me too. 10:48:24 Zhivago: but sure, you can dismiss those projects.. I should reiterate, then, that google is nothing special.. it's just another company 10:49:07 schmrkc: "In CL, it is very easy to define 'mini-languages', which is what I've done for missions, objectives, senses, reflexes, state-machines, business-models and more. All the code written in these special languages will remain untouched, and be auto-translated (by CL code) into erlang." 10:49:22 Sure -- you can ignore it, rather than thinking about why people make certain choices. 10:49:29 lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 10:49:30 anyway there's no problem using lisp for web applications 10:49:46 SCVirus [~SCVirus@S0106001e582ebc80.vs.shawcable.net] has joined #lisp 10:49:51 galdor: So they've pretty much stopped using CL and just have old stuff around and can't be bothered to rewrite it? 10:50:43 galdor: It lacks the fancy web app frameworks with zillions of plugins. It could be a problem. 10:50:46 it's not old, it's just that it works 10:50:46 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 10:50:47 -!- smanek [~smanek@206.111.142.135.ptr.us.xo.net] has quit [Ping timeout: 255 seconds] 10:50:49 Zhivago: huh? it's not that I ignore it, it's that I put it in the right perspective.. you bring up Google's "rejection" as if that's something of great value to the discussion 10:51:23 schmrkc: depends of what you're doing and what you're ready to code yourself 10:51:27 Just pointing out that it isn't due to sales-team CEOs. 10:51:28 not that I would start up a game company anyway. Too busy with one business already. 10:51:35 galdor: Well obviously. 10:51:48 galdor: If you want to you can write a whole server OS too. 10:53:28 -!- SCVirus [~SCVirus@S0106001e582ebc80.vs.shawcable.net] has quit [Client Quit] 10:54:08 gemelen [~shelta@shpd-92-101-129-253.vologda.ru] has joined #lisp 10:54:54 attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has joined #lisp 10:55:38 actually this all reminds me of "CEOs pick anything-but-linux because they're ignorant" 10:55:51 republican_devil [~g@pool-173-60-208-79.lsanca.fios.verizon.net] has joined #lisp 10:56:13 hi all 10:56:30 hi republican_devil 10:57:00 www.prevayler.org is common lisp prevalence still maintained? 10:57:05 what an interesting idea 10:57:56 smanek [~smanek@206.111.142.135.ptr.us.xo.net] has joined #lisp 10:58:18 republican_devil: There are a number of persistance libraries for lisp, if that is what you are asking. 11:00:14 I suppose you're asking about cl-prevalence.. I don't think there has been much activity on it for a while, but I recall some mention of it lately (but not so well that I can provide a reference) 11:01:04 also, I had no problem using it for a toy program a few months ago 11:01:49 -!- Vicfred [~Vicfred@189.228.11.235] has quit [Quit: Leaving] 11:02:15 -!- jao [~jao@83.32.170.229] has quit [Ping timeout: 265 seconds] 11:02:15 fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has joined #lisp 11:04:14 mbohun [~user@ppp115-156.static.internode.on.net] has joined #lisp 11:04:58 it seems an awesome idea 11:05:00 to me 11:05:14 I almsot considered learning java for it 11:05:19 then thought why fool around 11:05:26 just learn common lisp 11:05:37 I am readin through successful lisp by lamkins 11:07:18 republican_devil: is it any good? 11:07:46 oh it be free on the internet even? 11:08:27 ya the book is free 11:08:29 its quite nice 11:08:38 -!- reav_ [~reav_@212.88.117.162] has quit [Read error: Connection reset by peer] 11:08:40 I have ansi common lisp by graham but its kinda hard 11:08:46 I like how they group autolisp in with the other lisps. 11:08:48 I am not compsci major and know only bash 11:08:52 *schmrkc* has bad autolisp memories. 11:09:03 racket seems intersting too 11:09:09 republican_devil: There's also gentle and pcl. They're good. 11:09:20 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 11:09:27 reav_ [~reav_@212.88.117.162] has joined #lisp 11:09:28 apparently scheme macroes are less powerful than common lisp ones so I am sticking with common lisp 11:09:48 republican_devil: some schemes support lisp style macros. 11:10:04 I didn't like how pcl uses allergro and other corporate lisp stuf I kinda wana stick to free software 11:10:35 for one chapter, innit? 11:10:40 republican_devil: PCL doesn't use allegro.. it uses allegroserve, which has a portable version 11:12:16 xyxxyyy [~xyxu@114.93.132.195] has joined #lisp 11:13:44 -!- Ragnaroek [~chatzilla@pD9E2729C.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 11:14:33 Would be nice if there was some way to tell what system a symbol comes from 11:15:23 should not be too difficult to write a mostly-working solution with swank 11:15:42 isn't package usually sufficient? 11:16:34 Not in my case 11:16:48 -!- bsod1 [~osa1@78.175.216.31] has quit [Ping timeout: 245 seconds] 11:17:30 *hefner* imagined some text variable describing what was happening (user at REPL in some package, ASDF compiling system FOO, file BAR, etc., and hacking the implementation to stick that on the property list as symbols are created 11:17:50 Actually I want to know what the symbols in a package come from, nicely formatted in an emacs buffer 11:17:59 pocket_ [~pocket_@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has joined #lisp 11:18:17 really? 11:18:31 does racket support common lisp style macroes? 11:18:54 -!- gz [gz@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout] 11:19:50 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 260 seconds] 11:19:51 hefner: heh, nice.. the first thing coming to my mind was taking snapshots of all interned symbols and using the set differences.. the symbol plist is a nice location to store which system they "belong" to 11:19:51 Anyone know of a mature(ish) implementation of Thrift in CL 11:20:15 recording information it as I describe, the system could distinguish how the symbol was created, determine it's useless (created from REPL, with no definitions attached) and could automatically resolve those conflicts during use-package 11:20:57 scheme macros are not as powerful as cl macros ? 11:21:20 republican_devil: I have no idea. Atleast it has both hygienic and normal macros. 11:21:21 apparently I can't clone http://common-lisp.net/project/parenscript/git/parenscript , is that a known issue? 11:21:47 hm, galdor i have been using parenscript rom quicklisp 11:22:00 I'd imagine that you just run find-definition on the package of a symbol to gather the path, then compare that with an priorly build up database of what files a system contains 11:22:22 galdor: wfm 11:22:25 republican_devil: look up defmacro in its manual I guess. 11:22:54 -!- trigen [~MSX@87.209.144.213] has quit [] 11:23:01 adeht: yep it finally worked 11:23:07 it's just incredibly slow 11:24:23 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 11:24:30 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 11:26:23 hm 11:26:43 is there any software load balancer software done in common lisp? 11:28:34 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: Leaving] 11:29:12 one of my first lisp projects included an (optimal) static load balancer, but it was a proprietary project.. there's a new library, cl-mw, which may contain a load balancer though 11:29:45 -!- smanek [~smanek@206.111.142.135.ptr.us.xo.net] has left #lisp 11:30:06 etenil [~user@93-96-0-153.zone4.bethere.co.uk] has joined #lisp 11:30:15 Morning everyone 11:30:20 Guthur: did you just ask for an implementation of Thrift? 11:30:22 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 11:30:30 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 11:30:37 danlentz, I did indeed 11:30:43 -!- attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has quit [Quit: Leaving.] 11:31:27 Thrift seems to have wider language support than Protobuf and so I was interested in checking it out 11:31:44 ironically i just finished compiling and installing one 11:31:44 CL was a glaring omission though 11:31:56 hehe cool 11:32:05 link? 11:33:31 Guthur: http://github.com/lisp/de.setf.thrift 11:34:31 danlentz, Are you the author? 11:34:45 xinming [~hyy@218.73.131.230] has joined #lisp 11:35:08 that's james anderson's github, i believe 11:35:28 LukeL_ [unknown@unaffiliated/lukel] has joined #lisp 11:35:36 No -- ive been playing with several packages by the same developer for a month or two and I;ve use de.setf.thrift in the course of that 11:36:06 ok, cheers danlentz 11:36:23 Thrift seems like a code generator 11:36:24 -!- LukeL_ [unknown@unaffiliated/lukel] has quit [Client Quit] 11:36:31 bsod1_ [~osa1@78.173.99.55] has joined #lisp 11:36:33 -!- bsod1_ is now known as bsod1 11:36:47 am I right? 11:36:51 i have not done anything directly with the package other than as a user 11:37:56 it seems more like an ffi/transport protocol 11:38:05 what do you mean code generator 11:38:54 isn't thrift, like protobufs, the NIH version of asn.1? 11:39:10 well you write a spec, and it generates a base code for your software 11:39:15 LukeL_ [unknown@CPE001cf0f641f7-CM000a7365ada2.cpe.net.cable.rogers.com] has joined #lisp 11:39:15 -!- LukeL_ [unknown@CPE001cf0f641f7-CM000a7365ada2.cpe.net.cable.rogers.com] has quit [Changing host] 11:39:16 LukeL_ [unknown@unaffiliated/lukel] has joined #lisp 11:39:17 then you fill in the blanks 11:39:20 attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has joined #lisp 11:39:22 its used to establish communications between lisp and an external process -- in this case the cassandra database 11:39:39 ah 11:39:41 ok 11:40:40 but from what ive observed there is a "generation" part of the compile/build process 11:40:45 (well, of asn.1 + particular concrete encoding) 11:40:53 -!- hefner [~hefner@ppp-58-9-113-71.revip2.asianet.co.th] has quit [Ping timeout: 255 seconds] 11:41:55 -!- LukeL_ [unknown@unaffiliated/lukel] has quit [Client Quit] 11:42:15 i;ve not really run into many other people who seemed very enthused about it, however 11:42:34 james anderson's habit of forking his own incompatible versions of peoples' libraries without changing the name makes it hard to include his stuff in quicklisp :( 11:42:51 danlentz, not enthused about Thrift? 11:43:29 although the author James Anderson is a really sharp guy 11:43:53 it's funny how frameworks get built for everything nowadays 11:44:20 Was wondering if I can have an empty list as part of the struct "a" while I do a "make-a"? 11:44:33 I suppose things are getting so complicated that developers can't handle anything by themselves anymore 11:44:44 on the prompt I tried something like (push 1 ()) and that gave me an error :( 11:45:06 Xach: HA you're telling me!! I was just up all night beating down issues of that very sort. Some of his pactices are extremely unfriendly. And complicated to figure out how to work around 11:45:08 edlinde: (make-a :part ()) 11:45:36 Xach: and then later on in my code I can just do a push on to this :part? 11:45:39 danlentz: that's exactly what quicklisp is designed to avoid. but if someone expects you to fully join their world, it makes the job harder. 11:45:47 or a-part I should say 11:45:53 edlinde: yes. (push (a-part struct) 1) 11:45:58 err, swap arguments 11:46:09 Listen Quicklisp has been a real gaame changer for me 11:46:16 Xach: thanks 11:46:27 edlinde: PUSH requires a setf-able place, and () can't be setf 11:46:50 *Xach* could probably arrange to make a de.setf dist that has its own self-contained dependencies 11:46:51 i;ve for the first time been able to work with the hu.dwim.perec et all 11:46:54 ok and when we did the :part () ... its doing a setfbehidn the scenes? 11:47:07 xach do you reccomend pcre for lisp with the s exp style or cl irregxp? 11:47:22 edlinde: it's doing that as part of object construction in some way. 11:47:31 ok 11:47:32 some of the things he does to ASDF are just awful 11:47:34 republican_devil: i have never used cl-irregsexp 11:47:40 hefner [~hefner@ppp-58-9-115-98.revip2.asianet.co.th] has joined #lisp 11:47:47 republican_devil: i have used cl-ppcre, but never with the sexp style. 11:48:26 conceptually they make sense but in practice just a real problem to de-fang 11:49:05 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 11:49:09 -!- bsod1 is now known as bsod1_ 11:49:22 danlentz, hehe you are not filling me with confidence for this thrift lib, 11:49:33 -!- schaueho [~schaueho@dslb-088-066-015-200.pools.arcor-ip.net] has quit [Quit: Leaving] 11:49:49 but I'm very fascinated by de.setf.resource which is an ORM persistency store that unifies CLOS/MOP and RDF/Semantic Web 11:49:58 -!- republican_devil is now known as gavino_himself 11:52:11 its a pretty ambitious effort and a substantial piece of work 11:52:35 petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has joined #lisp 11:52:43 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 240 seconds] 11:52:56 -!- etenil [~user@93-96-0-153.zone4.bethere.co.uk] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:53:50 thrift is not problematic in that regard -- at least i dont bother it and it dowsnt bother me 11:57:06 LukeL_ [unknown@unaffiliated/lukel] has joined #lisp 11:57:46 rootzlevel [~hpd@91-66-217-160-dynip.superkabel.de] has joined #lisp 11:58:06 Yeah, though quicklisp has had a real noticible impact on the way i work. So much that i cant believe how much time and effort i used to spend on software admin package management endless bugs and glitches 11:58:07 My interest is just in finding a reasonable serialization protocol for message passing 11:58:12 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 11:58:25 http://common-lisp.net/project/cl-prevalence/ I find this fascinating 11:58:51 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 11:58:55 Guthur: what drew you to thrift? 11:59:09 danlentz, Language support 11:59:35 http://www.quicklisp.org/beta/ nice 11:59:40 I mainly need C# and possibly Java, but CL was high on my personal preference 11:59:43 is this your baby xach? 11:59:55 Guthur: binge wrote an interesting asn.1 library for his snmp project 12:01:34 Xach, any link? 12:01:56 gavino_himself: yes 12:02:20 good show 12:02:33 Guthur: quickloadable, or google cl-snmp 12:03:08 -!- humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has quit [Remote host closed the connection] 12:03:43 is there any software load balancer for web requests done in common lisp? 12:04:00 anyway, xach, quicklisp really opened up the possibility of working with a much greater range of packages while at the same time almost eliminating the management of the softwarare furball 12:04:40 Bronsa [~bronsa@host17-177-dynamic.10-79-r.retail.telecomitalia.it] has joined #lisp 12:04:46 which is an outsatnding job 12:04:53 danlentz: glad to hear it. it really makes me use what i need without any hassle. 12:06:42 i noticed you have hu.dwim.wui in the recent update. I'm looking forward to play with it at some point alhtough i pretty much have my hans full at the momemt :] 12:08:38 xach, is there a means of interacting with the github quicklisp projects tree using QL client? 12:09:15 hmm, interacting in what way? 12:10:04 -!- _danb_ [~user@124-149-32-186.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:10:06 short answer is no. but i'm curious what you mean by it. 12:10:30 well in any way -- for example to gain access to newly added packages before the next update-all-dists releasse 12:10:44 Does any one know what use 'M-x slime' to start a Lisp means in Emac? 12:11:06 what do I press to get back into the lisp prompt 12:11:24 <`3b`> SV_Nik: hold doen the 'Meta' key (usually 'Alt') and press x then type slime 12:11:27 SV_Nik: think of M-x as Alt + X 12:11:37 ooooo 12:11:40 thanks, will try it 12:12:12 guys wondering if I could get some help with a newbie problem, I am trying to build a tree from an input file, so each line I read in from the file ends up becoming a new branch in a tree and then I want to show this tree (for the moment) but the tree display isn't right, so I am not sure if I built the tree right or am I printing it out wrong? http://paste.lisp.org/display/116588 12:12:46 Xach: sorry been stuck on this problem for quite some time now and cannot figure out where I screwed up :( 12:13:29 Jabberwockey [~Jens@f050064057.adsl.alicedsl.de] has joined #lisp 12:13:54 <`3b`> edlinde: always making a new node in fp-insert is suspicious 12:15:36 `3b`: at the moment I am just trying to get a tree and dump out its contents 12:15:59 Or another use-case im interested in is if there is a potential that I could hook some of my own projects into QL in order to enjoy the same type of ease of distribution/management etc 12:16:20 snorble [~snorble@s83-179-14-105.cust.tele2.se] has joined #lisp 12:16:23 `3b`: then next I have to make this a prefix tree really, so if the node already exists in the tree, I increment the count and don't introduce a new node in that case 12:16:30 <`3b`> edlinde: also, you should use full words for identifier names 12:16:55 `3b`: anything in particular? 12:17:22 <`3b`> supp 12:17:26 `3b`: I know my code is not up to the mark, its my first "largish" project in CL 12:17:30 ok 12:18:00 Success! 12:18:02 but I am finding it hard to see where I went wrong... :( 12:18:17 Xach: was that for me? 12:18:25 edlinde: no, for Krystof. 12:18:28 -!- bsod1_ [~osa1@78.173.99.55] has quit [Read error: Connection reset by peer] 12:18:31 ah ok sorry 12:18:55 danlentz: There will be a way to get your own projects set up as peers to the "main" quicklisp sets of software. 12:18:58 <`3b`> (incf depth) is a bit silly, you probably want (1+ depth) there 12:19:09 ok will change that 12:19:10 danlentz: there might be a way to test the bleeding edge of stuff before it's part of the main thing too. 12:19:16 danlentz: but not yet 12:19:21 <`3b`> (silly isn't quite the right adjective, but i'm too lazy to think of a better one) 12:20:04 `3b`: wondering if it should be (+ 1 depth) ? 12:20:13 <`3b`> it looks like you never print or recurse into more than the first child of each node you visit 12:20:17 is (1+ depth) some other form 12:20:27 <`3b`> no, 1+ is preferred to + 1 12:20:31 ok 12:20:34 I guess that QL is a fairly centralized in its architecture i dont know if it would make sense in that regard 12:20:44 danlentz: no, not at all! 12:20:46 <`3b`> though either is better than (+ depth 1) 12:21:21 `3b`: so you think there is a problem with my show function? 12:21:23 danlentz: you can provide your own archives and indexes to them, but it's just not documented and needs to be more automated. 12:21:37 <`3b`> edlinde: if it is intended to show the entire tree, yes 12:21:37 danlentz: you just have to put them on a website somewhere 12:21:39 i saw gigamonkeys dist-compiler 12:21:44 yeah the entire tree, I am looking now 12:22:03 danlentz: that's his take on it 12:22:54 <`3b`> edlinde: ah, sorry, i misread... it doesn't show the first child, it shows the siblings of the top level as if they were children 12:23:17 `3b`: ok.. should I maybe call it something else then? 12:23:27 bsod1 [~osa1@88.242.75.148] has joined #lisp 12:23:39 <`3b`> no, you should fix it... it is pretty pointless (in addition to broken) as written 12:23:42 `3b`: I wanted to print out the tree depth-wise 12:24:04 `3b`: yeah I know its broken :) 12:24:08 <`3b`> well, first you should actually pass it a tree 12:24:43 <`3b`> there is no reason the caller should need to know about node-children to call that 12:25:17 `3b`: hmm I was not sure how I would then go through each of the children in the list of child nodes and shrink the list in the recrusive call 12:25:23 *recursive 12:25:29 <`3b`> second, you should use a loop to iterate over the children of a given node, CL doesn't implement iteration with recursion 12:26:18 it doesn't? 12:26:46 <`3b`> edlinde: if there was some reason to do that, it should be an implementation detail, with either a helper function to hide the node-children call, or a local function to handle the recursion 12:27:01 <`3b`> no, iteration by recursion is a scheme thing 12:27:22 <`3b`> CL doesn't specify tail call optimization, so you can't reliably use recursion for iteration in portable CL code 12:27:51 <`3b`> and it does provide a bunch of iterative constructs, so you should be using those anyway 12:27:58 so when given the choice its best to use a loop instead ? 12:28:20 <`3b`> or mapcar, or whatever 12:28:23 emma [~em@unaffiliated/emma] has joined #lisp 12:29:02 <`3b`> recursion is good for traversing recursive data structures, so you won't get rid of it completely here, but you don't want it just to iterate over a list 12:29:03 I am just trying to think how I can print it out the way I want it to look like :) 12:30:04 ok are you suggesting here a loop and recursive combined solution? 12:30:08 -!- bsod1 [~osa1@88.242.75.148] has quit [Ping timeout: 245 seconds] 12:30:09 <`3b`> right 12:30:18 I mean to print out the nodes in DFS order i got to do recursion I suppose 12:30:22 hmm 12:31:17 dfkjjkfd [~paulh@143-11-ftth.onsnetstudenten.nl] has joined #lisp 12:31:26 `3b`: would i be right in say if I passed in a node instead of a list to this function, and then loop through each of its children and call fp-showtree recursively on each of these nodes? 12:31:46 recursively on each child node I meant 12:31:52 <`3b`> sounds reasonable 12:32:01 Xach: are there any other notes or supplementary reading materials outside of the source code itself? 12:32:02 `3b`: ok cool :) 12:32:05 bsod1 [~osa1@88.241.169.131] has joined #lisp 12:32:11 `3b`: thanks for the tip! 12:32:34 danlentz: no, sorry. gotta work on it. 12:33:32 <`3b`> (and for the record, you could avoid recursion completely there, but implementing recursion using iteration is probably even worse than implementing iteration as recursion :) 12:34:07 ziarkaen [~ziarkaen@stu246.queens.ox.ac.uk] has joined #lisp 12:34:08 `3b`: but then I am not sure how I can do such a print out without using recursion at all 12:34:26 `3b`: didn't you say earlier that to do a tree traversal I need a form of recursion anyway? 12:34:41 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 12:34:43 <`3b`> you don't want to avoid recursion completely here, so don't worry about that 12:34:49 k 12:35:07 plus this function is really so I know whats going on.. more for my own debugging 12:35:29 stassats [~stassats@wikipedia/stassats] has joined #lisp 12:35:57 nah to be honest dont waste your time on it -- your code is very clear and s pleasure to study 12:36:05 lnostdal-laptop [~lnostdal@167.80-203-136.nextgentel.com] has joined #lisp 12:37:05 -!- wbooze` [~user@xdsl-87-79-40-105.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:37:10 -!- homie` [~user@xdsl-87-79-40-105.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:37:18 urandom__ [~user@p548A6405.dip.t-dialin.net] has joined #lisp 12:37:58 <`3b`> edlinde: also, your indentation is a bit off... the first LET forms in process-file and fp-showtree should be indented 12:38:11 `3b`: ok 12:38:13 <`3b`> and don't put ) by themselves 12:38:53 -!- jconrad [~jconrad@host109-153-55-121.range109-153.btcentralplus.com] has quit [Ping timeout: 245 seconds] 12:39:25 Edward_ [ed@AAubervilliers-154-1-70-32.w81-249.abo.wanadoo.fr] has joined #lisp 12:39:30 <`3b`> and i don't think you need those PROGN in the COND forms 12:39:39 You don't. 12:39:50 *`3b`* would have used WHEN or UNLESS rather than COND in the first place though 12:39:53 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 12:40:28 edlinde: And use with-open-file rather than open+close. 12:40:40 -!- bsod1 [~osa1@88.241.169.131] has quit [Read error: Connection reset by peer] 12:41:02 edlinde: and use three `;;' to mark a comment at the top-level 12:41:12 beach: I took that from the PCL example... but will look into with-open-file 12:41:30 ok yeah lots of changes to make, I want to fix this bug first :) 12:41:39 <`3b`> beach: wouldn't that be 1.5 ';;', or 3 ';'? :) 12:41:45 beach: that would be six? 12:41:55 edlinde: it is strange to take (car nodes) an then only afterwards do (cond ((null nodes) ...)) 12:42:21 OH, sorry, three `;' 12:42:48 beach: ah yeah I realized that after I wrote it, its no point doing a car on a nil value... ok cool rewriting that function anyway 12:42:59 <`3b`> edlinde: also, parent doesn't seem like an optional argument to fp-insert 12:43:10 edlinde: replace (incf depth) with (1+ depth) you don't need the side effect. 12:43:19 done that already 12:43:29 OK 12:43:57 thanks guys. 12:44:44 homie [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 12:44:47 edlinde: annotate the paste with the new code based on the above comments 12:45:04 ok np 12:45:20 jconrad [~jconrad@host109-156-5-173.range109-156.btcentralplus.com] has joined #lisp 12:47:11 wbooze [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 12:47:25 *`3b`* wonders if suggesting ~v,,,'*<~> would be too advanced 12:47:50 <`3b`> (or if there is a better directive than ~< to use there) 12:47:57 guys just a quick qn 12:48:01 if I did (loop for child-node in (node-children node) do 12:48:08 -!- kiuma [~kiuma@93-35-240-59.ip57.fastwebnet.it] has quit [Ping timeout: 272 seconds] 12:48:25 that should automatically not apply to the nodes that are nil yeah? 12:48:35 I mean the loop won't pick them up 12:48:41 -!- wbooze [~user@xdsl-87-79-40-105.netcologne.de] has quit [Remote host closed the connection] 12:48:46 *`3b`* sees nothing that would skip NILs there 12:48:56 -!- homie [~user@xdsl-87-79-40-105.netcologne.de] has quit [Remote host closed the connection] 12:49:11 <`3b`> add a when child-node before the do clause 12:49:43 -!- jconrad [~jconrad@host109-156-5-173.range109-156.btcentralplus.com] has quit [Ping timeout: 245 seconds] 12:49:50 ok 12:50:12 <`3b`> unless you are asking about how it would handle empty (node-children node), in which case it would exit the loop immediately 12:50:29 yeah 12:50:31 borism [~boris@ec2-79-125-58-77.eu-west-1.compute.amazonaws.com] has joined #lisp 12:50:47 the empty nodes should be at the very end (if at all) 12:51:04 but I don't expect any empty nodes in the list of children 12:51:35 jconrad [~jconrad@host86-163-21-135.range86-163.btcentralplus.com] has joined #lisp 12:52:49 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 12:53:13 `3b`: ~v@{*~@*~:} 12:53:31 doesn't look better 12:53:51 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 12:54:44 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 12:54:52 -!- lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has quit [Remote host closed the connection] 12:55:16 V-ille [~ville@70.42.89.16] has joined #lisp 12:55:58 -!- jconrad [~jconrad@host86-163-21-135.range86-163.btcentralplus.com] has quit [Ping timeout: 245 seconds] 12:56:08 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 12:56:08 anyway, (loop for i from 1 to depth do (format t "~a" "*")) => either (loop repeat depth do (princ "*")) or (dotimes (i depth) (princ "*")) 12:56:51 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 12:57:01 Saturnation [~dsouth@71.169.180.213] has joined #lisp 12:57:20 bsod1 [~osa1@78.175.217.170] has joined #lisp 12:59:11 <`3b`> stassats: why not "~v@{*~:}" ? that doesn't leave the count to be processed by further directives 12:59:39 because it doesn't work? 13:00:16 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 13:00:22 davidbe [~user@91.86.146.76] has joined #lisp 13:00:37 <`3b`> seems to here 13:00:51 are you sure? 13:01:16 <`3b`> (format t "~v@{*~:} ~a" 10 'foo) => ********** FOO 13:01:32 try (format t "~v@{*~:}" 10) 13:02:01 <`3b`> ah 13:02:13 jconrad [~jconrad@host86-145-187-128.range86-145.btcentralplus.com] has joined #lisp 13:03:45 Bronsa_ [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has joined #lisp 13:03:56 -!- spradnyesh [~pradyus@nat/yahoo/x-dplqwtgzxxnrtxfm] has left #lisp 13:05:26 -!- Bronsa [~bronsa@host17-177-dynamic.10-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 13:06:43 -!- attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has quit [Read error: Operation timed out] 13:08:23 -!- bsod1 [~osa1@78.175.217.170] has quit [Ping timeout: 276 seconds] 13:08:39 -!- Edward_ [ed@AAubervilliers-154-1-70-32.w81-249.abo.wanadoo.fr] has quit [] 13:09:30 gravicappa [~gravicapp@ppp85-140-116-26.pppoe.mtu-net.ru] has joined #lisp 13:09:36 -!- pocket_ [~pocket_@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has quit [Remote host closed the connection] 13:09:47 boiantz [~boiantz@92-247-214-154.spectrumnet.bg] has joined #lisp 13:11:04 -!- davidbe [~user@91.86.146.76] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:12:19 -!- boiantz [~boiantz@92-247-214-154.spectrumnet.bg] has left #lisp 13:13:12 -!- Bronsa_ [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has quit [Quit: leaving] 13:13:28 Bronsa [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has joined #lisp 13:15:18 (out (:a "" :width 10 :pad-char #\*) " " 'foo) 13:15:22 -!- Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has quit [Ping timeout: 272 seconds] 13:16:57 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 13:18:12 can't it have (out (:a :repeat 10) #\*) ? 13:18:32 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Ping timeout: 272 seconds] 13:19:11 i mean can't it be made to do so 13:20:46 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 265 seconds] 13:21:35 bsod1 [~osa1@88.244.143.5] has joined #lisp 13:22:25 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 13:22:25 I have trouble interpreting your form, but I suppose something like (out (:c #\* :repeat 10)) could do.. but atm it pretty much mirrors format functionality 13:25:28 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 13:29:11 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Read error: Connection reset by peer] 13:30:42 beach: if I did --> (with-open-file (in filename :if-does-not-exist nil) do I need to pass in a variable called "in" for the stream ? 13:31:07 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 13:31:08 beach: I am having some troubles converting the code to use with-open-file instead of what I got.. shall I paste that? 13:31:18 -!- gemelen [~shelta@shpd-92-101-129-253.vologda.ru] has quit [Read error: Connection reset by peer] 13:32:50 edlinde: with-open-file essentially wraps its body in (let ((in (open ...))) ) for you. 13:33:14 and closes the stream no matter what 13:33:31 Hmm, is cliki read-only since late October? 13:33:37 ok maybe I done something else wrong then 13:33:39 hmm 13:33:44 edlinde: So you don't create that variable beforehand. You just pas it the name of a variable that you want with-open-file to create for you. 13:33:54 ok gotcha 13:34:53 xyxxyyy1 [~xyxu@114.93.132.195] has joined #lisp 13:35:22 http://paste.lisp.org/display/116588#1 13:35:25 thats my error 13:35:54 I did the let* because I wanted the line to be read in and then split first before I passed it to fp-insert 13:36:23 What is the = about in (let* ((line = (read-line in)) ? 13:36:46 ah crap ... :) 13:36:48 and why is ROOT in caps 13:36:58 Is that not good practise? 13:37:03 and why do you have two spaces between ROOT and (make-node 13:37:19 -!- xyxxyyy [~xyxu@114.93.132.195] has quit [Ping timeout: 250 seconds] 13:37:20 edlinde: It looks like you are SHOUTING! 13:37:21 netytan [~netytan@host81-141-51-168.wlms-broadband.com] has joined #lisp 13:37:23 edlinde: it does not matter. You can use upcase-lisp or downcase-lisp commands in emacs. 13:37:27 -!- fpletz [~fpletz@moinmoin/student/franz] has left #lisp 13:38:06 ok changed it now 13:38:09 edlinde: And it is usually a good thing to put each let binding on a new line. 13:38:17 ah yeah 13:38:49 edlinde: and use '() when you mean an expression that is to evaluate to the empty list, not just (). 13:39:00 stassats: Did you see my inquiry about some slime magic which lists where symbols come from in a package? (First cut would be to just list the home packages of each symbol, second cut would be to also display the systems where the packages reside in) 13:39:16 beach: are you referring to :children () ? 13:39:25 tcr: no, i haven't seen it 13:39:28 beach: why? 13:39:44 edlinde: Yes. 13:39:54 stassats: Why what? 13:39:54 stassats: Well, does it strike your interest for a weekend hack? 13:40:04 beach: why do what you said about '() 13:40:25 stassats: () is used only to mark empty code snippets like argument lists, etc. 13:40:39 stassats: It's just a convention like everything else. 13:41:06 conventions usually make sense, this one doesn't 13:41:27 i understand the convention to use () instead of NIL when a list is expected 13:42:25 tcr: how would it present those symbols? 13:42:33 stassats: compare '() and '(1) vs. () and '(1) 13:43:12 do you write '1 and 'x too? 13:43:15 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 13:43:25 stassats: I wrote 'x if I want to pass the symbol X 13:43:27 *write 13:43:42 -!- gavino_himself [~g@pool-173-60-208-79.lsanca.fios.verizon.net] has quit [Read error: Connection reset by peer] 13:43:59 stassats: 1 has no analogate to the comparison I suggested, does it? 13:44:20 it's a self-evaluating object as well 13:44:41 adeht: do you write 'nil when you want to pass the symbol NIL? 13:44:44 stassats: yes 13:44:53 then i have no further questions 13:45:06 stassats: Maybe the easiest thing would be to include in the home package in the symbol listing in the inspector 13:45:43 tcr: large packages have quite a number of symbols, how one would navigate through them? 13:46:04 But I would more like to see a per home-package grouping 13:46:21 I had forgotten to include a loop to read through the lines in the file, and now after adding it in I am getting some other errror http://paste.lisp.org/display/116588#2 13:46:26 :( 13:46:49 you're not checking for the EOF anymore 13:46:49 Evaluation aborted on # 13:47:03 try (read-line in nil) 13:47:17 stassats: I actually don't agree that most conventions make sense. Most of them are just completely arbitrary choices that we often manage to agree upon. Like indentation, the number of `;' to use, how to place `(' and ')', etc. 13:47:30 yep that worked! 13:47:37 thanks! 13:48:27 <`3b`> edlinde: "; Show tree contents" seems a bit redundant 13:48:43 <`3b`> edlinde: or else a sign show-tree is poorly named 13:49:25 http://paste.lisp.org/display/116588#3 13:49:31 beach: parenthesis placement convention isn't from lisp, it's a common typographic convention 13:49:34 <`3b`> edlinde: and tell your editor not to use tab caracters for indentation 13:49:38 thats the final annotated paste ... hopefully I covered all your comments 13:49:51 beach: they are not completely arbitrary.. e.g., indentation indicates nesting 13:50:08 -!- bsod1 [~osa1@88.244.143.5] has quit [Ping timeout: 245 seconds] 13:50:48 stassats: something like http://paste.lisp.org/display/116592 I'd guess 13:50:54 *beach* doesn't have the strength to argue, so goes back to SICL. 13:51:16 and what does '() signify, i don't know, it's an empty list in both cases 13:51:47 -!- Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Ping timeout: 276 seconds] 13:52:13 tcr: i'm thinking about grouping them by packages and systems, and expanding in the way like frames are expanded in SLDB 13:52:21 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Quit: Leaving] 13:52:29 <`3b`> edlinde: also, in LOOP, put DO at the beginning of a line, not at end of previous line 13:52:33 Isn't that what the example shows? 13:52:50 stassats: it usually signifies a form to be evaluated, which results in the empty list 13:53:29 tcr: oh, FOO BAR BAZ QUUX are package names, i thought those are symbols 13:53:47 -!- sykopomp [~sykopomp@unaffiliated/sykopomp] has quit [Ping timeout: 250 seconds] 13:53:48 adeht: then why are you not writing '1 when it's meant to be evaluated, or are you? 13:53:52 yea probably package names that are used (or imported from) 13:53:52 `3b`: you mean DO on a line by itself? 13:54:22 <`3b`> edlinde: by itself or on the same line as the code following it, either way 13:54:58 tcr: i'll note it, in case i'll have a desire to hack something 13:55:02 stassats: because I want to differentiate this use from a non-evaluated expression that is the empty list, something that I don't care about when it comes to integers 13:55:29 stassats: I'll add it to the bugtracker 13:55:32 homie [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 13:56:15 "all self-evaluating objects are created equal, but some are more equal" 13:56:43 -!- Guest10247 is now known as xristos 13:56:55 yep.. should I again point out the '()/'(1) comparison? there's no such things with 1 13:57:11 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 13:57:24 Are you arguing about nil,'(),()? 13:57:25 wbooze [~user@xdsl-87-79-40-105.netcologne.de] has joined #lisp 13:57:26 *adeht* 's english sucks today 13:57:33 tcr: no, about '() and () 13:57:40 Still, isn't it boring? 13:57:49 what should we argue about instead? 13:57:59 I'd be more interested in what cool stuff you guys are up lately 13:58:14 now, _that_ is boring 13:58:18 I wrote a lame ordered hash table hack 13:58:32 ordered in what way? 13:58:42 sounds more like tree/trie? 13:58:45 after reading a Programming Pearl about ADTs 13:59:13 -!- V-ille [~ville@70.42.89.16] has quit [Quit: Leaving.] 14:00:09 *stassats* is thinking how better to make an error message with restarts for his GUI 14:00:15 janissary [~bleh@user-1120nk8.dsl.mindspring.com] has joined #lisp 14:00:16 tcr: http://paste.lisp.org/display/116594 14:00:30 instead of bailing into slime 14:01:03 and the more i think about it, the more it looks like a slime reimplementation 14:01:37 stassats, Are you working on a GUI library? 14:01:49 or just some GUI driven application 14:02:05 Guthur: both 14:02:26 cool, any screenshots? 14:02:27 i'm using commonqt, but it's not complete so i have to work on it too 14:02:35 -!- Bronsa [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has quit [Quit: Lost terminal] 14:02:42 it's just Qt, nothing interesting 14:02:47 -!- ost [~user@217.198.9.4] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:04:50 -!- kaehi [~dsa@ext02.gsp.se] has quit [Read error: Operation timed out] 14:07:29 boiantz [~boiantz@92-247-214-154.spectrumnet.bg] has joined #lisp 14:08:25 waynecolvin_ [c05e4910@gateway/web/freenode/ip.192.94.73.16] has joined #lisp 14:09:52 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Remote host closed the connection] 14:14:46 -!- boiantz [~boiantz@92-247-214-154.spectrumnet.bg] has left #lisp 14:15:05 -!- Salamander [~Salamande@ppp118-210-197-184.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 14:16:41 kushal [~kdas@fedora/kushal] has joined #lisp 14:16:48 -!- tritchey [~tritchey@c-68-51-119-127.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 14:17:02 -!- gz [gz@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout] 14:17:10 -!- Saturnation [~dsouth@71.169.180.213] has quit [Quit: Ex-Chat] 14:17:15 bsod1 [~osa1@78.176.252.48] has joined #lisp 14:17:37 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 250 seconds] 14:18:00 -!- skaboy [~grant@c0144.aw.cl.cam.ac.uk] has quit [Ping timeout: 265 seconds] 14:18:41 -!- danlentz [~danlentz@c-68-32-54-29.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 14:18:43 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 14:19:15 tritchey [~tritchey@c-68-51-112-174.hsd1.in.comcast.net] has joined #lisp 14:20:38 Saturnation [~dsouth@71.169.180.213] has joined #lisp 14:21:09 is there a way to tell CL-JSON to encode empty lisp lists to "[]" instead of "null" ? 14:21:59 -!- bsod1 [~osa1@78.176.252.48] has quit [Ping timeout: 255 seconds] 14:23:37 SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has joined #lisp 14:27:53 galdor: I just use #() 14:28:35 if you want to encode a list that may be NULL, this is not an option :( 14:28:54 Is the problem not that '() and nil are equal 14:29:01 (or list #()) 14:29:19 Salamander [~Salamande@ppp118-210-148-99.lns20.adl6.internode.on.net] has joined #lisp 14:29:31 oh why not 14:29:32 thank you 14:30:00 It's not that they're equal -- '() and nil are the same thing. 14:30:32 -!- waynecolvin_ [c05e4910@gateway/web/freenode/ip.192.94.73.16] has quit [Ping timeout: 265 seconds] 14:30:32 Rather than () and nil are the same thing 14:31:02 Zhivago, eq then 14:32:21 ikki [~ikki@189.247.155.206] has joined #lisp 14:33:34 if there's a rational behind the fact that NIL and the empty list are the same things, I'd like to read about this :) 14:34:20 galdor: it's convenient.. e.g., the form I just mentioned 14:35:02 galdor: instead of (if (endp list) #() list) 14:35:17 it's semantically kind of strange 14:35:31 (actually null predicate, for nitpick value) 14:36:07 for (or list #()), a list could be evaluated as a generalized boolean which is t only if the list isn't empty 14:36:54 <`3b`> if you do that, why not vectors, arrays and strings too? 14:36:58 dlowe [~dlowe@c-66-30-112-95.hsd1.ma.comcast.net] has joined #lisp 14:37:06 <`3b`> (i realize some of those are subsets of the others) 14:37:51 don't know :) 14:38:16 I'm just considering options even if at the end I have no problem with the way it is 14:38:33 galdor: that would make the concept of "generalized boolean" more complex.. at the moment it's: nil is false, everything else is true. what you're proposing is to extend false with more objects 14:39:26 galdor: instead, nil is overloaded.. there's only one object representing false 14:41:22 oh ok 14:43:08 galdor: schemers prefer to stick with their Aristotelian "one word - one meaning" philosophy, and have #f, (), nil as distinct objects 14:44:57 galdor: in Lisp, we sometimes have to work around the fact of overloading, but in general we prefer to keep it 14:45:03 sykopomp [~user@c-66-41-249-30.hsd1.mn.comcast.net] has joined #lisp 14:46:04 -!- sykopomp [~user@c-66-41-249-30.hsd1.mn.comcast.net] has quit [Changing host] 14:46:04 sykopomp [~user@unaffiliated/sykopomp] has joined #lisp 14:46:07 nha [~prefect@250-194.105-92.cust.bluewin.ch] has joined #lisp 14:46:28 once upon a time, in the early days of Lisp, nil was the same object as 0.. now _that_ was bad taste.. 14:48:45 in Python: map(bool, ((),"",0,False,[])) => [False, False, False, False, False] 14:49:40 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 14:51:52 True + True ==> 2 14:52:07 now, that is bizarre 14:52:24 same as C++ ;) 14:52:43 I suppose python evaluates + arguments as integers, and since True is 1 like in C 14:52:56 if you want bizzare, also check out their ternary operator madness 14:53:22 def foo(): return 42 .. foo() == foo() ==> True ... foo() == foo() == True ==> False 14:53:25 V-ille [~ville@ville-hp.dhcp.fnal.gov] has joined #lisp 14:53:53 at least it's not like in JS: 5 + "2" => "52"; 5 - "2" => 3 14:54:34 ;) 14:54:47 stassats: unbelievable! 14:54:48 and true + true => 2, true + 5 => "true5" 14:55:30 What they really want is a contextual programming language. 14:55:45 They can't get it until full AI is developed... 14:57:31 even natural intelligence would have troubles in ambiguous cases 14:57:39 stassats: http://paste.lisp.org/display/97931 <- this simulates python's variadic comparison thingy, methinks 14:58:25 stassats: the contextual thing means that it would have to take into account the whole universe to resolve the ambiguity. 14:58:47 And perhaps give an answer not even programmed if that was the 'correct' one. 14:59:11 adeht: isn't that like (= (foo) (foo) t)? 14:59:31 stassats: yes 14:59:47 stassats: but it's more general.. 15:00:34 eugu [~Miranda@213.141.157.147] has joined #lisp 15:00:34 stassats: see the < ... > case 15:01:04 (< 3 5 10) => t, and 3 < 5 < 10 => True 15:02:08 schaueho [~schaueho@dslb-088-066-015-200.pools.arcor-ip.net] has joined #lisp 15:02:41 stassats: many other languages don't have variadic comparison, so they would interpret foo() == foo() == true as (foo() == foo()) == true.. the lhs would result in true, which is equal to the rhs, and therefore the expression will evaluate to true 15:03:06 that's what i would expect 15:03:47 that's why i like Lisp, its syntax is more comprehensible 15:04:02 I agree 15:07:43 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 15:09:15 iNtERrUpT [~interrupt@59.10.182.46] has joined #lisp 15:09:50 HadiM [~HadiM@2a01:e35:2e95:21b0:225:d3ff:fe93:3ee0] has joined #lisp 15:09:54 hi 15:10:08 how can I know if a string contains a substring in elisp ? 15:10:24 HadiM, Try #emacs 15:10:31 ok 15:10:52 but it's not similar to lisp ? 15:11:10 HadiM, This channel covers Common Lisp 15:11:29 ok 15:11:32 #emacs is a far better place for elisp 15:11:50 Not all lisps are equal 15:12:15 ok I see 15:12:17 ty 15:12:18 I should say eq instead of equal but that's just going to be confusing 15:12:24 bsod1 [~osa1@88.244.169.150] has joined #lisp 15:12:26 hehe, 15:12:31 ^^ 15:13:31 note that emacs has cl package, with which you will be able to use most of the common lisp functionality 15:13:49 and i can't imagine writing elisp without using it 15:14:17 -!- HadiM [~HadiM@2a01:e35:2e95:21b0:225:d3ff:fe93:3ee0] has left #lisp 15:15:58 I didn't know that 15:16:09 interesting... 15:16:43 lusory [~bart@bb116-15-201-141.singnet.com.sg] has joined #lisp 15:17:23 if I wanted to have an if then else in lisp, when the "if" part is true I would like to have two forms, and in the "else" part have one form. Other than grouping the two forms with PROGN in the if section, is there a better way to do this? 15:17:48 COND 15:18:18 Ah in the cond's first clause I can have two forms yeah? 15:18:48 -!- wbooze [~user@xdsl-87-79-40-105.netcologne.de] has left #lisp 15:19:14 (cond (test [form*]) ...) 15:19:24 cool 15:19:28 thanks! 15:19:58 that's called an implicit progn 15:21:12 -!- skalawag is now known as grammarWag 15:21:25 carlocci [~nes@93.37.201.72] has joined #lisp 15:21:30 -!- grammarWag is now known as skalawag 15:22:16 -!- iNtERrUpT [~interrupt@59.10.182.46] has quit [Remote host closed the connection] 15:23:37 -!- janissary [~bleh@user-1120nk8.dsl.mindspring.com] has quit [] 15:28:06 kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has joined #lisp 15:30:05 -!- sykopomp [~user@unaffiliated/sykopomp] has quit [Ping timeout: 276 seconds] 15:32:27 silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has joined #lisp 15:36:32 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 240 seconds] 15:37:53 -!- dfkjjkfd [~paulh@143-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 15:45:51 Ragnaroek [~chatzilla@pD951ED89.dip.t-dialin.net] has joined #lisp 15:46:08 -!- tsuru [~charlie@c-174-50-217-160.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 15:46:15 dfkjjkfd [~paulh@143-11-ftth.onsnetstudenten.nl] has joined #lisp 15:47:54 sykopomp [~user@c-66-41-249-30.hsd1.mn.comcast.net] has joined #lisp 15:49:40 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp 15:54:15 I just had a weird idea for web application construction: clients take care of data access and server takes care of client construction. Suppose clients access data through json rest. What would continuations be used for then? 15:56:48 -!- gravicappa [~gravicapp@ppp85-140-116-26.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds] 15:56:55 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 15:59:13 gravicappa [~gravicapp@ppp85-140-64-180.pppoe.mtu-net.ru] has joined #lisp 15:59:28 zeroish [~zeroish@135.207.174.50] has joined #lisp 16:00:04 kushal [~kdas@fedora/kushal] has joined #lisp 16:00:19 -!- jconrad [~jconrad@host86-145-187-128.range86-145.btcentralplus.com] has quit [Ping timeout: 240 seconds] 16:02:03 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 16:02:13 -!- LukeL_ [unknown@unaffiliated/lukel] has quit [Quit: Good bye] 16:03:30 -!- reav_ [~reav_@212.88.117.162] has quit [Quit: ~ Trillian Astra - www.trillian.im ~] 16:04:12 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 16:04:28 redline6561 [~redline@c-66-56-55-169.hsd1.ga.comcast.net] has joined #lisp 16:06:52 jconrad [~jconrad@host109-153-37-45.range109-153.btcentralplus.com] has joined #lisp 16:09:32 -!- bsod1 [~osa1@88.244.169.150] has quit [Ping timeout: 255 seconds] 16:09:43 dreamcode [~Wistful@unaffiliated/wistful] has joined #lisp 16:09:46 Well, this is going quite well. I have almost 100% coverage on the tests of the cons-high module of SICL. Today, I have been working on restructuring the module so that error reporting is very precise, including the name of the construct (function, macro) that detected the error. That will likely take a few more days of work (which means at least a week or two of calendar time). Finally I have to write the remaining docstrings, an 16:09:46 then the module should be ready to go. 16:10:38 -!- dreamcode [~Wistful@unaffiliated/wistful] has left #lisp 16:12:36 super-excellent 16:13:48 Thanks! It is quite nice how having a complete test suite gives the courage (as they say in XP) to make the changes. 16:15:30 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 16:16:30 _mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 16:16:48 -!- jconrad [~jconrad@host109-153-37-45.range109-153.btcentralplus.com] has quit [Ping timeout: 245 seconds] 16:17:53 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Read error: Connection reset by peer] 16:20:48 jconrad [~jconrad@host109-153-32-92.range109-153.btcentralplus.com] has joined #lisp 16:21:32 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 16:22:38 Where has minion gone to? 16:23:57 vacation 16:24:53 That's not a euphemisn, is it? 16:25:03 Did you put minion down, stassats? 16:25:08 -!- jconrad [~jconrad@host109-153-32-92.range109-153.btcentralplus.com] has quit [Ping timeout: 245 seconds] 16:25:57 i don't think so 16:26:24 We would understand. Minion can be quite obnoxious sometimes. 16:29:45 superflit [~superflit@c-24-9-162-197.hsd1.co.comcast.net] has joined #lisp 16:30:25 freddie111 [~user@ppp-94-64-128-109.home.otenet.gr] has joined #lisp 16:30:34 -!- dean [~deanz@onshore-gw.logika.net] has quit [Disconnected by services] 16:30:49 dean [~deanz@64.241.87.62] has joined #lisp 16:31:12 jconrad [~jconrad@host86-145-189-2.range86-145.btcentralplus.com] has joined #lisp 16:31:16 -!- dean is now known as Guest43858 16:38:04 -!- schaueho [~schaueho@dslb-088-066-015-200.pools.arcor-ip.net] has quit [Quit: Leaving] 16:38:48 bsod1 [~osa1@88.244.225.203] has joined #lisp 16:38:50 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 245 seconds] 16:43:41 -!- freddie111 [~user@ppp-94-64-128-109.home.otenet.gr] has left #lisp 16:46:22 i wanted to know if it was possible to check if a key exists in a hashtable, if it doesn't then I want to add in this key with the empty list '() as it's value, else if it exists I want to push the new value to it's existing list of values 16:46:50 I don't think I can do it with (setf (gethash .... syntax.. or can I? 16:47:02 edlinde: one idiom for that is (push value (gethash key table nil)) 16:47:07 -!- jconrad [~jconrad@host86-145-189-2.range86-145.btcentralplus.com] has quit [Ping timeout: 240 seconds] 16:47:30 i see 16:47:41 sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 16:47:58 is it (gethash key table nil) ? 16:48:10 is it what? 16:48:12 I thought it was (gethash key table) 16:48:14 ? 16:48:15 <`3b`> why would you want to ignore the value if the key isn't in the hash table yet? 16:48:17 clhs gethash 16:48:18 http://www.lispworks.com/reference/HyperSpec/Body/f_gethas.htm 16:48:42 ah right get you optional default 16:49:52 `3b`: you are right, I actually need to push the new value when I don't find it in the hash table 16:50:26 I think I got confused because initially when I create the hash table, the values will be a struct which holds a list in it 16:50:33 *Xach* also likes (incf (gethash key table 0)) 16:51:25 <`3b`> edlinde: ok, in that case, Xach's suggestion is what i would use as well 16:51:38 netytan_ [~netytan@host86-175-234-32.wlms-broadband.com] has joined #lisp 16:51:48 -!- netytan [~netytan@host81-141-51-168.wlms-broadband.com] has quit [Ping timeout: 245 seconds] 16:51:48 -!- netytan_ is now known as netytan 16:51:50 the (push value .. one yeah? 16:52:26 Xach: I need the incoming string that I match against the key, to be inserted as the key 16:53:01 -!- netytan [~netytan@host86-175-234-32.wlms-broadband.com] has quit [Client Quit] 16:53:05 hmm, maybe I'll access ms sql through rdnzl 16:53:13 but I get the push syntax... thanks 16:53:23 netytan [~netytan@host86-175-234-32.wlms-broadband.com] has joined #lisp 16:53:32 -!- Euthydemus [~euthydemu@vaxjo3.23.cust.blixtvik.net] has quit [Ping timeout: 240 seconds] 16:53:55 syntard: a freetds binding would be interesting. 16:54:15 -!- chp [~chp@114.113.66.117] has quit [Quit: leaving] 16:55:17 Xach: I compare to strings ... so does this mean when I do a make-hash-table I pass it in a :test #'equal? 16:55:45 edlinde: yes. 16:55:49 ok cool 16:55:53 mycket bra! 16:56:14 hehe 16:56:15 Xach: doesn't cl-sql use it ? 16:56:39 syntard: I don't know. I didn't think so. 16:57:17 xach: google found this http://code.google.com/p/cl-mssql/ 16:59:35 syntard: Looks good. And archimag is actually the guy *behind* RESTAS as I recall... 17:00:18 syntard: Based on that, dependencies and the fact that it's still active it might be the best choice for MSSQL. How's that going? 17:01:31 redline6561: I've put further attempts off till Monday, plus waiting for feedback on weblocks google group. for now just putting feelers out 17:01:54 syntard: Good deal. 17:03:08 Xach: I just realised that what I am trying to do is a bit more complicated unfortunately :( 17:03:24 Authentication won't be an issue because lisp will run under authorized user, so freetds may be an overkill for me 17:03:49 Xach: when I find the key, I have to increment a counter in the value of that key, + push the new node to the list 17:04:17 Xach: when I don't find it, the counter is 1 (seen the first time) + push new node to empty list 17:05:16 I am a bit confused because I read somewhere that gethash returns two values when it finds something 17:05:20 so... 17:06:49 edlinde: you could keep two tables. one for counts, and one for lists. 17:07:36 hmm I really didn't want to do that... is this my only option? 17:07:57 otherwise yeah I was going to make the value as a struct which held the count and list 17:08:27 is it not possible to do a normal cond or if on gethash? and then act accordingly? 17:10:04 maxmuen [~maxmuen@shell.c-base.org] has joined #lisp 17:11:30 edlinde: of course 17:11:38 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 17:12:16 Bronsa [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has joined #lisp 17:12:28 syntard: you mean I can do an if on the gethash to check if it returned true, and act accordingly? 17:12:42 edlinde: why don't you want to do that? 17:12:42 but I suppose the code might not look as clean? 17:13:07 Xach: you mean keeping two hash tables? 17:13:19 edlinde: if and cond need a value, how would you get that value? 17:14:23 I was thinkin something like (cond (( null (gethash ... ) insertion-code) 17:14:46 would that work? 17:14:52 edlinde: btw, loop can iterate over hashes 17:15:14 jconrad [~jconrad@host109-153-44-116.range109-153.btcentralplus.com] has joined #lisp 17:15:20 fgump [~gauthamg@188.74.82.177] has joined #lisp 17:15:38 edlinde: Yes, I mean that. 17:15:41 edlinde: i see, you don't want to deal with multiple values? 17:16:18 Its that I later on have to pass this header-table to a few functions which might have to make recursive calls to themselves 17:16:33 so wasn't sure if it will be a pain to maintain two hash tables 17:16:48 also I need to write some sort of hash iterator too 17:17:07 remember I am just a CL newbie :) 17:17:17 clhs w-h-i 17:17:17 Sorry, I couldn't find anything for w-h-i. 17:17:24 clhs w-h-t-i 17:17:24 WITH-HASH-TABLE-ITERATOR: http://www.lispworks.com/reference/HyperSpec/Body/m_w_hash.htm 17:17:30 b-man_ [~b-man@189.34.57.132] has joined #lisp 17:18:33 Hehe, I though multiple-value-bind was a long symbol name 17:18:42 clhs u-i-f-r-c 17:18:43 UPDATE-INSTANCE-FOR-REDEFINED-CLASS: http://www.lispworks.com/reference/HyperSpec/Body/f_upda_1.htm 17:18:56 what do you say now? 17:19:10 I think I may need a bigger monitor 17:19:31 -!- maxmuen [~maxmuen@shell.c-base.org] has left #lisp 17:19:37 Maybe widescreen was really invented for lisp coding 17:19:55 cinch- [~cinch@85-127-116-88.dynamic.xdsl-line.inode.at] has joined #lisp 17:19:57 Guthur: You might find some interesting names in CLIM as well. 17:20:03 cullan [~user@97-87-103-19.dhcp.stls.mo.charter.com] has joined #lisp 17:20:08 widescreen rotated 90° 17:20:15 maxmuen [~maxmuen@shell.c-base.org] has joined #lisp 17:20:18 that's what i've seen on lispm pictures 17:20:59 So, "longscreen"? :) 17:21:05 -!- maxmuen [~maxmuen@shell.c-base.org] has left #lisp 17:21:14 It really makes sticking to 80 character lines a challenge... 17:21:31 -!- benny [~benny@i577A2DCB.versanet.de] has quit [Ping timeout: 240 seconds] 17:21:33 actually, that's what i had to do when i was running MIT CADR emulator 17:21:34 Hi everyone. 17:21:50 hello cullan 17:22:11 New here? 17:22:25 Yes. 17:22:32 What brings you to #lisp? 17:23:11 -!- cinch [~cinch@unaffiliated/cinch] has quit [Ping timeout: 276 seconds] 17:23:15 clim c-l-r-r-a-f-p-c 17:23:16 command-line-read-remaining-arguments-for-partial-command: http://bauhh.dyndns.org:8000/clim-spec/27-6.html#_1442 17:23:27 He's going to be in trouble with the topic police if it is lisp 17:23:29 stassats: Nice!!!!! 17:23:33 is/ is not 17:23:38 I have been learning lisp and I wondered if anyone had a suggestion for a common lisp project I could look at and perhaps fix a bug or two and get my feet wet. 17:24:01 Guthur: No worries. The topic is lisp related. :P 17:24:03 cullan: There are plenty of projects on common-lisp.net that you can participate in. 17:24:12 Indeed. 17:24:15 cullan: What kind of things are you interested in? 17:25:24 stassats: eight words for a command name, forth programmers will have a fit 17:25:52 i like this: CCL::STRING-OUTPUT-STREAM-IOBLOCK-WRITE-CHAR-WITHOUT-TRANSLATION-WHEN-LOCKED-FUNCTION 17:26:05 Wow! 17:26:12 *syntard* is having doubts about ccl now 17:26:27 exactly 80 characters 17:26:42 Good question. I guess I have a wide variety of interests. I am a biology/CS major in university at the moment. Anything with a biology angle would be really cool but I also like web programming and robotics/automation. 17:27:09 cullan: slyrus probably has some biology-related stuff to recommend. 17:27:12 it's taking the whole meaningful name things a little too far if you ask me 17:27:47 cullan: My colleague Marie probably does as well, but she doesn't come here very often. 17:28:11 nefo [~nefo@2402:f000:5:8f01::143:81] has joined #lisp 17:28:11 -!- nefo [~nefo@2402:f000:5:8f01::143:81] has quit [Changing host] 17:28:11 nefo [~nefo@unaffiliated/nefo] has joined #lisp 17:28:17 cullan: But you may write to her: beurton [at] labri [dot] fr. 17:28:31 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 17:28:34 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 17:28:56 cullan: She uses Lisp to simulate chemical processes in cells. 17:28:57 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 17:29:24 beach: That sounds really cool. I will send her an email. Thanks! 17:29:35 Sure, no problem. 17:32:18 jconrad_ [~jconrad@host109-153-57-204.range109-153.btcentralplus.com] has joined #lisp 17:33:02 attila_lendvai [~attila_le@adsl-89-134-28-196.monradsl.monornet.hu] has joined #lisp 17:33:27 jleija [~jleija@user-24-214-122-46.knology.net] has joined #lisp 17:34:19 -!- jconrad [~jconrad@host109-153-44-116.range109-153.btcentralplus.com] has quit [Ping timeout: 245 seconds] 17:34:22 -!- jconrad_ is now known as jconrad 17:35:39 I'm following the instructions on cliki to get asdf-install working. 17:36:26 Found a couple of mis-matched parens errors in their "official latest release" tarball, from 6 months ago 17:36:34 jimrthy: These days, we recommend you use quicklisp instead of asdf-install. 17:36:40 That was where I was heading. Thanks 17:36:59 Oh, yeah...and thank you, Xach. Quicklisp looks amazing 17:37:11 no problem, hope it helps. 17:38:43 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 17:40:39 -!- gz [gz@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout] 17:41:07 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 240 seconds] 17:41:18 -!- netytan [~netytan@host86-175-234-32.wlms-broadband.com] has quit [Quit: netytan] 17:43:47 -!- cinch- is now known as cinch 17:43:47 -!- cinch [~cinch@85-127-116-88.dynamic.xdsl-line.inode.at] has quit [Changing host] 17:43:48 cinch [~cinch@unaffiliated/cinch] has joined #lisp 17:44:32 -!- Ragnaroek [~chatzilla@pD951ED89.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 17:45:27 is there a way to store the value returned from gethash when it finds something? 17:45:35 or will it always return T when it does? 17:45:57 edlinde: You make no sense. 17:46:14 Maybe you're looking for alexandria's ensure-gethash 17:46:56 something like table-value = (gethash search-key header-table) 17:47:16 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 17:47:17 and if it found something then the value of the hash table can be found in "table-value" 17:47:29 tcr: ok will look 17:47:33 mcsontos [~mcsontos@hotspot8.rywasoft.net] has joined #lisp 17:47:34 and if not? 17:47:44 Do you know about LET? 17:47:44 nil 17:47:53 yeah I use LET to store this 17:47:58 edlinde: That will happen by default. 17:48:01 I concur with beach 17:48:21 ok didn't know that 17:48:36 so it will automatically set the value it found to my variable yeah 17:48:45 is that what you saying? 17:48:45 edlinde: When are you going to learn to check the relevant CLHS pages? 17:48:51 No. 17:48:56 edlinde: No because what you said does not make sense 17:49:01 And that is not what you said either. 17:49:05 What is "it"? What is "set"? 17:49:18 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Ping timeout: 245 seconds] 17:49:46 edlinde: Read the relevant chapter in PCL about multiple values 17:50:09 ok 17:50:23 edlinde: I think you will find that when you use the right terminology, and when you have thought about a precise explanation of your problem, you will get much more relevant answers to your questions here. 17:51:01 ok, I was saying will it "bind" the value returned from the gethash to my let variable? 17:51:16 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 17:51:22 tcr: if its returning multiple values.. do I use that value clause? 17:51:33 I remember reading about it somewhere... is that what you are hinting at? 17:52:15 edlinde: OK, since you don't want to read up, how about the alternative solution that you try to explain what it is that you want to do? 17:52:42 beach: its ok I rather read :) 17:56:20 -!- az [~az@p4FE4ED14.dip.t-dialin.net] has quit [Ping timeout: 245 seconds] 17:59:55 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 17:59:56 netytan [~netytan@host86-175-234-32.wlms-broadband.com] has joined #lisp 18:00:35 edlinde: i'll give you a shortcut this time: in CL, a function can return multiple values. anything you do "normally" only operates on the first return value 18:01:08 pmd: I found the multiple-value-bind 18:01:12 was thinking of using that 18:01:14 edlinde: if you need the other values, check multiple-value-bind (kind of let for multiple values), multiple-value-setq and values-list 18:01:22 gigamonkey [~user@adsl-99-24-218-110.dsl.pltn13.sbcglobal.net] has joined #lisp 18:01:32 was thinking something along the lines of 18:01:33 (multiple-value-bind (val predicate) (gethash 'one-entry *my-hash*) (list val predicate)) 18:01:36 I do miss multiple value returns when working in other languages 18:01:39 edlinde: if you only need the first value, don't bother using any of them 18:01:44 they are rather handy 18:01:55 -!- jconrad [~jconrad@host109-153-57-204.range109-153.btcentralplus.com] has quit [Ping timeout: 240 seconds] 18:01:58 pmd: yeah I actually need only the first value returned 18:02:38 seangrove [~user@70-6-88-221.pools.spcsdns.net] has joined #lisp 18:02:50 pmd: so if I just said something as simple as (let (( table-val (gethash... ) ... I will get the value bound in table-val as its the first thing returned? 18:02:52 Guthur: But you don't miss multiple inheritance, multiple dispatch, bignum arithmetic, rational arithmetic, a working condition system, etc? 18:02:54 edlinde: ok, now go read the chapters in CLHS about control-flow to check what i've just said 18:03:26 edlinde: maybe; if there is no such key, it'll return nil 18:03:36 pmd: yep ok 18:03:45 edlinde: but if you always put values that are not nil, then yes 18:03:46 beach: no rational and bignum arithmetics is a big turn off for me 18:04:04 pmd: ok thanks 18:04:06 i recently toyed with SmallTalk, and it has both 18:04:24 edlinde: so, for gethash, you only need the second return value if you actually store nil's (or empty lists) in your hash table 18:04:32 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 240 seconds] 18:04:53 -!- _mathrick is now known as mathrick 18:04:59 pmd: agreed 18:05:12 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 240 seconds] 18:05:14 jconrad [~jconrad@host86-145-188-125.range86-145.btcentralplus.com] has joined #lisp 18:05:24 clhs nth-value 18:05:25 http://www.lispworks.com/reference/HyperSpec/Body/m_nth_va.htm 18:05:30 Any suggestions for lisp unit testing? 18:05:36 beach, Yeah the list is quite long to be honest 18:05:50 seangrove: I use lisp-unit, but not because I am well informed. 18:06:03 seangrove: It does work well for me, though. 18:06:15 -!- stassats [~stassats@wikipedia/stassats] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:06:15 beach: And do you put mix your tests with your source, or do you make a secondary package? 18:06:17 I did start missing the condition system a lot recently, C#'s exception system is a little meh 18:07:41 seangrove: I put the tests in a separate package, because I do a mixture of black-box and white-box testing in that I want my tests to only use the API, but I allow myself to have tests that juggle particular special cases of the implementation. 18:08:04 az [~az@p4FE4ED8A.dip.t-dialin.net] has joined #lisp 18:08:08 seangrove: people tend to like the (optional) interactiveness of hu.dwim.stefil 18:09:27 Checking it out now... 18:10:33 -!- tritchey [~tritchey@c-68-51-112-174.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 18:10:35 how much of a bad idea would it be to (defvar _) so that any _ in a lambda-list would not require (declare (ignore X))? 18:11:46 -!- Lycurgus [~juan@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 18:11:52 -!- Bronsa [~bronsa@host231-183-dynamic.6-79-r.retail.telecomitalia.it] has quit [Quit: leaving] 18:12:06 s/X/_ 18:12:07 pmd: I've always wondered about a way to do something like that 18:12:20 pmd: (lambda (_ foo _) ...) will still fail. Plus, it's not much simpler than (lambda (_ foo) _ ...) 18:13:20 pmd: It's not just about avoiding the declaration. It's about showing your maintainer that you know what you are doing by explicitly ignoring the variable. 18:14:03 pkhuong_: why will it tail? 18:14:21 beach: true, but here i assume the maintainer would know about _ 18:14:57 s/tail/fail 18:15:32 nyef [~nyef@pool-64-222-179-143.man.east.myfairpoint.net] has joined #lisp 18:15:39 pmd: Well, it is always a good idea to assume the maintainer knows about agreed-upon shared culture and not much else. They can be educated of course. 18:16:41 kae_ [~dsa@ext02.gsp.se] has joined #lisp 18:17:31 beach: a maintainer must be educated about coding style and a dozen other politics, _ would be just another one 18:17:59 I never like the _ convention much 18:18:08 like/liked 18:18:15 Bronsa [~bronsa@host25-179-dynamic.14-87-r.retail.telecomitalia.it] has joined #lisp 18:18:16 pmd: multiple variables with the same name. 18:19:16 ... _ ? Isn't that an assignment operator in some setups? 18:19:20 pmd: I think you are wrong about that. In CL we are lucky that there is a widely agreed-upon coding style that most people know. If you stick to that, you don't need to educate your maintainers much, other than in domain-specific idioms. 18:19:47 Guthur: i don't like it for top-level definitions, but it's very handy for lambdas (don't hit me, i know, closures), destructuring-bind and *-bind et al 18:20:13 janissary [~bleh@64.134.186.231] has joined #lisp 18:20:33 -!- churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 245 seconds] 18:20:49 necroforest [~jarred@pool-108-18-226-169.washdc.fios.verizon.net] has joined #lisp 18:21:09 beach: i don't agree. some people use the condition and restart systems to a great extension, others prefer to return error codes, others to set global variables 18:21:41 pmd: Sorry to hear that. 18:22:04 beach: some people love mixins, others love multiple inheritance of classes that weren't meant to mingle, others just use single inheritance and dispatch methods on the first argument only, etc 18:22:15 beach: me too, but that's life 18:22:23 tritchey [~tritchey@c-68-51-112-174.hsd1.in.comcast.net] has joined #lisp 18:23:16 pmd: I'd like to meet the people that prefer to return error codes 18:23:27 beach: some people use lisp's doc strings, others use comments near top-level definitions 18:23:30 pmd: I definitely know that there are people, usually newbies, that don't yet know the conventions. That doesn't mean that we should cater to the desires of those people. 18:23:48 pmd: Comments and docstrings have different target audiences. 18:24:28 drdo: really? 18:24:36 pmd: Comments are meant for the people who read the code. Docstrings are for the API users that don't necessarily intend to read or maintain the code. 18:25:08 pmd: If you don't know how to distinguish those two, you are likely to put the wrong information in there. 18:26:01 beach: ok, my point is that CL's culture is not that univocal and doesn't cover everything, and that's natural 18:26:23 -!- petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 18:26:30 pmd: But you failed miserably to make your point from your examples. 18:26:57 *pmd* hides behind bushes in shame 18:27:06 sigjuice [~sigjuice@c-71-198-22-233.hsd1.ca.comcast.net] has joined #lisp 18:28:17 Zhivago: around? 18:28:18 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 18:28:33 pkhuong_: what phorbids having the same name twice in a lambda list? 18:28:35 pmd: Yes, no one in their right might would prefer that unless all they write are hello world programs 18:29:11 jconrad_ [~jconrad@host109-156-3-25.range109-156.btcentralplus.com] has joined #lisp 18:29:18 -!- jconrad [~jconrad@host86-145-188-125.range86-145.btcentralplus.com] has quit [Ping timeout: 245 seconds] 18:29:18 -!- jconrad_ is now known as jconrad 18:29:46 sykopomp` [~sykopomp@c-66-41-249-30.hsd1.mn.comcast.net] has joined #lisp 18:30:07 drdo: i'm not saying they should, i'm just stating that there exists code like this, and no, i didn't do it, and no, i won't (can't) show it to you, so you'll have to believe me (for what it's worth) 18:30:23 -!- sykopomp` [~sykopomp@c-66-41-249-30.hsd1.mn.comcast.net] has quit [Changing host] 18:30:23 sykopomp` [~sykopomp@unaffiliated/sykopomp] has joined #lisp 18:30:28 -!- sykopomp [~user@c-66-41-249-30.hsd1.mn.comcast.net] has quit [Disconnected by services] 18:30:32 -!- sykopomp` is now known as sykopomp 18:30:50 pmd: Relax, i'm not attacking you :) 18:31:03 *Xach* has a video of beach he needs to watch sometime 18:31:10 Has anyone used lispbuilder-sdl on os x? 18:31:31 Xach: Of me? When was I recorded? 18:31:39 beach: 2002 18:31:50 Xach: what event? 18:31:54 ILC 18:32:02 Ah, in SF was it? 18:32:18 yes 18:32:30 Must have talked about CLIM-related stuff then, I suppose. 18:32:40 drdo: :) i know, i just kind of answering to your will to meet people 18:32:48 beach: gsharp, the website says 18:32:49 Zhivago: Most Vietnamese email I get has a single unicode code point for each "character". Some others have two code points, with the accent following the character. Is there a general method to turn the second version into the first, or do I just have to design my own normalization procedure? 18:33:00 Xach: Oh, right, it all comes back. 18:33:05 *drewc* uses the _ convention in his monad binding macro, but would never (defvar _). 18:33:13 hm 18:33:26 the one with composition characters are probably from macs (that's how it stores unicode) 18:33:30 beach: I think there are algorithms defined along with the normalisation forms. 18:33:34 everything else uses precomposed characters 18:33:51 if declare (ignore _) worked, i might consider doing that. 18:33:56 Odin-: I would expect there to be, but I don't know them. 18:33:59 lispm [~lispm@g224120152.adsl.alicedsl.de] has joined #lisp 18:34:12 and yes, what Odin- said 18:34:20 well, probably 18:34:21 ._. 18:34:23 Kovensky: OK. 18:34:25 churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 18:34:35 *Kovensky* hasn't dealt with unicode conversions yet 18:34:37 http://www.unicode.org/reports/tr15/ should have something to say about it... 18:35:16 Hm, no actually, sorry. It's part of the standard itself. 18:35:35 drewc: (declare (ignore _)) won't work for (lambda (_ a _) ...), because it'll apply only to the last _, so a warning still shows up for the first 18:35:40 there are indeed sorting definitions for all composed characters 18:37:15 pmd: so don't do that. 18:38:55 pmd: defmacro fn would be an option if it's a common pattern in a specific piece of code 18:39:09 drewc: if you (defvar _), you don't have to. perhaps it would be better to (declaim (special _)) 18:39:20 no 18:39:32 that doesn't communicate the intent at all 18:39:35 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 18:40:03 and also makes _ special :) 18:44:05 pmd: (defmacro my-fn (args &body body) (let (ignores) (lambda ,(loop for arg in args collect (if (string-= "_" arg) (let ((arg (gensym)) (push arg ignores) arg)) arg)) ,@(when ignores `((declare (ignore ,@ignores)))) ,@body))) or something 18:44:33 *drewc* missed the first ` in front of LAMBDA 18:44:44 petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has joined #lisp 18:45:52 *drewc* also typed 'string-=' when he meant 'string=' 18:47:04 -!- silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has quit [Remote host closed the connection] 18:47:14 but, that's only if it's a _really_ common pattern, otherwise name em and ignore em 18:47:38 drewc: that seems ok, but i'd have to do it for destructuring-bind, multiple-value-bind (eg. for decode-universal-time), let (i.e. "ghost" bindings inserted for side-effects, as to avoid progn's or let's inside let's) 18:48:19 ok 18:51:18 jacek57 [~jacek@c83-254-129-234.bredband.comhem.se] has joined #lisp 18:51:20 -!- jconrad [~jconrad@host109-156-3-25.range109-156.btcentralplus.com] has quit [Ping timeout: 245 seconds] 18:53:05 -!- morphling [~stefan@gssn-5f75706f.pool.mediaWays.net] has quit [Remote host closed the connection] 18:53:17 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 18:53:34 or, you avoid the need to ignore so many variable names! 18:54:02 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 18:55:14 -!- fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has quit [Ping timeout: 264 seconds] 18:55:31 fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has joined #lisp 18:57:09 pmd: something like (let ((_ (foo)) (a (bar))) is idiomatically expressed as (let ((a (progn (foo) (bar)))), and that's not something to avoid. 18:57:18 -!- thom_logn [~thom@pool-74-100-140-188.lsanca.fios.verizon.net] has quit [Quit: This computer has gone to sleep] 18:57:34 (if anything, side-effects are what you want to avoid, but that's another conversation all together. 18:57:43 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Client Quit] 18:58:28 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 18:58:46 -!- daniel___ is now known as daniel 19:02:13 -!- petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 19:03:54 drewc: do you have a project page for your monad stuff yet? 19:04:33 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 19:04:39 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 19:05:16 dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 19:09:40 thom_logn [~thom@pool-74-100-140-188.lsanca.fios.verizon.net] has joined #lisp 19:15:03 -!- b-man_ [~b-man@189.34.57.132] has quit [Ping timeout: 265 seconds] 19:15:54 syntard: nope... i'll be releasing it as part of 'lil', which is fare's interface-passing stuff + my monads. I'm hopeing to get to that this weekend, but i say that a lot, so don't hold your breath ;) 19:16:41 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 19:18:15 drewc: I'm still figuring them out. The links I have serve for now. 19:23:49 I'm either irritated or probably jealous in thinking the significance of either of these 'discoveries' is blown out of proportion 19:25:56 Most super awesome "secret" techniques have been "known" for a long time but are way underused. 19:26:29 moah [~gnu@dslb-092-073-065-154.pools.arcor-ip.net] has joined #lisp 19:27:00 stassats [~stassats@wikipedia/stassats] has joined #lisp 19:27:21 hefner: what discoveries? 19:28:19 -!- churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 240 seconds] 19:28:50 -!- seangrove [~user@70-6-88-221.pools.spcsdns.net] has quit [Ping timeout: 245 seconds] 19:29:20 underused uncoveries 19:30:57 *syntard* checks his ignore list. Wonders if aborticide is giving a lecture. 19:31:51 although, I've yet to settle on an appreciation of monads as a generic and widely-applicable pattern and desirable to use even when your language doesn't cram them down your throat 19:32:12 the couple examples of monads I've read in CL come across as intentionally obfuscated 19:32:20 -!- Salamander [~Salamande@ppp118-210-148-99.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 19:33:15 hefner: everybody says they are useful 19:35:43 hefner: have you seen http://common-lisp.net/~dcrampsie/smug.html ? 19:37:38 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 19:39:22 yeah, but it's been a long time since I've read Hutton's paper, and my first reaction is to grumble something about being able to write a backtracking parser using a rewindable stream and catch/throw without the wankery 19:39:56 rewindable streams and catch/throw are not wankery? I mean, it's just a LAMBDA 19:40:02 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 19:40:02 -!- cullan [~user@97-87-103-19.dhcp.stls.mo.charter.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 19:40:28 and backtracking is certainly not the only good thing about the monadic Parser 19:42:10 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Ping timeout: 245 seconds] 19:42:32 I think I'm with hefner. It's a good pattern; the syntax used to expose it only serves to obscure how pedestrian it is, for people who just want to get nice code. 19:43:06 petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has joined #lisp 19:44:45 What's the interface passing 19:44:53 is it easier to understand than Monads 19:45:26 the let* syntax is obscure? 19:46:50 Salamander [~Salamande@ppp121-45-125-44.lns20.adl6.internode.on.net] has joined #lisp 19:46:52 Guthur: http://fare.livejournal.com/tag/interface-passing%20style 19:49:51 Guthur: to make a longish blog post short, adding an extra argument which methods dispatch on instead of (or in addition to) the instance they're operating on 19:51:46 symbole [~user@ool-182ffe8f.dyn.optonline.net] has joined #lisp 19:53:43 although, if it spares the CL world from being subjected to another generic algorithm / data structure library that wants to own all your data and instead of adapting to it, it certainly deserves more attention 19:53:59 hefner, oh cheers, that's certainly a bit more succinct 19:54:16 Guthur: the canonical example (fetch :key list) vs (fetch :key list) 19:54:51 katesmith [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has joined #lisp 19:54:51 -!- katesmith [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has quit [Changing host] 19:54:51 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 19:56:22 (fetch :key tree-of-conses) etc 19:56:25 seems quite straight forward 19:56:33 does it try to solve the problem that plists and alists are not proper data structures? 19:56:48 stassats: I think that's the point. 19:57:11 stassats: that's one of the things it's designed to do, yes. 19:57:18 certainly more digestible than monads 19:57:23 (lists are not even proper data structures!) 19:57:25 the 'data structure' is defined by the interface that you pass it, not by the type of the actual data structure object. 19:58:11 Adlai [~adlai@unaffiliated/adlai] has joined #lisp 19:58:18 what crazy things people do just not to use normal ways of defining data structures... 19:58:26 kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has joined #lisp 19:58:57 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 19:58:59 using cons is not a normal way to define a data structure? 19:59:13 it's a poor way 19:59:35 what's the normal way of defining data structures? 19:59:48 defstruct/defclass 20:00:12 so that you can at least distinguish between each other 20:00:13 use them if you like, it's not relevant 20:00:16 sjl [~sjl@74-44-73-57.dsl1-field.roch.ny.frontiernet.net] has joined #lisp 20:00:19 so normal here means 'object oriented' or 'record oriented' 20:01:03 and this is anonymous oriented where the user should know what kind of data he has? 20:01:16 that doesn't sound like a good abstraction 20:02:04 depends how you want to travel: light or heavy 20:02:09 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 20:02:13 use defclass if you prefer, the point (or one point) there may be multiple contexts in which you want to use instances different way, such that the class alone isn't sufficient to determine which 20:02:54 a concrete example is a graph library, or a library implementing an abstraction of linked lists (think of how they do it in the Linux kernel, if you're familiar) 20:03:29 then (search-tree ...)/(search-tree ...) would be a better example 20:03:44 the only big turnoff is having to keep passing the objects around... 20:04:22 Interface Keeping Style 20:05:32 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 240 seconds] 20:07:59 my personal experience is defining a graph protocol where the 'interface' indicated 1) the kind of graph, 2) *which* graph - I had a set of machine instructions (CLOS instances) and could provide different interfaces to traverse a graph locally in a basic block, within a function, or across functions 20:08:04 sykopomp: in practice that's mostly a non issue, and in my experience well worth the trade off to get dynamic dispatch. The other options (binding a special, or static dispatch) are both significantly worse in practice, imo. 20:08:20 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 20:08:59 sjl_ [~sjl@74-44-76-250.dsl1-field.roch.ny.frontiernet.net] has joined #lisp 20:08:59 drewc: I didn't think they made the code very readable. 20:09:09 what are the interface objects? wrappers? keywords? 20:09:21 pmd: classes 20:09:24 singleton instances bound to a special variable. 20:09:27 well, instance of classes 20:09:50 so they're actually dynamic variables... 20:09:55 which also sort of smells. 20:09:55 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 20:10:33 SpitfireWP_ [~Spitfire@wikipedia/spitfire] has joined #lisp 20:10:43 -!- sjl [~sjl@74-44-73-57.dsl1-field.roch.ny.frontiernet.net] has quit [Ping timeout: 240 seconds] 20:10:43 -!- sjl_ is now known as sjl 20:10:47 sure, like someone working up a sweat 20:11:22 Or like that hobo that just walked by you in the bus speaking nonsense. 20:11:29 sykopomp: one could trivially use global lexicals, and not all interfaces are singletons, but i agree that common lisp specials are a poor default for toplevel variables. 20:11:55 sykopomp: no, indeed I think that distinction is the crux of the issue :) 20:12:16 unfortunately, IPS is an attempt to use idiomatic CL to express these concepts, which means playing within the rules. 20:12:44 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 272 seconds] 20:12:50 yeah, when is cltl3 going to straighten this out with real global lexicals and global lexical thead-local variables? 20:13:03 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 265 seconds] 20:13:07 now that quicklisp exists, it might be productive to revisit cltl3 20:13:19 (I suppose the latter isn't so "global") 20:14:30 there was way too much 'standard library + distribution mechanism' talk last time, and i got sick of trying to explain that the goals of cltl3 were to describe a langauge that could support such a thing, not to actually create such a thing. 20:15:03 hey, SBCL is forward thinking, maybe they'd accept a patch adding thread-local versions of Nikodemus's defglobal 20:15:09 Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has joined #lisp 20:15:42 It's in the bug tracker already 20:15:51 just lacks the patch 20:17:39 -!- SpitfireWP_ is now known as SpitfireWP 20:19:45 -!- netytan [~netytan@host86-175-234-32.wlms-broadband.com] has quit [Quit: netytan] 20:20:55 drewc: After reading Mike Vanier's monad tutorials, I can understand smug :) 20:21:28 well, FWIW, the 'other' way to do interfaces like this in CL is AS, which is actually probably preferable for the conservatives.. 20:21:46 (fetch :key (as list)) 20:23:13 i haven't played with that style enough to have a preference, but IPS is currently working for my needs, and i could trivially swap out another implementaiton of the standard monads, so for now i'm using IPS 20:23:31 Just an FYI in case anyone's (Xach?) interested--running (ql:system-apropos "unit") in slime using ccl seems to have frozen emacs (23) 20:24:12 not for me 20:24:19 but quicklisp does sometimes hang 20:24:19 drewc: I kinda like AS! 20:24:30 tcr: that's cool, I rather expected having to justify them versus just using specials 20:24:38 there are compelling arguments for AS, not the least of which is that you don't have to pass the interface around when you don't really need it because out _can_ dispatch on the value type of the arguments 20:24:40 No big deal, and it could easily be a configuration issue. But it managed (ql:system-apropos "clim") just fine 20:24:41 although it might be a little obnoxious to have to manually 'destructure' it while defining things. 20:25:03 sykopomp: right, there are trade offs 20:25:06 but I guess if you already have to pass the interface around... 20:25:12 it's also hard to do a non-consing as 20:25:26 yeah. 20:25:26 I share this on the off-chance that this might be someone with a clue might be able to reproduce and possibly know enough to diagnose a [potential] bug 20:25:31 drewc: you could use DEFRESOURCE :) 20:25:56 it's hard to do non-consing persistent data structures, though! 20:26:18 syntard: thanks 20:26:59 sykopomp: you could coalesce, but that does seem worse 20:27:15 jimrthy: quicklisp just hung several times for me yesterday. Maybe network issues 20:27:30 -!- fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has quit [Quit: humhum] 20:28:15 sykopomp: passing the interface around is, again, not a real issue in practice. you always bind it to a one letter variable, and much _less_ annoying than having to pass around a certain function to write generic code (bad example but i hope you get it: (fetch :key plist :getter getter) vs (fetch i :key plist)) 20:28:25 -!- OliverUv [~gandhi@34.81-167-250.customer.lyse.net] has quit [Remote host closed the connection] 20:28:44 drewc: single letter variables? :( 20:29:18 jeti [~user@p54B46BA2.dip.t-dialin.net] has joined #lisp 20:29:25 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 20:30:34 sykopomp: yes. by convention you know 'i' is always the interface, again, not a problem in practice. 20:30:37 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has left #lisp 20:31:05 benny [~benny@i577A2211.versanet.de] has joined #lisp 20:31:54 drewc: 'practice' seems to be limited to you and Faré right now, mostly. 20:32:00 of course, if you don't need to solve the problems that IPS solves, i suppose complaining about the non-problems you've never encountered is another option :P 20:32:19 jimrthy: do you have a very fast connection? 20:32:38 It just smells, like introducing 'it' as a lexical variable with a macro. 20:32:58 i don't see it... what's the connection? 20:33:42 -!- HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has quit [Quit: HG`] 20:33:46 (defmethod fetch ((i ) key value) ...) the binding is lexically apparent, there is no magic 20:33:58 it just seems like there should be a nicer way that doesn't involve passing these things by hand, using global dynamic variables, singleton class instances with funny naming schemes... 20:34:31 HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has joined #lisp 20:34:32 there is, it's called haskell. 20:34:37 some of us prefer lisp 20:34:56 -!- zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:35:00 and are willing to put up with its faults because it brings a lot more to the table 20:35:10 -!- HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has quit [Client Quit] 20:35:35 -!- Bronsa [~bronsa@host25-179-dynamic.14-87-r.retail.telecomitalia.it] has quit [Quit: Lost terminal] 20:35:45 bmel [~bmel@li236-165.members.linode.com] has joined #lisp 20:35:46 morphling [~stefan@gssn-5f75706f.pool.mediaWays.net] has joined #lisp 20:36:52 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 20:37:42 syntard: I have a decent-speed connection (cable) 20:38:19 sykopomp: other approaches that achieve all that are out there.. cl-monad-macros, my own package-class based monads... 20:38:38 sykopomp: but IMO the cure is worse then the illness 20:39:45 and, there are actual real world advantages to having the interface as a first class object one can manipulate 20:40:33 drewc: what about allowing 'reification' in those cases? 20:40:45 no one wants to write code in CPS, do they? 20:40:51 mark` [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 20:41:17 GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has joined #lisp 20:41:21 -!- mark` is now known as skalawag 20:41:27 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has quit [Remote host closed the connection] 20:41:41 sykopomp: what good is getting hold of the interface when you know what it is staticly and can't manipulate dispatch at run time? 20:41:57 skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 20:42:23 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has left #lisp 20:42:44 me, i just think if the extra parameter as a type declaration, and i am happy 20:43:03 -!- symbole [~user@ool-182ffe8f.dyn.optonline.net] has quit [Read error: Connection reset by peer] 20:44:22 drewc: what are the cases where runtime manipulation of that dispatch becomes invaluable? 20:47:55 varjag [~eugene@4.169.249.62.customer.cdi.no] has joined #lisp 20:48:06 sykopomp: the obvious case is the desire to use generic functions and integrate with the rest of lisp, which is a dynamic language. 20:48:28 -!- rahul [~rjain@66-234-32-150.nyc.cable.nyct.net] has quit [Ping timeout: 245 seconds] 20:49:45 what's so bad about the dynamic variable idea? 20:50:22 closures? 20:50:30 rahul [~rjain@66-234-32-150.nyc.cable.nyct.net] has joined #lisp 20:50:38 right 20:51:06 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 20:53:16 Anyone else get a chance to read Norvig's SICP review on Amazon? 20:54:25 SpitfireWP_ [~Spitfire@wikipedia/spitfire] has joined #lisp 20:54:58 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Disconnected by services] 20:55:00 -!- SpitfireWP_ is now known as SpitfireWP 20:55:31 also, definitions. (defun fetch (key thing) (fetch-using-interface *interface* key thing)) (defmethod fetch-using-interface...) .. which is going to be more annoying, passing around the interface (maybe 3-4 significant characters per method, (and i generally only do so when defining interfaces... client code rarely has to pass the interface around), or defining extra methods :) 20:55:42 netytan [~netytan@host86-175-234-32.wlms-broadband.com] has joined #lisp 20:57:31 SegFaultAX, Hehe, I actually fancy getting the book now 20:57:49 AS suffers from a similar issue (and yes i know about macros :P, but usually try to find a solution that doesn't involve them, or involves them only minimally) 20:58:30 Guthur: You should! It's wonderful. 20:58:39 thwap to Norvig 21:00:02 pepone [~pepone@242.246.218.87.dynamic.jazztel.es] has joined #lisp 21:01:06 I tried to study the SICP, but it is really hard to me, I just started CS this year. I'm reading Land of Lisp right now.. 21:01:10 I can't believe I sold my copy of SICP when I was a poor student :( 21:01:24 sykopomp: i have concieved of syntax that avoids the need to pass the interface and simply expands to IPS style code. Also, if one uses contextl to define interface contexts, one can capture the interface via the dynamic environment. In the end, i think IPS is the least offensive solution, for now. Regardless, i think functional programming is an excellent fit for web development (they have the same ideas about state) and will continue 21:01:24 to explore those concepts in CL, which i also think is particularly well suited to web dev. 21:02:23 I look forward to seeing it progress. I completely acknowledge that there's very cool things about IPS :) 21:02:36 sykopomp: it's bound to be awkward... CL comes from a pre-web world and is not particularly functional :) 21:03:23 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 276 seconds] 21:03:30 -!- sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has quit [Remote host closed the connection] 21:07:03 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 21:07:39 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 21:11:06 -!- pepone [~pepone@242.246.218.87.dynamic.jazztel.es] has quit [Remote host closed the connection] 21:13:31 -!- netytan [~netytan@host86-175-234-32.wlms-broadband.com] has quit [Ping timeout: 240 seconds] 21:13:43 pepone [~pepone@242.246.218.87.dynamic.jazztel.es] has joined #lisp 21:13:45 netytan [~netytan@host86-175-234-107.wlms-broadband.com] has joined #lisp 21:14:43 -!- Holcxjo [~holly@home.sinclair-durer.net] has quit [Ping timeout: 245 seconds] 21:15:56 bsod1: Have you watched the SICP video lectures? 21:17:11 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 276 seconds] 21:17:43 drdo: no. I tried to watch it's first lecture but it looked very boring to me. 21:17:47 *sorry for my english* 21:18:15 pierrep [~ppasteau@dyn-219-017.wireless.concordia.ca] has joined #lisp 21:18:22 Zeiris_ [~Zeiris@66.183.73.102] has joined #lisp 21:18:43 -!- netytan [~netytan@host86-175-234-107.wlms-broadband.com] has quit [Quit: netytan] 21:18:58 What? Really? 21:19:20 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 21:19:22 I'd describe them as the absolute opposite of boring 21:20:05 -!- pierrep [~ppasteau@dyn-219-017.wireless.concordia.ca] has quit [Client Quit] 21:20:33 -!- petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 21:20:46 fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has joined #lisp 21:22:45 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 21:24:41 Holcxjo [~holly@home.sinclair-durer.net] has joined #lisp 21:26:43 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 21:27:28 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 272 seconds] 21:28:47 -!- xinming [~hyy@218.73.131.230] has quit [Ping timeout: 250 seconds] 21:29:11 -!- lispm [~lispm@g224120152.adsl.alicedsl.de] has quit [Remote host closed the connection] 21:29:26 churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 21:33:39 -!- bmel [~bmel@li236-165.members.linode.com] has quit [Quit: leaving] 21:34:08 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 21:37:13 -!- dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 245 seconds] 21:37:13 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 245 seconds] 21:37:26 @drewc: FWIW, it seems like a very cool idea to me, as well 21:37:33 Adlai` [~adlai@unaffiliated/adlai] has joined #lisp 21:37:55 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Disconnected by services] 21:38:01 -!- Adlai` is now known as Adlai 21:38:15 OK, just checking something here 21:38:57 I set up quicklisp to load on startup. Then quickload'd climacs. save-application and restart. No climacs 21:39:34 who provides save-application? 21:39:41 ccl 21:39:43 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Ping timeout: 245 seconds] 21:40:20 I'm guessing it's because mcclim uses ffi, and ccl isn't trying to save state with anything that involves native pointers 21:40:35 Is that a reasonable guess, or should I do more digging? 21:41:58 -!- jacek57 [~jacek@c83-254-129-234.bredband.comhem.se] has quit [Quit: jacek57] 21:46:07 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 250 seconds] 21:47:00 jimrthy: i don't think mcclim uses ffi. 21:47:07 LaPingvino [~LaPingvin@187.87.224.70] has joined #lisp 21:47:35 @Xach: cool, that gives me a direction to dig. Thanks 21:48:24 sjl_ [~sjl@173-86-137-225.dsl1-field.roch.ny.frontiernet.net] has joined #lisp 21:51:05 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 21:51:29 -!- sjl [~sjl@74-44-76-250.dsl1-field.roch.ny.frontiernet.net] has quit [Ping timeout: 276 seconds] 21:51:29 -!- sjl_ is now known as sjl 21:51:50 -!- urandom__ [~user@p548A6405.dip.t-dialin.net] has quit [Remote host closed the connection] 21:55:39 -!- ikki [~ikki@189.247.155.206] has quit [Ping timeout: 250 seconds] 21:56:10 ikki [~ikki@189.247.155.206] has joined #lisp 21:56:17 -!- fiveop [~fiveop@dslb-084-056-184-061.pools.arcor-ip.net] has quit [Quit: humhum] 21:56:34 homie` [~user@xdsl-87-79-232-166.netcologne.de] has joined #lisp 21:57:33 urandom__ [~user@p548A33EF.dip.t-dialin.net] has joined #lisp 21:58:50 -!- homie [~user@xdsl-87-79-40-105.netcologne.de] has quit [Ping timeout: 245 seconds] 22:00:58 gemelen [~shelta@shpd-92-101-129-253.vologda.ru] has joined #lisp 22:05:34 Xach: McCLIM uses FFI with some backends. 22:06:26 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Quit: Bye bye ppl] 22:08:40 -!- Zeiris_ [~Zeiris@66.183.73.102] has quit [Read error: Connection reset by peer] 22:08:59 Zeiris_ [~Zeiris@66.183.73.102] has joined #lisp 22:10:16 *udzinari* was reading up on the recent reddit/livejournal flamewar and is wondering why does cl attract so much copyright issues 22:10:28 HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has joined #lisp 22:10:36 link? 22:11:16 http://www.reddit.com/r/lisp/comments/e5l50/lisp_conference_coverage_we_dont_give_a_shit/ 22:11:33 b-man_ [~b-man@189.34.57.132] has joined #lisp 22:12:31 oh, I thought it might actually be a technical issue with such 22:12:33 i'd say that rather then copyright issues, this is problem with 'lisp attracts a lot of assholes' ;) 22:12:44 that's just "should we do it or not" 22:13:07 more precisely, the Lisp community is bad at dealing with assholes and discouraging asshole behavior 22:13:18 i find the op's "Organizers should be ashamed! or maybe it is on purpose to hide how boring those conferences really are?" given how hard people worked to make ILC happen. 22:13:23 and it's mostly the CL community 22:13:50 Scheme community does not have these problem, not Clojure, not Haskell, not Scala 22:14:06 Ruby has it's own drama factories of a different sort 22:14:21 i find the op ... offensive* 22:14:31 looks more like "if not for ACM we would be happy" to me, the same situation with ansi standard paper.. 22:14:38 I find the op's trolling obvious 22:14:44 drewc: yeah, trollish at least 22:14:52 there is no cl community, and people seem to expect there to be.. could that be part of the problem? 22:15:01 drewc: there's #lisp 22:15:05 that's a start. 22:15:26 you'd be surprised how far Haskell has got via #haskell being a nice, drama-free place 22:15:27 drewc: pardon, who goes to the meetings then? 22:15:37 yes, there is #lisp community. there is an ALU community, a c.l.l community, an MIT community.... 22:15:50 udzinari: Mu 22:16:06 drewc: Mu? 22:16:15 Mu. 22:16:22 or Wu if you prefer 22:16:27 udzinari: he's zenning you and avoiding the question 22:16:35 udzinari: http://en.wikipedia.org/wiki/Mu_(negative) 22:16:41  22:17:28 i'm amazed I have a glyph for that character. 22:17:48 p_l|home: ty for the link :) 22:18:23 Moo! You ask a meaningless question! 22:18:32 I like that one better 22:21:01 Adamant: i'd like #lisp to be a nice drama free place. Would that so many people didn't come here with dramatic intentions :) 22:21:16 clhs 3.2.2.3 22:21:17 http://www.lispworks.com/reference/HyperSpec/Body/03_bbc.htm 22:21:22 drewc: there's that and community standards 22:21:41 #lisp tolerates much less drama that certain other places, but it does tolerate some 22:21:41 what does that mean exactly? 22:21:46 ahh 22:22:04 drewc: look at news.yc and other places that have built nice, drama-free communities 22:22:08 *udzinari* still thinks it would have been nice to have those videos avaliable like riby/py guys have.. but meh.. cl is good either way. and this channel too, when not invaded with trolls. 22:22:20 well, when we don't tolerate, we are assused of smugness, religiousness, etc etc. 22:22:37 it's a double edge, innit. 22:23:06 religiousness? Seriously? I thought Perl got that one (Perl Monks) 22:23:06 s/riby/ruby/ 22:23:28 personally i liked it when we just immediately kicked suspected trolls.. now we seem to humour them :( 22:23:31 religion is less of a problem than dogmatism and inquisitions 22:23:53 -!- b-man_ [~b-man@189.34.57.132] has quit [Ping timeout: 245 seconds] 22:23:59 drewc: How does one acquire the badge? 22:24:01 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Quit: Leaving.] 22:24:09 drewc: I'se seen at least one kicked recently :) 22:24:25 drewc: part of it is giving people no reason to troll because they don't get outrage back as a response 22:24:50 people yawn, reply nicely, and then when it's obvious someone is trolling, they kick and move on to the next subject quickly 22:25:14 some trolls are truly trolls, others are people with odd opinions and poor ways of expressing them 22:25:26 *Xach* hopes with quicklisp to elevate the level of excuses used to not use lisp 22:25:29 you want to put up with #2 to the excent possible. 22:25:30 this is how it used to be here... and was very nice indeed. I personally got sick of constantly being the bad guy and having to defend why i just kicked a troll. 22:25:34 Adamant: and with poor language skills 22:25:39 that too 22:25:49 Xach: Dunno, I think "ugh, those parens" will remain high on the list. 22:26:07 jconrad [~jconrad@host109-153-32-138.range109-153.btcentralplus.com] has joined #lisp 22:27:33 -!- kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has quit [Remote host closed the connection] 22:27:53 -!- kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has quit [Quit: kclifton] 22:28:42 Vicfred [~Vicfred@189.228.11.235] has joined #lisp 22:29:57 as a begginner I usually have this channel in one window and slime in other and tend to try out the interesting stuff that is discussed. I am very sad sbcl guys decided to move to separate channel :/ 22:30:00 sjl_ [~sjl@74-46-238-2.dsl1-field.roch.ny.frontiernet.net] has joined #lisp 22:30:22 -!- pepone [~pepone@242.246.218.87.dynamic.jazztel.es] has quit [Remote host closed the connection] 22:30:38 udzinari: They did? 22:30:42 *`3b`* wants a channel like the stricter #lisp :( 22:30:42 *sellout* missed that. 22:30:55 sellout: #sbcl 22:31:19 `3b`: i think many do. I've personally resolved to do my part in bringing #lisp back to its high standards 22:31:32 <`3b`> they didn't move, they just moved sbcl specific discussions 22:31:48 #lisp is the stricter #lisp, there is already #lispcafe for newbs and trolls and social hour. 22:31:49 perhaps #snootylispers could be created? 22:31:49 drewc: for a higher standard, shouldn't these things be said in #meta-#lisp ? 22:32:13 <`3b`> drewc: theoretically, but that doesn't seem to work out :/ 22:32:14 `3b`: yes, but now I have to watch two channels, and much less technical talk here as the result too 22:32:23 pjb: nope, meta-discussion has always been on topic and tolerated, albeit with some obvious disdain. 22:32:30 since #lisp is more likely to be an initial landing for newbies. "Veterans" are more likely to be able to find their way to #snootylispers. 22:32:57 sykopomp: catering to newbies is not a goal of #lisp or cl, and i like it that way! 22:33:00 -!- sjl [~sjl@173-86-137-225.dsl1-field.roch.ny.frontiernet.net] has quit [Ping timeout: 260 seconds] 22:33:00 I'd vote for a #sbcl personnally... 22:33:00 -!- sjl_ is now known as sjl 22:33:08 <`3b`> udzinari: right, but i can go away for a day and read all of #sbcl... if it were all in #lisp i would miss it 22:33:34 sykopomp: What a good idea. 22:33:38 i like a language/community that meets _my_ needs, not someone with no vested interest beyond being a newb :) 22:34:00 drewc: regardless of the goal, the fact is that this is the first place people are going to end up in. 22:34:14 `3b`: I guess. you're right.. 22:34:20 -!- homie` [~user@xdsl-87-79-232-166.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:34:21 sykopomp: so, we immediatly direct them to somewhere that meets their needs. 22:34:46 drewc: There generally is no other place that meets their needs :) 22:34:46 drewc: A bigger effort to reroute people to #lispcafe might be worthwhile. 22:34:56 Yeah, and some "noobs" should stay here, so it's good that they get here first. 22:35:03 hadronzoo [~hadronzoo@188-126-70-108.cust.vpntunnel.org] has joined #lisp 22:35:05 and that still leaves the question: Whose standards are we talking about here? 22:35:09 sykopomp: sould we start talking about scheme, elisp, arc and clojure because people come here expecting general lisp discussion? no! 22:35:20 sykopomp: ANSI! 22:35:31 where's the line drawn? Are conversations here intolerable because they talk about 'basic' usage of closures as objects, and not Interface Passing Style or ? 22:35:40 sykopomp: the standards of #lisp, agreed on by loose consensus by those with ops. 22:35:43 drewc: I'm thinking about the other day someone was asking about closure. Someone, I forget who, got upset about n00b stuff being discussed in this fine channel. 22:35:44 drewc: a community that can be nice to newbies while maybe redirecting them somewhere more appropriate seems to be more likely to be drama free. 22:36:08 at least I've observed that correlation 22:36:14 <`3b`> schmrkc: i think the problem is talking about n00b stuff with people who don't learn 22:36:15 Adamant: indeed, that's my thoughts at the moment. 22:36:28 drewc: Personally, I haven't seen #haskell having many problems with newbies coming in and asking silly questions. They still have fairly advanced conversations. 22:36:31 when I try to run lispbox it gives me this error: ./lispbox.sh: 6: Bad substitution 22:36:33 newbies = new blood, some/many of which will eventually become old greyeards 22:36:34 although I don't lurk there very often. 22:36:36 schmrkc: why should we have to watch someme get closures explained to them day in and day out? 22:36:37 anyone have any idea? 22:36:45 `3b`: Person in this instance did seem to learn. So I dunno. 22:36:56 drewc: Why should we have to watch you explain IPS to every single person that wants to have a conversation about it? 22:37:02 sykopomp: generally, people aren't coming to haskell from paul graham ;) 22:37:05 drewc: that doesn't seem to happen in actuality 22:37:21 drewc: I can't agree more on strictness, for me being quiet and watching knowledgeable people discuss stuff is much better experience (even thought I *am* a newb) than watching the same questions waste peoples time 22:37:27 sykopomp: you shouldn't then, agreed. 22:37:28 maybe when someone writes Lisp On Lines 22:37:33 <`3b`> schmrkc: could be... possibly was just low tolerance due to other ineffective discussion at similar times... i know i've been finding #lisp annoying lately :/ 22:37:37 bsod1: I'm afraid that LispBox is outdated and I'm unsure if it's maintained at all 22:37:45 Adamant: drewc did 22:37:54 drewc: I just don't read it. It's easy enough. Thing is there is nowhere else that will explain closures in lisp. #lispcafe is dead, and people new to lisp will head to #lisp. Like people head to #haskell, etc. 22:37:56 p_l|home: the metaphorical one 22:38:02 `3b`: Right. There has been much the trolling :) 22:38:07 that gets Ruby on Rails level new entry 22:38:10 anyone who is interested, please /join #interface-passing-style 22:38:17 drewc: I have personally made the mistake of asking stupid stuff a year ago and from today's point of view am really thankful I was dealt with that way 22:38:20 though it definitely wasn't "RoR-style" framework 22:38:24 rme [~rme@pool-70-105-122-27.chi.dsl-w.verizon.net] has joined #lisp 22:38:38 drewc: Don't get me wrong here. I like RTFM as a default reply to mostly everything. 22:38:46 schmrkc: i don't really care what you read tbh, it's never been the focus or purpose of this channel. 22:38:59 drewc: mostly, it seems pointless to be hostile to people who come in asking "basic" questions. I still agree that people who repeatedly insist on wasting any #lisper's time without accepting pointers to documentation, or being rude, are not desirable. 22:39:16 drewc: Cools. Where is this purpose specified? I have never read it anywhere. 22:39:16 ding ding ding 22:39:27 drewc: I pretty much only know what the topic says. 22:39:37 sykopomp: so, if you want to listen to and answer basic question, join #lispcafe, direct newbies there, and everyone is happy? 22:39:43 but I think there's a line between "I keep reading these things, but it hasn't clicked, can someone help me walk through it?" and "C uses symbol tables. Where is the symbol table in SBCL? No, I don't care what you say. where is it?" 22:39:58 sykopomp: of course there is, nobody said there wasn't. 22:40:34 sykopomp: the differnce between the two is the first is a question that can be answered simply, the latter is simply willful ignorance 22:40:44 drewc: I just think that, for the first one, the line is much blurrier, and ends up becoming a matter not only of a few people's standards, but a few people's tastes. 22:40:47 *syntard* has liked everything on #lisp so far 22:40:49 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 22:41:26 homie [~user@xdsl-87-79-232-166.netcologne.de] has joined #lisp 22:41:36 when does someone stop being newbie though 22:41:40 when the stop learning? 22:41:43 and it seems counter-productive to boot people out because their expertise with lisp is in the range of a few months to a year, not 5+ years of professional experience. 22:41:45 the/they 22:41:59 never stop learning, you're definitely not a newbie anymore when the experienced think you aren't. 22:42:10 sykopomp: #lisp has been around a long time and has accepted certain standards. This is not a democracy, and you're not forced to participate. 22:42:27 sykopomp: what's with the fucking straw men? 22:42:30 but I want to clarify that, while -I- was a complete and utter newbie to both programming and CL, #lisp was immensely helpful to me. 22:42:32 sykopomp: It seems to me that pretty much every other language has a #foo and a #foo-cafe. And the #foo-cafe is for general crazyness, and #foo for n00bs and pros alike. So your #lisp-super-pro makes sense to me. :) Of course I guess #lisp would die and be as empty as #lispcafe then. 22:43:05 You mind if I ask what's with the drama all of a sudden? 22:43:05 drewc: I don't know. I don't usually engage in such acts with straw men. 22:43:12 Why isn't #lisp called #cl btw? 22:43:12 drewc: What I'm really wondering is why not put something in the topic that informs newcomers what the purpose of #lisp is? :) 22:43:23 *gigamonkey* was just about to ask Odin-'s question. 22:43:26 Odin-: ask Hugin and Mugin. they know. 22:43:35 sykopomp: well played, but seriously, it's annoying. 22:43:38 Odin-: weekend. no trolls around. We need something to do. 22:43:41 Adamant: They're out at the moment. 22:43:48 drewc: sorry 22:43:56 ah, roaming the Earth, but apparently not the IRC channels 22:44:17 drewc: My point is basically "I don't think #lisp is hostile, and I hope it doesn't become hostile" 22:44:22 that's all 22:44:23 drdo: I'm guessing it is because some lisper took the name first. 22:44:32 I'll drop it now. I was just putting my 2c in. 22:44:33 -!- sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 22:44:56 sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 22:45:02 sykopomp: #openbsd has much the same thing going. They're much better at kicking though. :) 22:45:04 sykopomp, you know if you poke drewc too much the hostility meter starts climbing exponentially 22:45:08 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Ping timeout: 245 seconds] 22:45:11 sykopomp: that's my point as well. surely you've been here long enough to notice the recent drop in quality 22:45:18 I am kind of joking... 22:45:22 drewc: I think you're full of shit. 22:45:33 Xach: fair enough. 22:45:38 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 264 seconds] 22:46:06 drewc: There is a large influx of people new to Lisp lately, and I think that's positive for Lisp and for #lisp, and I don't think returning to some previous standard is useful or required. 22:46:07 I wonder if #quicklisp has siphoned off some of the good stuff. 22:46:10 sykopomp: Might as well redirect everyone to #lispgames instead of #lispcafe :) 22:46:11 drewc: I've been here long enough to see both sides of it. I've been here while rahul has been channeling a certain well-loved Norwegian. 22:46:38 hey hey hey. 22:46:42 <`3b`> schmrkc: nah, i'd prefer #lispgames to be more about game stuff 22:46:44 maybe you all take this to #lisp-politics ? 22:46:50 ;) 22:46:51 Thor Heyerdahl? 22:46:52 #lispfight 22:47:00 (((( vs )))) 22:47:01 sykopomp: The first rule about #lispfight ... 22:47:07 oh. Damn. 22:47:14 #lispwar 22:47:35 schmrkc: A well-balanced expression of hostility! 22:47:45 doesn't lisp *mean* politics? 22:47:49 Xach: i agree 100%, but with those new folk have also come a lot of trolls. I think the standard for trolls has lowered, and i have had so many words put in my mouth that i'm no longer interested in even trying to explain my position, so i concede. 22:48:01 sykopomp: I laughed a lot. 22:48:05 *sykopomp* agrees that there's been too many trolls lately. 22:48:26 *Odin-* still wants to know what's needed to get the 'suspected troll' label. 22:48:27 -!- ChanServ has set mode -o drewc 22:48:27 *sykopomp* votes for kicking trolls out and being nice to newbies and their questions. 22:48:31 trolls are all over IRC 22:48:35 drewc: I guess next time it would help me if someone throws up the troll-o-meter or something. I'm just not seeing more trolls, might be that I'm here at the wrong time. 22:48:44 Guthur: indeed! That's why /kb was invented. 22:49:01 I think #lisp (and Lisp generally) get's more than it's share of duck trolls. 22:49:10 s/it's/its/ 22:49:16 Xach: there's a couple that have popped in and asked inflammatory questions (republican_devil, for example) 22:49:20 "duck trolls"? 22:49:22 the more popular a channel gets the more trolls it gets 22:49:27 gigamonkey: as in "confused people"? 22:49:46 #lisp is at 334, which is quite large as freenode channels go 22:49:48 Odin-: http://twitter.com/#!/peterseibel/status/22058207542 22:49:49 <`3b`> sykopomp: well, gavino isn't a new thing though :p 22:49:55 -!- attila_lendvai [~attila_le@adsl-89-134-28-196.monradsl.monornet.hu] has quit [Quit: Leaving.] 22:49:59 Odin-: Personally, I draw the troll line at "You've already been corrected twice" 22:50:20 -!- eugu [~Miranda@213.141.157.147] has quit [Ping timeout: 265 seconds] 22:50:31 *`3b`* attributes the recent quality problems to incoherent and non-learning types rather than trolls though 22:50:42 LiamH [~nobody@pool-72-75-78-43.washdc.east.verizon.net] has joined #lisp 22:50:48 ... Maybe someone could give minion a troll-detector and ops? 22:51:12 nyef: And the ability to pass a Turing test while they're at it? 22:51:22 netytan [~netytan@host86-175-234-107.wlms-broadband.com] has joined #lisp 22:51:30 `3b`: hrmm... perhaps i'm conflating the two... the non-learning types are indistinguishable from the willfuly ignorant in my eyes. 22:51:45 Odin-: It's worse than that, minion already runs a reverse-turing-test. 22:51:46 nyef: (loop (kick (random-elt (channel-members "#lisp"))) (sleep (random 10000))) ? 22:52:07 perhaps (kick ... "TROLL DETECTED") 22:52:08 nyef: I am writing newb detector bot, with privmsg help :) stuck at log analysis atm 22:52:36 if nobody else notices a problem, then i'm done with the topic, and sorry for bringing it up. 22:53:06 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Read error: Operation timed out] 22:53:13 I've noticed a few slow learners, a few fixed-prejudices, and some similar things, but I'm not as sure about outright trolls. 22:53:15 -!- gemelen [~shelta@shpd-92-101-129-253.vologda.ru] has quit [Read error: Connection reset by peer] 22:53:25 <`3b`> drewc: right, not saying it should be accepted, just not what i consider 'trolling' :) 22:54:00 drewc: It's a question that reasonable people can well disagree on. 22:54:09 How much is too much? 22:54:49 -!- mcsontos [~mcsontos@hotspot8.rywasoft.net] has quit [Quit: Leaving] 22:54:57 mcsontos [~mcsontos@hotspot8.rywasoft.net] has joined #lisp 22:55:42 I don't it's the newbies fault, its the amount of crap that is at the surface of software development which they are exposed to, you have to be willing to dig a little deeper to get the real sweet nectar 22:56:08 90% of everything is crap. 22:56:09 most people only see Java and C# and lots of cookie cutter solutions 22:56:34 in any case, if i don't like it i can stop participating and skim the logs for anything interesting, so if there is no community standard i'm taksed with upholding, i feel no responsibilty for seeing it slip :) 22:56:49 I don't think it's really the languages. 22:57:06 (Although they certainly don't help.) 22:57:10 wol [~wol@67.174.222.215] has joined #lisp 22:57:34 Odin-: I'm interested, what are your thoughts on that? 22:58:25 -!- fgump [~gauthamg@188.74.82.177] has quit [Quit: Ex-Chat] 22:58:51 drdo: As stated above; 90% of everything is crud. Doing anything decently means doing a lot of horrible stuff first, for most people. 22:59:19 Odin-: Can you give some examples? 22:59:24 drewc: If the purpose of this channel is high level discussion then I'll go with the massive kicking. I'm just confused where this purpose is stated. 23:00:06 schmrkc: dead horse man, leave it. 23:00:06 <`3b`> schmrkc: the purpose is high SNR discussion, not high level 23:00:14 *Odin-* gets the impression that he's being Turing tested. 23:00:29 schmrkc: The problem is where to draw that line, and wether or not talking about specific projects that aren't really about CL itself is allowed 23:00:53 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 23:01:02 SNR? 23:01:02 -!- mcsontos [~mcsontos@hotspot8.rywasoft.net] has quit [Ping timeout: 276 seconds] 23:01:10 <`3b`> signal to noise ratio 23:01:25 So now we're doing DSP? 23:01:26 ah, ack 23:01:32 8) 23:01:33 eugu [~Miranda@213.141.157.147] has joined #lisp 23:01:54 -!- eugu [~Miranda@213.141.157.147] has quit [Read error: Connection reset by peer] 23:02:16 Odin-: We've /always/ been doing DSP. 23:02:16 *schmrkc* shrugs. Just wanted to know where the purpose is stated. I've never seen it no place. 23:02:46 <`3b`> schmrkc: it has been discussed repeatedly 23:03:03 -!- bsod1 [~osa1@88.244.225.203] has quit [Ping timeout: 245 seconds] 23:03:25 It has also changed over time, given that #lisp was started by SBCL developers as a place to hang out and chat. 23:03:35 -!- GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has quit [Quit: Leaving] 23:03:36 `3b`: So how is random newcomer supposed to know it? I didn't know it until just today and I've been here for a while. 23:03:39 -!- V-ille [~ville@ville-hp.dhcp.fnal.gov] has quit [Quit: Leaving.] 23:03:52 schmrkc: we don't need a bloody document, charter and board of directors, these things have been discussed and there is some consensus. 23:04:00 schmrkc: a newcomer can lurk harder 23:04:02 <`3b`> usually someone approaching the limits of the topic is what prompts the discussion :) 23:04:52 I guess newcomers are only good thing as Xach says, as long as there is someone willing to answer. but if the flow increases significantly there will be not enough people, no? maybe #lisp will turn to newcomer faq channel and there will be another high level channel like #sbcl for pro talk? 23:05:01 drewc: That's great man. I just had no idea there was such a consensus. 23:05:06 I'd say it's actually when someone grossly goes out of topic and some minor off topic is tolerated 23:05:59 As a completely self-professed n00b, should I switch to #lispcafe and just lurk here until I manage to bootstrap myself into cl00fulness? 23:06:03 schmrkc: then perhaps you should lurk harder ;) 23:06:12 on a positive note: We're not c.l.l. 23:06:23 drewc: I'm much better at being OT than lurking :S 23:06:36 jimrthy: Do both! 23:06:42 _6502_ [5e24ef29@gateway/web/freenode/ip.94.36.239.41] has joined #lisp 23:06:45 jimrthy: #lispcafe is really where all the action is at these days. 23:07:02 sykopomp: How does one access this c.l.l thing? 23:07:10 I find google groups and its terrible. 23:07:20 schmrkc: news.individual.net and gnus is what i use. 23:07:33 schmrkc: what does 'action' mean to you? 23:07:41 Xach: free news server? 23:07:52 schmrkc: No. I think eternal-september.org is free. 23:08:01 schmrkc: I pay EUR10/year. 23:08:05 *schmrkc* has been looking for those. Somehow the ISP decided no one uses nntp no more and shut down the newsserver. 23:08:08 oh 10 is good. 23:08:21 *sykopomp* actually checked if eternal-september.org was real. 23:08:38 ehu: action as in high SNR! 23:09:02 oh it is. 23:09:10 GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has joined #lisp 23:09:15 @schmrkc: I /join'd ... but I suspect I'll still wind up asking stupid n00b questions here when everyone there ignores me 23:10:15 the problem with something like #lispcafe is that you've got a blind leading the blind scenario unless experienced lispers are participating. 23:10:55 <_6502_> hmmm... is #emacs a dead channel ? 23:11:11 no 23:11:40 drewc: Yes. So maybe we'll redirect people to #lisp 23:12:46 <`3b`> drewc: oh yeah, add some of that to my recent #lisp complaints :p 23:13:03 <`3b`> (people answering questions who shouldn't be, i mean) 23:13:04 i'd rather have a 'extremely helpful to newbs zero tolerance for bullshit' #lisp, and an #i-got-kicked-from-pound-lisp penalty box. 23:13:20 `3b`: yes! this has been a major annoyance of mine lately as well :) 23:13:41 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 23:13:49 `3b`: But I like answering questions :( 23:13:55 So the experienced folks need to be more active and quicker on the draw. 23:14:17 <`3b`> schmrkc: do you answer them correctly? 23:14:24 `3b`: sometimes ;) 23:14:43 Odin-: or, the newbs can lurk harder until they can answer the questions with some authority. 23:14:44 Xach: this eternal september looks good. Thanks. 23:14:54 *schmrkc* goes newsreader huntin' 23:15:01 *syntard* actually counts to 10 before answering 23:15:02 schmrkc: M-x gnus 23:15:04 drewc: And what's the standard to measure that? 23:15:17 drewc: oh come on. I can't be bothered to start up emacs everytime I want to read news :) 23:15:26 Odin-: how do you know when you know? you just do. 23:15:29 schmrkc: You close Emacs? 23:15:41 What an odd idea :) 23:15:41 franki^: Yes. Everytime I turn off the desktop machine really. 23:15:41 <`3b`> syntard: better solution (the one i use): verify your answer on clhs first :) 23:15:48 franki^: so several times a day.! 23:16:07 *schmrkc* really finds #lisp to be a bit too little RTFM. 23:16:12 schmrkc: So, you want to read news without turning on your computer? 23:16:23 schmrkc: and i find you to be not quite enough RTFM ;) 23:16:23 drewc: Which leaves us with people answering questions they think they can handle, just about the same situation. 23:16:53 drewc: You should read that statement again, I think. 23:16:55 actually, seeing the discussions with edlinde the last few days, I have to agree with drewc there. 23:17:13 drewc: good call! 23:17:23 francogrex [~user@109.130.148.52] has joined #lisp 23:17:38 Odin-: at which point someone more experienced should chime in, and those with less experience would do well to listen rather than argue. 23:17:43 edlinde's conversations start off promising and then go to hell. it sucks. 23:17:49 franki^: No man. I turn it on when I get home or go into this room where it is at. And then it'd be nice to just have a newsreader there. without having to use the keyboard too. 23:18:06 Odin-: i'm not quite sure what point you are trying to make beyond 'moderating an irc channel is hard' 23:18:16 drewc: And that's my 'experienced folks need to be more active' argument again. 23:18:24 Xach: right. but everytime, new people come in and join the conversation, just when I think they're going to die off. 23:18:48 drewc: Basically that, with the added feature of "this is going in circles". 23:18:48 ECL/UFFI specific: Hi in cffi to convert to a lisp list to foreign type one would use something like: cffi:foreign-alloc :double :initial-contents , but how would one do that in uffi? The uffi manual seems spartan... 23:19:43 schmrkc: Hehe, sorry. I'm only teasing. I'm implying that you should want to do everything inside Emacs. A noob like me should probably be quiet while people're talking about serious stuff. 23:19:49 slava [~slava@li32-38.members.linode.com] has joined #lisp 23:19:57 is there a way to print a float in hexadecimal in sbcl? 23:20:03 <`3b`> Odin-: i'd say minimum criteria is at least knowing where to look in clhs to justify the answer, preferably checking it before answering if you don't have a history of getting it right every time you check 23:21:15 franki^: No worries. I used to live in emacs. Even used xwem as my window manager. 23:21:47 `3b`: I'm one of the people who don't say a blessed thing without being entirely certain of being right; but I know there are lots of people who don't. And how do you communicate this standard to them? That's the difficult task. 23:22:08 Ragnaroek [~chatzilla@pD951EE83.dip.t-dialin.net] has joined #lisp 23:24:15 Another point is this: if someone is new to the channel, possibly new to lisp, how are they to know who in the channel is more experienced? For example if drewc and I both give answers to the same question and the answers are different how is it obvious to a newb that they should ignore my answer? 23:24:42 -!- netytan [~netytan@host86-175-234-107.wlms-broadband.com] has quit [Quit: netytan] 23:24:44 oh gosh. 23:24:49 now we need a karmabot, eh? 23:25:24 is there a scheme repl for emacs? 23:25:25 newb detector bot :) 23:25:29 -!- francogrex [~user@109.130.148.52] has quit [Remote host closed the connection] 23:25:37 Odin-: That's funny. Coming from nutrition and exercise science I'm used to exactly everyone saying a lot without knowing they're right :) CS world is so different. 23:25:45 yates: Go ask #scheme 23:26:55 schmrkc: I'm actually a historian. Every bloody thing has to be sourced. :p 23:26:56 sugar really causes cancer, you know 23:27:38 -!- Xach [~xach@pdpc/supporter/professional/xach] has left #lisp 23:28:55 heh 23:29:05 GrayMagiker: well, i've seen it happen that the more experienced person then told the less experienced that their solution was horrible and why... the less experienced person would listen, and the total newb came away with more know-how then they asked for. 23:30:13 -!- lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit [Quit: Leaving] 23:30:50 -!- churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 255 seconds] 23:31:02 drewc: I believe this to be an ideal solution, and surly in my example is what I would expect to happen. I guess it relies on the less experienced person realizing they made a mistake and admiting it, or at least allowing it to be corrected. 23:32:06 well, it the discussion at that point was not quitted prematurely 23:32:26 i mean without the chance for correction, or admission of foolery 23:32:43 s/it/if/ 23:35:14 -!- _s1gma [~herpderp@77.107.164.131] has quit [Quit: format t "motherfuckers"] 23:35:33 Anyone familiar with sb-introspect? 23:35:48 wol: Watcho wondering about it? 23:36:23 looking at sb-introspect:function-type and trying to figure out what it does with macros 23:36:46 how do I convert a float into its IEEE bitwise representation in sbcl? 23:37:02 Seems to say they are not functions. 23:37:21 <`3b`> minion: tell slava about ieee-floats 23:37:39 -!- GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has quit [Quit: Leaving] 23:38:01 `3b`, Minion is on holiday 23:38:34 <`3b`> slava: http://www.cliki.net/ieee-floats is a portable way to do so 23:38:52 thanks 23:39:02 wol: Should it say that they are functions? 23:39:36 Just comparing to (documentation x type-of), If I call documentation on a macro, it wants me to tell it 23:39:46 that the macro is a function. 23:39:57 I don't think of macros as functions, but I just like symmetry 23:40:04 -!- Ragnaroek [~chatzilla@pD951EE83.dip.t-dialin.net] has quit [Remote host closed the connection] 23:40:42 wol: function-type makes no sense on macros, as you can't declare the ftype of a macro, because that's nonsense 23:40:44 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 23:41:15 Guthur: who runs/hosts minion? 23:43:02 the faerie queene 23:43:14 devinus [~devinus@cpe-66-68-82-202.austin.res.rr.com] has joined #lisp 23:44:20 Steven_ [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 23:44:44 udzinari, I have no idea 23:45:06 netytan [~netytan@host86-175-234-107.wlms-broadband.com] has joined #lisp 23:45:26 Agreed. Just ran into a issue where I was looping through external symbols in a package. While sb-introspect could tell which symbols were functions, I presumed names with earmuff were variables, but type of the remaining symbols was not immediately obvious without diving into the source code. 23:46:00 wol: i'm i 'dive into the source code first' kind of guy personally :) 23:46:25 Always becomes necessary 23:46:32 -!- Steven_ is now known as real_sdsds 23:46:38 I was just looking for a quick overview first 23:47:15 Quetzalcoatl_ [~godless@cpe-75-186-5-185.cinci.res.rr.com] has joined #lisp 23:47:54 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 23:48:13 <`3b`> might try using the slime inspector on the package if you just want info to read 23:49:51 -!- moah [~gnu@dslb-092-073-065-154.pools.arcor-ip.net] has quit [Quit: ircII EPIC4-2.10.1 -- Are we there yet?] 23:52:05 -!- sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 23:52:33 -!- morphling [~stefan@gssn-5f75706f.pool.mediaWays.net] has quit [Remote host closed the connection] 23:54:00 -!- HG` [~HG@xdsl-92-252-92-217.dip.osnanet.de] has quit [Quit: Leaving.] 23:54:33 -!- Jabberwockey [~Jens@f050064057.adsl.alicedsl.de] has quit [Quit: Verlassend] 23:56:35 askatasuna [~askatasun@190.176.243.170] has joined #lisp 23:58:14 sea4ever [~sea@unaffiliated/sea4ever] has joined #lisp 23:59:06 Hi, what would the Lisp equivalent of getch() be? Is there any at all?