00:00:42 <`3b`> why is that a macro? 00:01:26 <`3b`> and are you expecting :top to be the name of the variable bound by one of your keyword args? 00:01:52 I writing cl-who code, I have to repeat that code 00:02:18 yes 00:02:26 Oh, so that's what he was trying to do, eh. 00:02:29 <`3b`> cl-who doesn't expand macros, so not sure how that applies 00:03:37 <`3b`> &key (top 0 top-p) binds TOP and TOP-P, not :TOP 00:03:54 <`3b`> but you shadow that with the LET, so it wouldn't work anyway 00:04:23 would it be inappropriate to post a short lisp form here to make sure i am doing it correctly? 00:04:39 <`3b`> minion: tell osoleve about lisppaste 00:04:58 <`3b`> hmm, guess not 00:05:08 should i jfgi and come back? 00:05:11 osoleve: Use http://paste.lisp.org/ 00:05:16 <`3b`> osoleve: use the link in the channel topic to paste it on lisppaste, then paste the link it gives you here 00:05:38 Googling should always be your first resort, I think. 00:06:20 <`3b`> (if the form is 1 line, it is OK to paste here directly, otherwise use lisppaste) 00:06:30 How then I bind to :top ? 00:06:36 -!- adeht [void@91.121.18.93] has quit [Ping timeout: 240 seconds] 00:06:51 <`3b`> prljavi_hari: :top is by definition a constant (with the value :top) you can't bind it 00:07:04 http://paste.lisp.org/display/116290 00:07:06 <`3b`> (well, unless you do tricky stuff, but you shouldn't be doing that anyway) 00:07:29 this is assuming thatprior-guesses is a list of characters, and guess is a character 00:07:38 -!- gravicappa [~gravicapp@ppp85-140-64-209.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds] 00:07:42 <`3b`> why would you want the name of the variable to be :top instead of top? 00:07:50 -!- gigamonkey [~user@adsl-76-254-22-63.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 00:08:00 vieq [~vieq@metabug/vieq] has joined #lisp 00:08:15 _death [void@91.121.18.93] has joined #lisp 00:08:15 Isn't :top a keyword argument ? 00:08:16 -!- milanj [~milanj_@77-46-249-239.dynamic.isp.telekom.rs] has quit [Ping timeout: 240 seconds] 00:08:21 <`3b`> osoleve: 1. use whole words (not uniq) 00:08:26 -!- vieq [~vieq@metabug/vieq] has left #lisp 00:08:34 <`3b`> prljavi_hari: :top is the keyword used to specify the argument top 00:08:58 -!- askatasuna [~askatasun@190.97.33.72] has quit [Read error: Connection reset by peer] 00:09:27 `3b`: given the arguments, though, is the form correct? 00:09:27 ok, I get it 00:09:39 askatasuna [~askatasun@190.97.33.72] has joined #lisp 00:09:48 -!- pepone [~pepone@83.37.195.56] has quit [Remote host closed the connection] 00:10:15 <`3b`> osoleve: 2. is that (not (find guess prior-guesses :test 'char-equal)) ? 00:10:41 `3b`: I don't know... 'm an absolute beginner 00:12:24 <`3b`> osoleve: well, from the code, it doesn't seem obvious to me what it is trying to do, which is a bad sign for something that short 00:12:56 i'm just trying to check if a given character appears in a list 00:13:14 sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 00:13:18 i asked that specific question earlier, but the folks at the time weren't in a helpful mood 00:13:25 milanj [~milanj_@79-101-138-214.dynamic.isp.telekom.rs] has joined #lisp 00:13:26 <`3b`> clhs member 00:13:26 http://www.lispworks.com/reference/HyperSpec/Body/a_member.htm 00:13:29 <`3b`> clhs find 00:13:29 http://www.lispworks.com/reference/HyperSpec/Body/f_find_.htm 00:13:43 <`3b`> ^ those are good ways to see if something is in a list 00:13:50 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 00:14:26 thanks, i'll try and decode the hyperspec :) 00:14:35 i appreciate your patience 00:15:16 *`3b`* notes that at least 1 of those was suggested to you a few hours ago :p 00:15:34 without context, though 00:15:42 and i'm bad at reading the hyperspec 00:15:58 <`3b`> a skill worth practicing :) 00:16:18 i do every day 00:17:38 -!- prljavi_hari [~h@dh207-34-131.xnet.hr] has left #lisp 00:20:31 hm, i'm trying to set a macro-char but it's not behaving how i anticipate. http://sprunge.us/cJDS?cl - could someone explain why the form i'm dispatching the macro on is (seemingly?) getting evaluated? 00:20:47 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has quit [Remote host closed the connection] 00:21:11 i was hoping this would have returned nil. 00:21:19 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 00:21:20 -!- Edward_ [~ed@AAubervilliers-154-1-72-251.w81-249.abo.wanadoo.fr] has quit [] 00:21:39 so, would this be a way of solving my issue? 00:21:39 http://paste.lisp.org/display/116291 00:22:54 osoleve: what's the if for? 00:23:26 A IF must have at least one branch of execution... 00:24:54 osoleve: http://paste.lisp.org/display/116291#1 00:25:14 i want to check to see if the response of the form is non-nil 00:25:47 there's no need for if if all you're checking is presence 00:25:52 Common Lisp uses generalized booleans pretty much everywhere... 00:26:10 You could do (if my-form t nil) if you absolutely want t or nil. 00:26:23 -!- urandom__ [~user@p548A7D79.dip.t-dialin.net] has quit [Remote host closed the connection] 00:26:30 But in general, you just pass the generalized boolean returned by FIND through. 00:26:38 so if i pass a non-nil value to a function expecting a t/nil argument, it accepts it as t? 00:27:19 Boolean arguments are usually generalized booleans. In that case, nil is false, anything else is true. 00:27:34 thanks, you learn something new every day 00:27:36 "false" would be true, 0 would be true, t would be true... 00:27:45 Only nil is false. 00:27:53 Guthur [~Guthur@host86-132-123-151.range86-132.btcentralplus.com] has joined #lisp 00:27:54 Now, this is for a /generalized/ boolean. 00:28:00 i think i just earned some wendy's it's been a hel of a day 00:28:10 thanks for the knowldge be right back 00:28:26 what is wendy's 00:28:32 a penalty :P 00:28:34 "Fast food" chain. 00:28:49 is it nice? 00:28:52 no 00:28:58 Compare with "health food" chain, "good food" chain, /et cetera/. 00:29:16 an american institution in which yu trade hard earned money fror poorly prepared slop that for some reason is delicious 00:29:21 oh man, pardon my typing 00:29:26 i just switched to valium today 00:29:39 wendy's + valium 00:29:54 among other things, 00:30:01 = health food? 00:30:02 sounds like quite a diet 00:30:03 Going back to the boolean thing, if an argument is declared to be of type (member t nil), then passing a value other than T or NIL would typically be a problem. 00:30:31 It would be more likely to be declared as type boolean... 00:30:40 but if i say (if (function)) 00:30:50 and say, function returns a character 00:30:57 would that be considered t? 00:31:07 IF needs one or two branches. You can't have 0 branches like that. 00:31:07 (if (function)) is an error 00:31:27 i'm generalizing, sorry 00:31:32 if is not a boolean teast :P 00:31:36 test 00:31:36 <`3b`> osoleve: anything that isn't NIL is true 00:31:52 blanket statement, i can hand,e that 00:32:04 <`3b`> conses, symbols, characters, arrays, function objects, class instances, numbers, anything 00:32:15 (my-function), if it returns a character, will never return T and will always return the generalized boolean true. 00:32:34 thank you guys for not being condescending towards the newbie 00:32:35 <`3b`> T is a specific symbol, and as such is true 00:32:38 i appreciate it 00:33:01 osoleve: Your appreciation is appreciated ;) 00:33:19 -!- gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has quit [Quit: gonzojive] 00:34:06 -!- milanj [~milanj_@79-101-138-214.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 00:34:08 T also evaluates to itself, like NIL does. 00:34:46 osoleve: You should have told us that you were a newbie so we could have been condescending. :( 00:34:59 Such a lost opportunity! 00:35:14 gigamonkey [~user@adsl-76-254-22-63.dsl.pltn13.sbcglobal.net] has joined #lisp 00:37:16 -!- jeti [~user@p54B46F70.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:39:02 nowhereman [~pierre@AStrasbourg-551-1-92-47.w81-49.abo.wanadoo.fr] has joined #lisp 00:40:02 -!- nowhere_man [~pierre@AStrasbourg-551-1-80-175.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 00:44:58 longshot_ [~longshot@180.184.9.78] has joined #lisp 00:45:29 -!- pmd [~user@2001:690:2100:4:200:1aff:fe19:daa8] has quit [] 00:47:09 -!- longshot [~longshot@207.204.225.81] has quit [Ping timeout: 240 seconds] 00:47:09 -!- longshot_ is now known as longshot 00:50:34 -!- symbole_ [~chatzilla@216.214.176.130] has quit [Read error: Connection reset by peer] 00:50:57 drl [~lat@125.167.140.159] has joined #lisp 00:52:51 -!- christoph_debian [christoph@sf-ogame.de] has quit [Remote host closed the connection] 00:53:20 -!- leo2007 [~leo@59.57.34.138] has quit [Ping timeout: 255 seconds] 00:54:25 -!- Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Quit: Planned down time ^^] 01:01:29 republican_devil [~g@pool101.bizrate.com] has joined #lisp 01:01:40 learnign perl for work makes we long for lisp 01:01:42 belh 01:01:45 bleh 01:03:06 dlowe [~dlowe@c-24-61-131-100.hsd1.nh.comcast.net] has joined #lisp 01:08:19 what data type does find operate on? 01:08:52 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 01:08:56 -!- PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has quit [Ping timeout: 255 seconds] 01:08:57 clhs find 01:08:57 http://www.lispworks.com/reference/HyperSpec/Body/f_find_.htm 01:09:09 A sequence?.. 01:09:35 sequence being... a list? string? vector? 01:09:38 A sequence, the elements of which are of any type. 01:09:49 One of those things, or any other sequence, yeah. 01:10:29 <`3b`> lists and vectors are sequences, strings are vectors, so also sequences 01:10:46 http://www.lispworks.com/documentation/HyperSpec/Body/17_a.htm 01:13:02 i tried it on a string and it returned nil when it should have been true :/ 01:13:36 Comparing strings with EQL is pointless. Pass :test #'string= or something. 01:14:05 this is the check i;m using : 01:14:05 http://paste.lisp.org/display/116293 01:14:38 where guess is a character and prior-guesses will most likely be a list 01:14:39 <`3b`> helps if you include an example of what you tried to do with it 01:14:59 i tried (guess-unique-p #\h "hello") 01:15:28 <`3b`> well, does "hello" have a _ in it? 01:15:29 You're not even using the variable GUESS. 01:15:49 ...ture 01:15:56 true* 01:16:06 what does the _ have to do with it, though? 01:16:11 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [] 01:16:20 <`3b`> (find #\_ ...0 01:16:34 what am i 01:16:37 ugh 01:16:40 Hehe. 01:16:42 i can't code on valium 01:17:06 osoleve: That's a matter of practice... if you really want to stay on the valium and code. 01:17:26 i do enjoy both 01:17:59 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 265 seconds] 01:18:52 Didn't you get warnings when you inputted your faulty function? 01:19:00 -!- gigamonkey [~user@adsl-76-254-22-63.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 01:19:14 ; caught STYLE-WARNING: ; The variable GUESS is defined but never used. That would have been an hint... 01:19:23 i just got that 01:19:27 and fixed it 01:20:23 it works it works it works 01:20:31 you guys are awesome, thanks 01:20:45 :) 01:20:54 SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has joined #lisp 01:22:53 -!- theBlackDragon [~dragon@83.101.63.11] has quit [Ping timeout: 255 seconds] 01:24:31 theBlackDragon [~dragon@83.101.84.54] has joined #lisp 01:25:08 -!- longshot [~longshot@180.184.9.78] has quit [Ping timeout: 245 seconds] 01:25:55 -!- nowhereman [~pierre@AStrasbourg-551-1-92-47.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 01:27:07 nowhereman [~pierre@AStrasbourg-551-1-94-29.w81-49.abo.wanadoo.fr] has joined #lisp 01:27:16 konr [~user@187.106.38.106] has joined #lisp 01:29:02 lispm [~joswig@g224045166.adsl.alicedsl.de] has joined #lisp 01:29:50 -!- nyef [~nyef@pool-70-20-44-124.man.east.myfairpoint.net] has quit [Quit: G'night all.] 01:31:13 hdurer__ [~holly@home.sinclair-durer.net] has joined #lisp 01:32:29 -!- konr [~user@187.106.38.106] has quit [Ping timeout: 265 seconds] 01:34:25 -!- hdurer_ [~holly@pdpc/supporter/active/hdurer] has quit [Ping timeout: 265 seconds] 01:35:14 -!- Guthur [~Guthur@host86-132-123-151.range86-132.btcentralplus.com] has quit [Quit: Leaving] 01:36:11 -!- konr` [~user@187.106.38.106] has quit [Read error: Connection reset by peer] 01:36:20 -!- dfkjjkfd [~paulh@181-15-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:41:41 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 01:43:34 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 01:46:00 konr [~user@187.106.38.106] has joined #lisp 01:46:08 vu3rdd [~vu3rdd@122.167.84.145] has joined #lisp 01:46:47 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 01:49:48 -!- ikki [~ikki@201.122.132.181] has quit [Quit: Leaving] 01:53:31 -!- BrandLeeJones [~BrandLeeJ@212-183-33-170.adsl.highway.telekom.at] has quit [Quit: BrandLeeJones] 01:54:47 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 01:56:08 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 02:00:12 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 02:02:38 -!- Kenjin [~josesanto@89-180-74-107.net.novis.pt] has quit [Ping timeout: 255 seconds] 02:03:58 -!- humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has quit [Quit: Leaving...] 02:04:45 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 240 seconds] 02:07:06 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 02:11:30 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 260 seconds] 02:12:36 -!- xyxxyyy [~xyxu@218.82.22.43] has quit [Quit: Leaving.] 02:19:30 iu45 [~bryce@184-207-217-159.pools.spcsdns.net] has joined #lisp 02:21:33 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Remote host closed the connection] 02:21:51 Adlai [~adlai@unaffiliated/adlai] has joined #lisp 02:22:16 -!- lispm [~joswig@g224045166.adsl.alicedsl.de] has quit [Quit: lispm] 02:22:52 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 02:23:06 -!- _s1gma [~herpderp@77.107.164.131] has quit [Quit: Leaving] 02:23:31 -!- dlowe [~dlowe@c-24-61-131-100.hsd1.nh.comcast.net] has quit [Quit: Leaving.] 02:24:05 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Quit: Leaving.] 02:25:01 -!- Yuuhi [benni@p5483CB84.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:25:31 -!- nowhereman [~pierre@AStrasbourg-551-1-94-29.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 02:26:47 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 02:29:03 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 02:29:07 nowhereman [~pierre@AStrasbourg-551-1-28-166.w83-196.abo.wanadoo.fr] has joined #lisp 02:33:15 -!- _death is now known as adeht 02:34:32 powerje [~powerj@adsl-75-60-204-230.dsl.wotnoh.sbcglobal.net] has joined #lisp 02:40:35 xinming_ [~hyy@115.221.0.164] has joined #lisp 02:41:53 -!- kleppari [~spa@bitbucket.is] has quit [Quit: leaving] 02:42:13 grumps [~user@c-71-194-138-249.hsd1.il.comcast.net] has joined #lisp 02:42:19 -!- powerje [~powerj@adsl-75-60-204-230.dsl.wotnoh.sbcglobal.net] has quit [Quit: powerje] 02:42:49 -!- xinming [~hyy@115.221.1.228] has quit [Ping timeout: 252 seconds] 02:45:47 wbooze` [~user@xdsl-78-34-200-160.netcologne.de] has joined #lisp 02:46:02 homie` [~user@xdsl-78-34-200-160.netcologne.de] has joined #lisp 02:46:25 drl [~lat@125.167.140.159] has joined #lisp 02:48:38 -!- homie [~user@xdsl-78-34-205-84.netcologne.de] has quit [Ping timeout: 264 seconds] 02:48:51 -!- wbooze [~user@xdsl-78-34-205-84.netcologne.de] has quit [Ping timeout: 265 seconds] 02:49:37 xan_ [~xan@173-13-121-41-NewEngland.hfc.comcastbusiness.net] has joined #lisp 02:50:01 kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has joined #lisp 02:51:23 -!- drl [~lat@125.167.140.159] has quit [Ping timeout: 245 seconds] 02:58:31 what was the 'correct' alternative to #+nil? 02:59:03 (as in, the one that would work even in the New Implementation of Lisp) 03:00:05 #+nil is incorrect? 03:00:19 syntard_ [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has joined #lisp 03:00:36 istr there being a similar trick that was more solid. 03:00:38 does *anyone* still use NIL (as in lisp implmentation) 03:00:38 New Implementation? 03:01:03 grumps: there was an implementation called NIL sometime around '80s, I think 03:01:14 it's not very new anymore. 03:01:41 ah - thanks for the explanation 03:01:44 OIL 03:01:53 haha 03:02:21 and #+nil/#-nil being troublesome on NIL is an old joke 03:04:16 drl [~lat@125.167.140.159] has joined #lisp 03:04:55 fgump [~gauthamg@188.74.82.177] has joined #lisp 03:05:31 -!- SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has quit [Quit: Leaving] 03:07:08 <`3b`> #+(or) or #+(and) or something? 03:08:11 <`3b`> #-(and) i guess 03:08:11 #-(and), I think it was. 03:08:18 `3b`: thanks. 03:08:29 <`3b`> #+(or) is shorter though :) 03:08:49 <`3b`> possibly less obvious what is intended though 03:08:58 *`3b`* just uses #++ 03:09:22 -!- grumps [~user@c-71-194-138-249.hsd1.il.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:10:05 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 03:11:16 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Read error: Connection reset by peer] 03:11:30 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 03:19:49 -!- nowhereman [~pierre@AStrasbourg-551-1-28-166.w83-196.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 03:21:01 nowhereman [~pierre@AStrasbourg-551-1-78-70.w81-51.abo.wanadoo.fr] has joined #lisp 03:23:17 nowl [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has joined #lisp 03:25:48 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 03:27:07 -!- gemelen [~shelta@shpd-95-53-171-9.vologda.ru] has quit [Ping timeout: 252 seconds] 03:28:24 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night] 03:30:59 -!- dys [~andreas@krlh-5f7264fd.pool.mediaWays.net] has quit [Ping timeout: 276 seconds] 03:31:26 dys [~andreas@krlh-5f726087.pool.mediaWays.net] has joined #lisp 03:31:38 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 03:44:38 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 03:47:34 *araujo* decides to keep his small language with prefix notation 03:48:08 http://pastie.org/1276449 03:48:16 GrayMagiker [~steve@c-174-56-84-85.hsd1.nm.comcast.net] has joined #lisp 03:50:08 araujo: it has macros? 03:51:33 syntard_, it will... 03:51:59 where's all the ('s and )'s ??? 03:51:59 *araujo* points anybody interested to gitorious.org/koan 03:52:38 schmrkc, you can omit them and write in a more brace-like syntax 03:52:45 sounds painful :( 03:52:57 *syntard_* braces for a koan 03:53:01 I am combining smalltalk/perl/scheme 03:53:21 what parts of 'em? 03:53:39 If it has a nice dev-world like Pharo/squeak then I'm all for it 03:54:33 oh god 03:54:59 Yes, my child? 03:55:05 well, I don't have anything written about it, but I like many aspects of these languages and I would like to have a single language combine them ... in general, the handy one liners of perl (with its scripting capabilities)... the everything is an object with message sending of smalltalk, and the flexibility of lisp-like languages 03:55:29 What of this flexibility does smalltalk lack? 03:55:42 I don't find smalltalk suitable for one liners 03:55:50 or at least its implementations 03:56:04 no I meant specifically the "flexibility of lisp-like languages" 03:56:18 macro is one ... simple syntax is other 03:56:24 I'd agree there with the one-liners. Smalltalk without a whole nice image to live in.. yum yum. 03:56:35 hmmm 03:57:05 also .. the inclusion of powerful lambda constructs 03:57:19 araujo: you're doomed to success 03:57:27 syntard, hahahaha 03:57:47 we'll see... at least I am sure one person will use it ;) 03:58:02 araujo: What's wrong with blocks? (on the powerful lambda thing) 03:58:39 [:foo | foo + 1] value: 12 03:59:35 nothing, I like them .. and I am shaping something similar in koan 03:59:46 ok. 03:59:53 auto-curry f# style, don't forget 03:59:54 my point against smalltalk is mainly what I said above 03:59:56 I read it as you felt smalltalk lacked powerful lambda constructs. 04:00:18 syntard_: it seems MS released some F# under apache license. lovely stuff. 04:00:24 now if there was just vs2010 on loonix... 04:04:42 my vs never looked as pretty as emacs 04:04:58 -!- lemoinem [~swoog@216.252.78.25] has quit [Ping timeout: 265 seconds] 04:05:25 emacs for F# dev compared to vs2010 for F# leaves a lot for you to ask for. 04:06:05 PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has joined #lisp 04:06:38 lemoinem [~swoog@216.252.67.209] has joined #lisp 04:08:07 araujo: there are not enough programming languages. You should design three languages at once at least. 04:08:34 -!- fgump [~gauthamg@188.74.82.177] has quit [Quit: Ex-Chat] 04:09:12 araujo: for example, you could design araujo-1, a, and a+++. Next year, you could add a third entirely different programming language named araujo-2011. 04:14:00 yes, nothing like to have a programming language with your same name... but I'll let that task to others better 04:17:13 araujo: go code some Io. 04:17:18 it sounds like what you want. 04:17:25 and you don't even have to bother implementing it. 04:17:49 *syntard_* will call his next language araujo 04:17:56 hehe 04:18:51 araujo: have you looked at Io :) 04:19:46 sure 04:20:40 gigamonkey [~user@adsl-76-254-22-63.dsl.pltn13.sbcglobal.net] has joined #lisp 04:22:10 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 04:22:18 psilord [~psilord@76.201.145.79] has joined #lisp 04:22:21 -!- psilord [~psilord@76.201.145.79] has left #lisp 04:24:42 dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #lisp 04:31:01 araujo: well, it's not the name. You really should create more programming language. There is not enough already. 04:31:17 For example, I don't like the {} in this one. You could create one with () instead. 04:31:51 I'll go with araujo# featuring the [] syntax (: 04:31:58 -!- symbole` [~user@216.214.176.130] has quit [Read error: Operation timed out] 04:33:29 yes, we will never have enough :) 04:34:29 Hey araujo =] 04:34:51 *`3b`* votes to use (] or something just to annoy people 04:34:53 howdy dnm_ ! 04:35:43 [)o|_is+ 04:35:52 <`3b`> bonus points for mixing all 3 in some syntactically meaningful manner 04:36:09 why not ||? 04:36:11 -!- unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Quit: Computer has gone to sleep] 04:36:29 -!- kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has quit [Remote host closed the connection] 04:36:30 You could make a Phosphorous dialect. 04:36:40 <`3b`> yeah, mix ,.| as separators 04:37:10 superflit [~superflit@c-24-9-162-197.hsd1.co.comcast.net] has joined #lisp 04:37:48 use `` and '' 04:38:25 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 04:40:22 -!- az [~az@p5796C41B.dip.t-dialin.net] has quit [Read error: Operation timed out] 04:42:10 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 04:42:15 aborticide [ad216a76@gateway/web/freenode/ip.173.33.106.118] has joined #lisp 04:42:32 can someone explain to me why this LISP tutorial on macros is so incredibly complex? http://pastebin.com/Ft37MieW 04:43:41 unfortunately, can't catch anonymous and ask 04:43:50 <`3b`> what language is that for? 04:44:36 o_O 04:44:45 *`3b`* hopes not CL 04:45:14 it's CL. And the tutorial is hopelessly overcomplicated 04:45:24 LinGmnZ [~isra.wic@27.130.92.135] has joined #lisp 04:45:46 is 'macro a macro defining macro? 04:45:47 <`3b`> 'closure ... by allowing you to save the dynamic bindings...' ? 04:46:40 Hey guys, I'd like to know how I can easily concatenate this string - I can get format to output it correctly, but not return it as a string http://paste.lisp.org/display/116295 04:46:46 Maou [~isra.wic@27.130.92.135] has joined #lisp 04:47:01 <`3b`> ah, something out of old lispm manuals? 04:47:37 how can cars belong to a list 04:47:39 what the fuck? 04:47:49 <`3b`> lists are made of conses 04:47:55 <`3b`> conses are made of CARs and CDRs 04:48:01 ah 04:48:09 why doesn't he just use a flow diagram? 04:48:14 or some type of tree structure 04:48:37 *`3b`* thinks a better question is 'why don't you read something else' :) 04:49:16 seangrove I bet you get the last pair 04:49:31 -!- LinGmnZ [~isra.wic@27.130.92.135] has quit [Ping timeout: 240 seconds] 04:49:33 syntard_: I don't think so - I believe it's just going to return nil 04:49:38 LinGmnZ [~isra.wic@27.130.92.135] has joined #lisp 04:49:41 <`3b`> aborticide: where did you get that tutorial? 04:49:54 I wasn't sure - I thought make use a let and make-string, and somehow append to that... 04:49:54 `3b`: a forumn, its only a snippet 04:49:56 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [] 04:49:59 Not 100% sure on it though 04:50:30 az [~az@p5796CF8C.dip.t-dialin.net] has joined #lisp 04:50:41 <`3b`> aborticide: well, if google is correct, it comes from old lisp machine manuals, probably older than CL (so for once the use of LISP was accurate :) 04:50:58 <`3b`> minion: tell aborticide about pcl 04:51:00 aborticide: direct your attention towards pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 04:51:06 Or at least, not anarchronistic. 04:51:07 <`3b`> minion: tell aborticide about gentle 04:51:07 aborticide: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 04:51:19 (use of "LISP" over "Lisp") 04:51:38 -!- Maou [~isra.wic@27.130.92.135] has quit [Ping timeout: 264 seconds] 04:51:40 i was asking in the thread what the hype is with lisp 04:51:44 i'm not a lisp programmer 04:51:48 Maou [~isra.wic@27.130.92.135] has joined #lisp 04:51:52 and that pastebin was one of the replies 04:51:59 <`3b`> hmm, actually, i guess it is Zetalisp. not not even LISP there :) 04:52:24 <`3b`> well, 'hype' is pretty much pointless anywhere 04:52:32 what's the best lisp for practicing mathematics? 04:52:47 <`3b`> this channel is about CL, so obviously CL is best :) 04:52:57 <`3b`> #scheme or #clojure might answer differently 04:53:01 -!- PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has quit [Remote host closed the connection] 04:53:09 *`3b`* isn't sure if #emacs would claim elisp is good for math or not 04:53:40 seangrove: make-string-output-stream and direct format there 04:53:47 which is the lisp closest associated with machine learning? 04:54:11 I don't think #emacs claims that elisp is good for anything. ;) 04:54:16 -!- LinGmnZ [~isra.wic@27.130.92.135] has quit [Ping timeout: 272 seconds] 04:54:16 <`3b`> CL probably has the closest ties to old AI stuff, scheme might be more popular with academics 04:54:20 aborticide: So, if I were asked to provide a quick statement on why macros in CL are cool, I'd say something like "macros in CL allow you to change the semantics and the syntax of the programming language you're already using, turning it into something else entirely, hopefully closer to the way you want to think about and solve your problem". 04:54:24 -!- iu45 [~bryce@184-207-217-159.pools.spcsdns.net] has quit [Quit: Lost terminal] 04:54:34 [00:55:12] I don't think #emacs claims that elisp is good for anything. ;) 04:54:45 I would agree: elisp isn't good for anything. 04:54:51 LinGmnZ [~isra.wic@27.130.92.135] has joined #lisp 04:54:52 what do you think of the lisp book written by conrad barski M.D. ? 04:54:57 <`3b`> aborticide: http://www.gigamonkeys.com/book/introduction-why-lisp.html might be interesting 04:55:17 seems to me all these tutorials are clouded with slang and street-slang 04:55:22 I have decades-old Emacs battle scars though; I use Epsilon, oddly enough, among other editors. 04:55:29 why do they do that? can't they be more technical and to-the-point? 04:55:48 seangrove: format spec says it all 04:55:49 aborticide: Land of Lisp seems fine 04:56:02 I haven't read Conrad's book yet, but he's local to me, and he's a good guy. He gets Lisp. I'll let you know once I read it. 04:56:03 <`3b`> presumably either that is how they write in general, or what they felt was appropriate for their intended audience 04:56:20 though some people mistakenly took the suggestion regarding CLISP as advice to use CLISP over other implementations... 04:56:22 Peter Seibel's book is probably the best modern introduction right now, not counting Conrad's book. 04:56:35 -!- Maou [~isra.wic@27.130.92.135] has quit [Ping timeout: 260 seconds] 04:56:42 Lisp book death match! 04:56:47 Hey Peter! 04:56:52 ;-) 04:56:59 How goes it? 04:57:03 Maou [~isra.wic@27.130.92.135] has joined #lisp 04:57:04 Are you still freelancing? 04:57:06 Gentle Introduction is a good book as well, though it has definitive introductory bias towards programming in general :) 04:57:18 I'm eagerly awaiting my copy of Land of Lisp to review for Code Quarterly. 04:57:40 <`3b`> gigamonkey: i assume you have seen hackermonthly.com/ ? 04:57:46 dnm_: I'm pretty much busy with Code Quarterly (http://www.codequarterly.com/) these days. 04:58:22 dnm_: where can i pirate seibel's book? 04:58:26 aborticide: I guess I should mention I used to be local to Peter (gigamonkey) too, so I'm horribly biased. 04:58:26 `3b`: yeah. Mostly it makes me optimistic--there's an audience. Hopefully our original content will distinguish us. 04:58:26 aborticide: lol 04:58:33 minion: tell aborticide about pcl 04:58:34 aborticide: have a look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 04:58:38 the address is there 04:58:40 for those intetersted, xahlee is going to be writting the first elisp book for sale 04:58:45 check out xahlee.blogspot.com 04:58:56 <`3b`> elisp is off topic here 04:58:57 aborticide: I've seen a bunch of elisp books on sale... 04:59:09 dunnow, that's what he claims 04:59:17 aborticide: also, Gigamonkey = Peter Seibel :D 04:59:43 haha, I'm looking forward to that elisp book 04:59:47 gigamonkey: Neat! I didn't know about this. 04:59:53 -!- LinGmnZ [~isra.wic@27.130.92.135] has quit [Ping timeout: 276 seconds] 04:59:53 i don't use emacs 05:00:09 LinGmnZ [~isra.wic@27.130.92.135] has joined #lisp 05:00:18 gigamonkey: "Readers will be able to read them on the web or buy DRM-free PDFs, Kindle and iPad versions" -- not to complicate things further, but don't forget about us nook users! ePub much appreciated. 05:01:01 aborticide: that's ok. I don't use prescription psych meds. the book will probably make equal amounts of sense to both of us (: 05:01:50 -!- Maou [~isra.wic@27.130.92.135] has quit [Ping timeout: 260 seconds] 05:01:53 antifuchs: what? 05:03:01 is seigel's book available as pdf? 05:03:15 dnm_: Actually the ebook offering is probably going to be PDF and ePub. I'm not sure the Kindle can handle what we're planning. 05:03:35 aborticide: it used to be available from Apress for free though I've head that link disappeared. 05:03:46 I'm pretty sure you can buy a PDF from them. 05:03:48 Maou [~isra.wic@27.130.92.135] has joined #lisp 05:03:57 buy?! 05:04:04 Shock! Horror! 05:04:05 <`3b`> seangrove: (defun attrs (&rest r) (format nil "~(~{ ~a=\"~a\"~}~)" r)) ? 05:04:19 -!- LinGmnZ [~isra.wic@27.130.92.135] has quit [Ping timeout: 240 seconds] 05:04:19 the last time i was able to afford a laptop was 6 years ago 05:04:26 gigamonkey: epub is fine for the kindle; conversion to Mobi is easy using free cross-platform tools 05:04:30 i'm not to start pissing away my limited cash flow on fucking books 05:04:40 Ah, well, fair enough. 05:04:43 *syntard_* paws Coders at Work, hopes to read it someday 05:04:49 aborticide: so that's why it's on the web. 05:04:50 LinGmnZ [~isra.wic@27.130.92.135] has joined #lisp 05:04:53 syntard_: You should, it's good! 05:05:13 -!- Maou [~isra.wic@27.130.92.135] has quit [Read error: Connection reset by peer] 05:05:21 I was spoiled with both _Masterminds of Programming_ and _Coders at Work_. 05:05:42 antifuchs: the thing is I'm not sure the Kindle is going to be a good reading environment for what we're planning to do. Basically the typography I've seen on the Kindle is pretty terrible for anything more complicated than a novel. 05:05:50 And even some of them have been pretty messed up. 05:05:55 Maou [~isra.wic@27.130.92.135] has joined #lisp 05:05:58 I went back and started re-reading _Inventors at Work_ after. 05:06:00 gigamonkey: long-form texts should read ok 05:06:12 gigamonkey: if you use many different fonts, that might be a problem 05:06:14 gigamonkey: I'm not sure the nook is necessarily any better on that front, sadly. 05:06:18 but I find that even that reads OK 05:06:22 Yeah, the Q&A interviews should be okay. But not the pieces that have lots of code in them. 05:06:25 if it works in epub, I think it will work on the kindle 05:06:40 yeah, might want to put section markers there (: 05:06:53 antifuchs: well, it seems to me that epub and mobi are both subsets (sort of) of HTML but epub is a richer subset. 05:06:58 check out this lisp propaganda: http://secretgeek.net/lisp_truth.asp 05:07:01 true 05:07:18 mdev [~isra.wic@27.130.92.135] has joined #lisp 05:07:20 >Learning lisp will alter your life. (first of all, computers didn't change my life, i just use it to make ends meet like everyone else) 05:07:25 So that implies there are things we could do with epub that would not translate well to mobi. 05:07:29 >Lisp is so simple to learn that you can learn lisp in just a few minutes. I just learnt it now while I was waiting for a bus. 05:07:30 Good morning everyone! 05:07:40 *syntard_* waves 05:07:50 >You will rewrite all of your applications in just a handful of lines (oh you mean like how object oriented programmind promised that?) 05:08:02 gigamonkey: if you do something that is only supported on certain readers, it will look like crap in others, of course (: 05:08:07 <`3b`> aborticide: maybe you should try learning lisp instead of trolling then? 05:08:25 >Lisp can be fully implemented in lisp in just a handful of lines. I just implemented lisp in lisp, fully, while i was hopping onto a bus and paying for my bus ticket all at the same time. (i don't understand, what is lisp in lisp?) 05:08:35 aborticide: quoting from a 4-year old psychotic article isn't really productive (: 05:08:52 >Only lispers have a true definition of fun. Maybe ML programmers too. All of today's languages are based on fortran and lisp. The bad bits fortran, the good: lisp. (this is wrong on so many levels) 05:09:04 beach: probably too early to ask, but do you have module precedence in sicl? 05:09:18 syntard_: Not yet, no. 05:09:44 -!- LinGmnZ [~isra.wic@27.130.92.135] has quit [Ping timeout: 265 seconds] 05:09:49 antifuchs: Right. So the trick is I think I can make something in epub that will be comparable or at least complementary to what I hope will be a quite beautiful print edition. 05:09:55 >Lisp was invented a long time ago, before java, before C, before fortran, before computers, before people, before the earth was built. the universe itself is a lisp program so trivial that no true lisper would even both implementing it. (why is this even necessary) 05:10:02 syntard_: I am trying to decrease the dependencies as much as possible. 05:10:03 If the only option on Kindle (or Nook) is ugly, I'll probably skip it. 05:10:07 -!- Maou [~isra.wic@27.130.92.135] has quit [Ping timeout: 250 seconds] 05:10:12 For now anyway. 05:10:12 gigamonkey: well, ipad is one option; it does epub 05:10:23 and it should look pretty decent 05:10:25 <`3b`> aborticide: if you have questions about it you should ask the author, not us 05:10:38 -!- homie` [~user@xdsl-78-34-200-160.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:10:41 I can happily beta test ePub preprints on an actual nook 05:10:45 antifuchs: right. Gigamonkeys Inc (my corp.) bought an iPad and a Kindle 3 so I could make a semi informed decision about this. 05:10:53 hahahahaha 05:11:14 Mostly all I have on my nook right now are... 05:11:17 *dnm_* looks 05:11:25 gigamonkey: market research! That's the best justification for gadget overdose (: 05:11:25 However most of Gigamonkey Inc's funds have flowed, water-like into the coffers of a local law firm. 05:11:34 -!- wbooze` [~user@xdsl-78-34-200-160.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:11:45 -!- mdev [~isra.wic@27.130.92.135] has quit [Ping timeout: 260 seconds] 05:11:57 Classics, like _Walden_ and _The Federalist Papers_ and then ARMv5TE PDF documentation 05:12:17 -!- aborticide [ad216a76@gateway/web/freenode/ip.173.33.106.118] has quit [Quit: Page closed] 05:12:30 gigamonkey: Eek. 05:12:45 aborticide [ad216a76@gateway/web/freenode/ip.173.33.106.118] has joined #lisp 05:12:49 sorry, lisp crashed 05:13:06 missed any replies after i pasted segments from that article 05:13:26 aborticide: we were urging you to stop pasting segments from that article 05:13:49 beach: I hope to roll an interpreter soon, which module should I target first? 05:13:56 it seems that your lisp has also developed a sense of propriety. 05:14:09 syntard_: "target"? 05:14:27 it's the first time i've ever seen flash crash on webchat.freenode.net 05:15:20 beach: Obviously modules depend on some facilities. Which modules depend on least? 05:15:37 syntard_: Are you planning to use modules or write modules? 05:15:44 beach: to use 05:15:47 <`3b`> syntard_: i use conditionals, cons-high, iteration, and setf expanders from sicl, LOOP from sacla 05:16:10 syntard_: None of the SICL modules are currently in a state that they can be used without significant work. 05:16:13 katesmith_ [~katesmith@unaffiliated/costume] has joined #lisp 05:16:56 beach: that's all right, I wouldn't aspire to compliance initially 05:17:17 `3b`: I'll make a note 05:17:57 is it true that lisp lacks vast availability of libs like how python has? 05:18:14 syntard_: format is almost done (except floating-point printing) the sequences module is almost done but needs testing. The cons-high module is almost done. They all require loop. 05:18:20 <`3b`> aborticide: yes, lisp is comletely unusable 05:18:27 someone in a forum says that's the reason reddit dumped lisp despite being funded by Graham 05:18:28 syntard_: The loop module is not done though. 05:18:38 i don't think it's unusable 05:18:44 <`3b`> aborticide: then use it 05:18:45 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Ping timeout: 260 seconds] 05:18:47 you don't have to be a cunt to me 05:19:01 `3b`: just because a language is unusable doesn't mean it should be used 05:19:17 that's like saying just because a guy is a priest doesn't mean we can be sure he doesn't fuck little boys 05:19:35 isn't unusable* 05:19:51 forget the priest line, it should be negated or inverted somehow 05:20:03 <`3b`> aborticide: sorry, but you have been spamming the channel, repeating common troll questions, etc 05:20:07 -!- ChanServ has set mode +o antifuchs 05:20:11 nay 05:20:16 nice one, aborticide 05:20:17 like i said, i don't know anything about lisp 05:20:29 i'm just googling these things 05:20:39 <`3b`> aborticide: we've given you links to places where you might learn more 05:20:56 i've been reading the lisp books and they do not adress the stereotypes 05:21:10 aborticide: why should they? 05:21:12 <`3b`> aborticide: if you are worried about stereotypes, lisp probably isn't for you 05:21:27 antifuchs: because we're analyzing the pros and the cons of the language 05:21:47 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 05:22:01 aborticide: the pros and cons of a language are not easy to determine from opinion pieces on the web 05:22:07 that's like saying why should criminals explain themselves after committing crimes. now i'm not saying lisp is a criminal or anything, but who knows maybe the guy shot the old lady in the head knew the old lady was some sort of suicide bomber 05:22:10 aborticide: Did you look at the PCL introduction? It was specifically designed to avoid the common stereotypes. 05:22:12 <`3b`> IRC isn't a very good place for it either 05:22:12 use it yourself, and you'll find out what it's good for. 05:22:27 gigamonkey: yes, i read the introduction 05:22:41 i would have to actually start programming lisp to gain further information from that document 05:22:50 *`3b`* stops feeding the troll, and goes back to code 05:22:52 Okay. Well, that's the best I can do for you beyond seconding antifuchs's advice. 05:23:06 what was antifuchs's advice? to go fuchs myself? 05:23:29 -!- aborticide [~foobar@2001:858:745:a0e4:200:1aff:fe19:d355] has been kicked from #lisp by antifuchs (no.) 05:23:34 aborticide [ad216a76@gateway/web/freenode/ip.173.33.106.118] has joined #lisp 05:23:37 -!- az [~az@p5796CF8C.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.3] 05:23:50 PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has joined #lisp 05:23:56 i've always been wondering about lisp because my programming mentor was all in it, but we both worked in C++ for the machine learning projects 05:24:20 aborticide: what you just figured out yourself--actually use it see if it works for you. 05:24:25 he passed on the vibe that was a great thing that was forgotten in time, and we would share feelings about how it sucks debugging C++ and cryptic errors 05:24:38 gigamonkey: use what? 05:26:08 Lisp. 05:26:29 -!- syntard_ [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]] 05:27:53 homie [~user@xdsl-78-34-200-160.netcologne.de] has joined #lisp 05:28:38 -!- GrayMagiker [~steve@c-174-56-84-85.hsd1.nm.comcast.net] has quit [Quit: Leaving] 05:29:00 wbooze [~user@xdsl-78-34-200-160.netcologne.de] has joined #lisp 05:29:06 az [~az@p5796CF8C.dip.t-dialin.net] has joined #lisp 05:29:38 i don't think i'll get the answers my writing simple apps. here's an example of the analysis of OOP languages; http://xahlee.org/Periodic_dosage_dir/t2/oop.html 05:29:45 s/my/by/ 05:31:18 the only way i can get the answer quickly, is from asking other's opinions about their long experiences 05:31:18 you are xah lee, aren't you? 05:31:24 nay i am not 05:31:34 xah lee is a bit crazy 05:31:35 good. my long experience with him is that he's a total nutter. 05:32:00 he's anti linux anti C++/perl/python 05:32:16 but he really likes emacs and lisp 05:32:26 i use vim for simple things and program mainly in c++ 05:32:34 don't know shit about lisp 05:32:47 emacs has ESS which is pretty dope that vim doesn't have 05:32:49 *adu* <3 emacs 05:33:09 in vim you have to use a buffer that goes into screen that goes into stat packs like R 05:33:35 -!- askatasuna [~askatasun@190.97.33.72] has quit [Quit: WeeChat 0.3.3] 05:33:42 How can (string 5) not work? 05:33:46 hey you know i got banned in #vim before for insulting the charity boom or whatever his name is running 05:34:21 <`3b`> clhs string 05:34:21 http://www.lispworks.com/reference/HyperSpec/Body/a_string.htm 05:34:41 the majority of links that google returns me on lisp are either hate links, or hyped up links, and a few tutorials, which are hyped up 05:34:49 so that's why i came here 05:34:58 <`3b`> seangrove: 5 doesn't look like a string, symbol or character 05:35:05 Heh, that's true 05:35:12 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 05:35:36 From the docs, I thought string coerces anything into a string 05:35:51 And it does, where anything = string | symbol | character 05:36:25 I was just off about the number part :) 05:36:27 <`3b`> sbcl docstring you mean? 05:36:38 yeah 05:36:43 (documentation 'string 'function ) 05:37:06 seangrove: do you mean a vector of 5 characters? 05:37:20 no, I just wanted to turn 5 into a string 05:37:40 (princ-to-string 5) 05:37:44 aborticide: imo, cl is good for rapid prototyping, because you can write weak-typed programs using a powerful builtin core and interactively, and the macro system makes lisp apart from most other languages, because of the compile-time power it provides 05:37:57 phadthai: don't feed the troll. 05:38:02 aborticide: then, it allows to profile and optimize the needed parts, as it also supports strong typing 05:38:25 phadthai: but even after profiling and optimization, the program is slow 05:38:29 and indeed I'll stop there, because you have everything you need to know, and just need to try it :) 05:38:32 phadthai: compare in this graph to haskell: 05:38:41 gigamonkey: That's a strange function - thanks 05:38:45 phadthai: look what you did. 05:38:47 haskell to me is not as general purpose, but it's an opinion 05:38:49 phadthai: go to your corner. 05:38:57 seangrove: no, it's a strange name for the function you wanted. ;-) 05:39:11 heh, fair enough 05:39:14 http://img35.imageshack.us/i/1289019973275.png/ 05:39:56 -!- PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has quit [Read error: Connection reset by peer] 05:40:14 where can i find lisp standard specification documents ? 05:40:29 minion: tell aborticide about clhs 05:40:30 aborticide: please see clhs: To look up a symbol in the HyperSpec, try saying "clhs symbol". For more information on the HyperSpec see http://www.cliki.net/CLHS . 05:40:33 sykopomp: please be nice to me; but also feel free to ban the troll if need be :) 05:40:53 nay i am not a troll 05:41:01 asking questions is not trolling 05:41:04 duck troll? 05:41:17 *adu* <3 haskell 05:41:40 http://twitter.com/#!/peterseibel/status/22058207542 05:41:47 gigamonkey: http://images.encyclopediadramatica.com/images/0/09/Duckroll.jpg perhaps? 05:42:41 I clearly need some folks to link to that tweet to get some google juice on "duck troll" if I want that meme to spread. 05:43:14 aborticide: reading HyperSpec is the closest you'll get to ANSI CL Standard without paying big bucks 05:43:14 "While the ANSI document remains the official standard, we think that in practice you'll find the Common Lisp HyperSpec much easier to navigate and use than its paper/PDF alternative." 05:43:28 where can I get the pdf? 05:43:41 aborticide: by paying fairly big bucks to ANSI. 05:43:50 aborticide: call ANSI and pay the few thousands 05:43:53 It's not worth it. 05:43:54 lame 05:43:54 {} doesn't have any special meaning in cl, right? 05:44:01 why do you have to pay them,? 05:44:09 aborticide: that's the same for *all* ANSI standards, the same for ISO etc. 05:44:10 p_l|home: hundreds, I think, not thousands, for just a PDF. 05:44:11 the best part is that you get a pdf of unsearchable scans 05:44:24 gigamonkey: right, thousands for paper copy it was, afaik 05:44:27 the pdf is unsearchable?! 05:44:32 aborticide: it's full of scans 05:44:42 are the scans hand-written?! 05:44:44 This is going on a little bit too long. 05:44:56 so just use CLHS, which was generated afaik from the data used to print the paper spec 05:45:03 maybe someone's screenshotted all the CLHS pages and jumbled a PDF of it? 05:45:07 *gigamonkey* thinks beach is right. 05:45:22 *sykopomp* is just here to witness the kickban. 05:45:24 gigamonkey: do you run the gigamonkey website? 05:45:34 aborticide: no, CLHS was generated later from edited LaTeX sources of the standard that were used to generate the printed version. 05:45:35 gigamonkeys.com 05:45:50 are the latex sources available for download? 05:46:35 aborticide: no. some older draft is around, though 05:47:15 so its incredibly inconveniant to read the lisp doc if you don't have internet access 05:47:28 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 276 seconds] 05:47:38 _nix00 [~Adium@58.33.106.62] has joined #lisp 05:48:26 you can get a tar.gz version and unpack that to the /usr/doc/hyperspec dir and set the path to that in hpyerspec-lookup.el 05:48:30 aborticide: you have spent more time on this channel than it would take to wget -r the site. 05:48:54 wget the site doesn't insert information in my head 05:49:08 the last version i got was 7.4, i don't know if that is the latest version 05:49:16 aborticide: there's a tarball on lispwork's site. And making a copy of PCL is child's play 05:49:17 aborticide: apparently not. 05:49:59 p_l|home: on lispworks.com you mean? 05:50:44 or mayb it was franz, I don't remember 05:50:54 been packaged in linux distros for long time 05:51:02 it's lispworks. 05:51:39 where is the download link: http://www.lispworks.com/documentation/HyperSpec/Front/Contents.htm ? 05:52:47 are you talking about cltl2 ? 05:52:48 http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html 05:53:03 i'm looking for the ansi doc in latex 05:55:22 KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has joined #lisp 05:55:50 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has quit [Read error: Connection reset by peer] 05:55:50 plediii [~plediii@adsl-99-185-124-47.dsl.hstntx.sbcglobal.net] has joined #lisp 05:57:33 ahh 7.0 not 7.4 bah 05:58:46 can you share your doc with me pls? 05:58:54 RMS would have wanted it this way ... 06:00:12 aborticide: ... 06:00:43 *p_l|home* votes aborticide guilty of trolling and suggests a week of confinement in one place with RMS as punishment 06:00:50 i don't even know what the document i'm looking for is called, just need some sort of ultra exact specification 06:01:18 Hi. How would one go about writing a program to create short programs, ie genetic programming? 06:01:19 350$ 06:01:36 CLHS is exact enough that implementations refer to it, as it was done using *the same* text as ANSI standard, including commentary 06:01:37 how is the parity ? 06:01:37 didn't someone say it was available as latex? 06:01:58 KimoOta: are you impying genetic programs and short programs are the same? 06:02:00 aborticide: a draft had been lying around, but it's definitely no CLHS 06:02:07 ah 06:02:14 how come no one's pirated it? 06:02:28 you think it exists somewhere in the depths of the net 06:02:32 not 35000$ 06:02:35 lol 06:02:45 thousands of dollars lol 06:02:45 350 is alright if i was still working where i used to work 06:02:46 aborticide: No, I'd like to iterate through all short programs assembled from a short list of functions and primitives 06:02:46 oh man 06:03:23 ArtVanda1ae [~SuperUnkn@220-253-41-243.VIC.netspace.net.au] has joined #lisp 06:03:42 It seems like values aren't interpolated in defmacro if they're surrounded by double-quotes? 06:04:03 e.g. "<,name" isn't expanded, and stays as "<,name" 06:04:52 seangrove: your basic observation is correct but your understanding sounds a bit off 06:05:03 "a bit"? 06:05:16 "<,name" is a string just likes 123 is a number. 06:05:37 There's nothing in DEFMACRO that gives strings or numbers or any other data type any special meaning. 06:06:42 If you're trying to make the symbol And in the context of a backquoted expression that might be ,(intern (format nil "<~a" name)) 06:07:42 Though building up symbols like that is a tricky business and, thus, usually not what you really want (or should want) to do. 06:07:52 yeah, that sounds a bit crazy 06:07:58 Here's what I'm actually trying to do: http://paste.lisp.org/display/116298 06:09:53 Okay, so forget about macros for a second and just write the function in a way that works. 06:09:59 I'd use FORMAT. 06:10:37 Oh? 06:11:48 Sorry for my delays, working on this at the same time :) 06:12:01 (format nil "<~a~{ ~(~a~)='~a'~}>~a" :p '(:src "stuff" :href "blah") "blah" :p) 06:12:19 enupten [~neptune@117.254.172.93] has joined #lisp 06:12:29 wow 06:12:33 Maybe with ~(~) around the ~a directives that make the tag name. 06:12:54 The second blah would presumably be a call to something that generates HTML. 06:12:59 *seangrove* feels sad he didn't take this approach 06:13:03 (I.e. the inner HTML.) 06:13:26 That's quite elegant 06:14:16 Here's one that avoids having to duplicate the tag name in the format args: 06:14:22 (format nil "<~(~a~)~{ ~(~a~)='~a'~}>~a" 'p '(:src "stuff" :href "blah") "body") 06:14:49 Though if you really want to generate HTML I prefer the approach I describe in PCL. 06:15:27 -!- enupten [~neptune@117.254.172.93] has quit [Client Quit] 06:15:44 ah, gigamonkey... probably about 4 glasses of wine in 06:15:58 I've read through pcl online already. I'll go ahead and purchase it 06:16:28 Excellent. 06:16:30 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 260 seconds] 06:16:47 No joy greater than online book shopping while drunken 06:17:09 uhg, $54.16 is spendy for me 06:17:21 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 06:17:41 And, done 06:18:15 -!- adu [~ajr@pool-74-96-89-94.washdc.fios.verizon.net] has quit [Quit: adu] 06:18:55 Nothing quite like FORMAT + alcohol to sell books! 06:19:10 I prefer MACROEXPAND myself, but to each his own. 06:19:18 zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has joined #lisp 06:19:24 -!- zac314159 [~user@c-68-84-149-234.hsd1.nm.comcast.net] has left #lisp 06:21:06 -!- ArtVanda1ae is now known as ArtVandalae 06:21:53 stassats [~stassats@wikipedia/stassats] has joined #lisp 06:22:52 -!- stassats changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: SBCL 1.0.44, Maxima on ABCL, Bordeaux-Threads 0.8.0, CMUCL 20b, SBCL User Survey http://random-state.net/sbcl-survey-2010.html 06:24:07 PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has joined #lisp 06:29:34 Yeah. I want to generate a series of expressions and test whether they give the desired output. 06:30:24 So Lisp expressions are lists of symbols and some other data types, numbers may be all you need. 06:30:34 You can build lists with LIST and CONS 06:30:58 You can take them apart with FIRST and REST and related functions. 06:31:09 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 250 seconds] 06:32:15 KimoOta: You might look up Koza, he did a bunch of Genetic Programming (as perhaps distinct from Genetic Algorithms) using Lisp expressions as the genomes. 06:32:29 Yeah, I realize Lisp is about the only language it's possible to do this kind of thing easily in. I need to do something like a breadth first search, because I'd prefer to find simpler expressions. 06:34:18 Oh man. 06:34:22 Although, thinking about it, GP in Lisp is really just one kind of GA, right 06:34:31 It is too late for me to get into a GP discussion. 06:34:37 As much as I might want to. 06:35:10 dnm_: OK, I'll remember to ask you later. 06:35:27 KimoOta: Yeah, in a sense. GA is expressed numerically; GP is expressed with programs. 06:35:55 Koza GP uses Lisp because it turns out Lisp lists map to trees directly. 06:36:16 And the homoiconicity of Lisp makes it easy to modify code as data, etc. 06:38:18 Is it possible to write a simple GP routine in not-too-many lines? 06:39:17 pocket_ [~pocket_@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has joined #lisp 06:42:32 Hrm. 06:42:46 In a quick search, http://helios.hampshire.edu/lspector/lgp2.lisp is the first thing I find that sorta meets that criteria 06:43:31 Koza's CL code of what's in his first book is, I think probably longer. It also has poor online formatting and some license terms. 06:43:49 http://www.genetic-programming.org/gplittlelisp.html if you're interested anyway 06:43:57 Thank you! 06:45:43 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 06:46:08 Sure thing. Let me know how you find the first one (or both, if you tackle Koza's code too) after reading 'em. I'd be interested in your feedback. 06:47:18 _nix001 [~Adium@58.33.106.62] has joined #lisp 06:48:02 -!- _nix00 [~Adium@58.33.106.62] has quit [Read error: Connection reset by peer] 06:51:06 mrSpec [~Spec@88.208.105.6] has joined #lisp 06:51:06 -!- mrSpec [~Spec@88.208.105.6] has quit [Changing host] 06:51:06 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 06:53:04 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 252 seconds] 06:53:06 -!- Bucciarati [~buccia@www.inscatolati.net] has quit [Remote host closed the connection] 06:54:34 How can I represent tie variable in Perl in Common Lisp? 06:55:25 jhuni [~jhuni@udp217774uds.hawaiiantel.net] has joined #lisp 06:56:41 what does tie do ? 06:56:48 does it not alter bindings ? 06:57:24 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 240 seconds] 06:57:25 sits on your neck? 06:57:31 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 06:57:59 -!- PCChris [~PCChris@wireless-165-124-215-231.nuwlan.northwestern.edu] has quit [Quit: Leaving] 06:58:26 and types at runtime ? 07:00:00 Binding variable to some other class instance backgroundly. 07:01:10 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 07:01:11 It just my interest of computer science. 07:02:08 (setf x 10) => (setf (gethash x *some-hashtable*) 10) 07:02:19 pocket_: the purpose served by tied variables in perl is similar to symbol macros in lisp 07:02:28 I think I can use symbol-macro. 07:02:37 Ops. 07:02:55 drewc: I think so too. 07:04:22 Hook Substitute variable is solved. Thank you all. 07:05:00 But How can I hook get variable from symbol. 07:05:31 Or Hook destroy variable. 07:05:40 speak lisp! 07:06:08 value-cell of a symbol, functin-cell of a symbol etc. ? 07:06:28 Kenny would certainly say: use cells. 07:06:39 Hmm.. 07:06:45 minion: tell pocket_ about cells 07:06:45 pocket_: direct your attention towards cells: cells is a dataflow extension to CLOS (think spreadsheet-type programming, with slots being spreadsheet cells) by Kenny Tilton. http://www.cliki.net/cells 07:07:41 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 07:08:41 daniel [~daniel@p5B326890.dip.t-dialin.net] has joined #lisp 07:09:57 I read it. And calls solve all my hope. 07:10:11 Thank you all! 07:10:17 -!- daniel_ [~daniel@p5B327B6D.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 07:12:30 -!- cmm [~cmm@bzq-79-182-202-208.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 07:13:09 cmm [~cmm@bzq-79-182-202-208.red.bezeqint.net] has joined #lisp 07:15:08 symbole [~user@ool-182ffe8f.dyn.optonline.net] has joined #lisp 07:16:33 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Read error: Connection reset by peer] 07:17:19 drl [~lat@125.167.140.159] has joined #lisp 07:17:59 -!- TraumaPony [~TraumaPon@202-173-169-138.dyn.iinet.net.au] has quit [Disconnected by services] 07:18:33 TraumaPony [~TraumaPon@202-173-169-138.dyn.iinet.net.au] has joined #lisp 07:24:59 enupten [~neptune@117.254.168.74] has joined #lisp 07:25:58 pjb: cells seemed ridiculously hard to get working for me, at least the last time I tried 07:26:36 things like that may happen. Sometimes, when you try again a few months later, it's easier. 07:26:59 Otherwise, complain at Kenny! That'll teach him! :-) 07:30:11 -!- _nix001 [~Adium@58.33.106.62] has left #lisp 07:34:14 pavelludiq [~quassel@91.139.198.56] has joined #lisp 07:39:50 beaumonta [~abeaumont@90.165.165.246] has joined #lisp 07:42:21 -!- beaumonta is now known as abeaumont_ 07:44:38 -!- enupten [~neptune@117.254.168.74] has quit [Ping timeout: 255 seconds] 07:46:16 -!- nowl [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has quit [Quit: Leaving] 07:46:44 there are alternatives out there, too. perhaps they are easier to get working 07:47:54 "computed-class" or something? 07:53:55 -!- xan_ [~xan@173-13-121-41-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 260 seconds] 07:57:22 zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has joined #lisp 07:58:31 cmpitg [~cmpitg@210.245.54.125] has joined #lisp 07:58:59 V-ille [~ville@85-156-122-29.elisa-mobile.fi] has joined #lisp 08:00:20 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 08:01:13 computed-class afaik actually works and is hygienic 08:01:43 to find a version of cells that compiled I had to look rather long, since I don't use ACL 08:03:28 -!- aborticide [ad216a76@gateway/web/freenode/ip.173.33.106.118] has quit [Ping timeout: 265 seconds] 08:07:27 fgump [~gauthamg@188.74.82.177] has joined #lisp 08:08:30 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 260 seconds] 08:08:45 -!- mrSpec [~Spec@unaffiliated/mrspec] has left #lisp 08:10:25 p_l|home: "hygienic" in what sense? 08:18:02 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 08:18:27 enupten [~neptune@117.254.157.31] has joined #lisp 08:20:46 cmm: not introducing unexpected symbols 08:21:11 so it doesn't break if you had for some reason used the same convention somewhere etc. 08:33:44 k2t01f12d [~k2t0f12d@121.98.185.20] has joined #lisp 08:34:55 -!- katofiad [~k2t0f12d@121.98.185.20] has quit [Ping timeout: 265 seconds] 08:37:40 -!- symbole [~user@ool-182ffe8f.dyn.optonline.net] has quit [Remote host closed the connection] 08:39:49 -!- Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 08:42:12 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 08:45:18 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 08:47:46 Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 08:48:06 -!- Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Client Quit] 08:48:13 Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 08:50:11 -!- KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has quit [Ping timeout: 255 seconds] 08:51:03 s0ng0ku [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 09:01:53 Kenjin [~josesanto@89.180.74.107] has joined #lisp 09:02:49 loxs [~loxs@78.90.124.179] has joined #lisp 09:03:41 -!- ve [~a@vortis.xen.tardis.ed.ac.uk] has quit [Ping timeout: 255 seconds] 09:03:43 damn clisp, doesn't let me load a file named "~foo" 09:03:46 thinks it's a user 09:04:10 peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has joined #lisp 09:05:12 and thinks that \\~foo doesn't exist, oh well 09:05:30 <`3b`> ./~foo? 09:05:43 yeah, had to use this 09:07:59 shinta42 [~kevin@124.207.233.36] has joined #lisp 09:10:11 drl [~lat@125.167.140.159] has joined #lisp 09:15:25 (make-pathname :name "~foo" :case :local) works well. 09:15:36 -!- loxs [~loxs@78.90.124.179] has quit [Quit: Leaving] 09:15:48 stassats: I find that using make-pathname is often the most portable way to deal with pathnames. 09:15:54 make-pathname and merge-pathnames. 09:16:01 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 09:16:18 i didn't need portability 09:16:24 There are some implementations that have bugs, notably with :case :common however. ccl for example. 09:16:35 -!- Kenjin [~josesanto@89.180.74.107] has quit [Quit: Computer has gone to sleep] 09:18:09 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 09:22:41 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 09:25:04 -!- V-ille [~ville@85-156-122-29.elisa-mobile.fi] has quit [Quit: Leaving.] 09:28:32 Kenjin [~josesanto@89.180.74.107] has joined #lisp 09:36:44 -!- xinming_ [~hyy@115.221.0.164] has quit [Ping timeout: 272 seconds] 09:36:45 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 09:37:53 hdurer_ [~holly@home.sinclair-durer.net] has joined #lisp 09:39:32 -!- hdurer__ [~holly@home.sinclair-durer.net] has quit [Ping timeout: 276 seconds] 09:40:45 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 09:49:58 fusss [~chatzilla@CPE-65-31-225-242.new.res.rr.com] has joined #lisp 09:51:23 -!- s0ng0ku [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 255 seconds] 09:53:26 -!- cmpitg [~cmpitg@210.245.54.125] has quit [Ping timeout: 264 seconds] 09:53:55 cmpitg [~cmpitg@210.245.54.125] has joined #lisp 09:55:44 -!- cmpitg [~cmpitg@210.245.54.125] has left #lisp 09:57:59 mcsontos [~mcsontos@hotspot8.rywasoft.net] has joined #lisp 09:58:38 -!- lune [~claire@97.76.48.98] has quit [Quit: Lost terminal] 09:59:38 H4ns`` [~user@p579F8EB9.dip.t-dialin.net] has joined #lisp 10:01:58 lune [~claire@97.76.48.98] has joined #lisp 10:03:07 -!- H4ns` [~user@pD4B9E309.dip.t-dialin.net] has quit [Ping timeout: 265 seconds] 10:03:16 -!- mcsontos [~mcsontos@hotspot8.rywasoft.net] has quit [Quit: Leaving] 10:04:03 -!- Kenjin [~josesanto@89.180.74.107] has quit [Quit: Computer has gone to sleep] 10:05:34 Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has joined #lisp 10:10:24 -!- pocket_ [~pocket_@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has quit [Remote host closed the connection] 10:15:42 gravicappa [~gravicapp@ppp85-140-64-209.pppoe.mtu-net.ru] has joined #lisp 10:16:09 dfkjjkfd [~paulh@239-9-ftth.onsnetstudenten.nl] has joined #lisp 10:16:50 -!- Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 10:22:36 -!- fusss [~chatzilla@CPE-65-31-225-242.new.res.rr.com] has quit [Ping timeout: 240 seconds] 10:24:58 Yuuhi [benni@p5483CBCE.dip.t-dialin.net] has joined #lisp 10:25:47 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 10:26:18 Kenjin [~josesanto@83.240.225.146] has joined #lisp 10:28:22 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 10:32:46 -!- Salamander_ is now known as Salamander 10:33:09 jtza8 [~jtza8@41.56.58.193] has joined #lisp 10:38:07 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 10:47:11 shakshak [~user@41.238.33.63] has joined #lisp 10:48:13 Ragnaroek [~chatzilla@pD9E25F1F.dip.t-dialin.net] has joined #lisp 10:49:53 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 10:50:09 -!- enupten [~neptune@117.254.157.31] has quit [Quit: quitting...] 10:51:52 triyo [~triyo@dsl-242-173-83.telkomadsl.co.za] has joined #lisp 10:52:53 I need some direction as how to setup my CL environment with Emacs (cl mode, repl, etc.) 10:53:25 Is there some info that I could read? 10:53:39 I installed CLISP and have Emacs up and running 10:53:50 slime ? 10:54:00 what would now be a good starting point for a newbie 10:54:03 oh, yes: google slime and parenscript 10:54:06 right slime 10:54:08 err sorry, slime and paredit. 10:54:38 I have paredit installed when playing with Clojure 10:55:13 <`3b`> once you have a lisp and emacs, http://www.quicklisp.org/beta/ might be able to help you get the rest set up 10:55:14 So I need that inferior thingy right? 10:55:15 :) 10:55:41 `3b`: oh cool thats that new package manager right? 10:55:45 *`3b`* would use sbcl rather than clisp, but clisp should be OK for starting out 10:55:51 <`3b`> something like that 10:56:06 <`3b`> also has something for helping get slime set up i think 10:56:53 I'll give that a try thanks 11:02:59 -!- k2t01f12d [~k2t0f12d@121.98.185.20] has quit [Quit: Leaving] 11:07:25 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 11:07:33 guys can I please get some help understanding the & parameters? 11:07:49 I am reading PCL and came across the "keyword parameters" 11:08:08 is &key a predefined keyword in Lisp? 11:08:21 yes/no 11:08:29 gigamonkey website helped me to understand them 11:08:34 it's just a regular symbol 11:08:43 is "(defun foo (&key a b c) ... " binding optional args :a to a , :b to b? 11:08:54 clhs &key 11:08:55 http://www.lispworks.com/reference/HyperSpec/Body/03_da.htm 11:08:57 I am reading the same book 11:09:17 edlinde: it's a normal symbol, but with special meaning when it appears in a lambda list. 11:09:33 can you explain with an example? 11:10:07 Administrator [~Administr@220.249.165.82] has joined #lisp 11:10:17 -!- Administrator is now known as Guest25199 11:10:23 edlinde: a keyword is a symbol in the keywords package; all other symbols aren't keywords. 11:10:31 I am just thinking the author says - if you want variable arguments to be passed to a fn use this &key 11:10:42 but then in his example doing a "&key a b c) 11:10:47 isn't that defeating the purpose? 11:10:52 (symbol-package '&key) --> # 11:10:57 oh, this is PCL, i didnt know: http://gigamonkeys.com/book/functions.html 11:10:58 I mean I should be able to pass in a list after &key yeah? 11:11:29 edlinde: hold on. 11:11:42 edlinde: if you want to pass an arbitrary number of arguments, use &rest 11:11:49 yeah I know its a symbol etc... I want to know when to use it and what its giving me? 11:11:50 edlinde: the items mentioned after the &key are keyword arguments. 11:11:59 hmm ok 11:12:09 -!- Guest25199 is now known as cckk 11:12:11 edlinde: (defun foo (&key a b c) ...) 11:12:23 defines 3 arguments (a, b and c) 11:12:24 &key allows you to pass variable number of predefined named arguments in arbitrary order 11:12:37 which can be passed to the function in any order. 11:12:48 (foo :a 3 :c 1 :b 5) 11:12:54 hmm so its basically saying its independant of position 11:13:09 when you call foo.. why do we do this : in front of a? 11:13:24 edlinde: yes, and defaulted 11:13:25 so that it ends up in the KEYWORD package 11:13:39 I thought : was mostly used to pass in optional arguments to functions? Like I saw in open-with.. 11:13:42 the actual arguments passed are identified by a keyword in front of the values, to determine to which variable to assign them. 11:13:52 okie 11:13:52 :a is a keyword 11:13:55 a is not 11:13:56 will remember that 11:14:08 edlinde: :foo is equivalent to keyword:foo 11:14:10 edlinde: with-open-file uses &key 11:14:10 so anything with a : in front is said to be a KEYWORD yeah? 11:14:20 :a identifies the value to assign to a 11:14:23 yes. 11:14:26 okie 11:14:27 adeht: not to keyword::foo? 11:14:29 think I get it now 11:14:45 stassats: all keyword symbols are automatically exported 11:14:59 adeht: but you need to intern them first 11:15:07 stassats: they are interned when read 11:15:08 so with these different kinds of params with the &, like &key, &rest.. I MUST call them &key or &rest? 11:15:17 coz in some code I have seen things like &body 11:15:22 adeht: clisp doesn't agree with you 11:15:23 edlinde: yes. 11:15:24 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 11:15:50 edlinde: those are macro lambda lists 11:15:54 neither does ECL 11:16:11 clhs lambda lists 11:16:18 hmm. 11:16:18 ehu: ok I am still seeing his example on building a database 11:16:23 which is pretty good I think 11:16:28 stassats: http://www.lispworks.com/documentation/HyperSpec/Body/11_abca.htm 11:16:34 maybe I should hold up and things will get clearer in later chapters 11:16:38 ? 11:16:39 stassats: with clisp, is it in ansi mode? 11:16:42 is that a good idea? :) 11:17:15 `3b`: easy as .... (ql:quickload "quicklisp-slime-helper") 11:17:28 adeht: does single : intern into other packages as well? 11:18:11 adeht: and clisp in any mode 11:18:42 and your clhs link, i don't disagree with it, just with the notion when is it interned 11:21:25 and if I say ... (defun foo (&key a (b 20) ... is this saying 20 is the DEFAULT value for b when its not supplied? 11:21:37 rootzlevel [~hpd@91-66-217-160-dynip.superkabel.de] has joined #lisp 11:21:44 right 11:21:48 k 11:23:59 -!- shakshak [~user@41.238.33.63] has quit [Ping timeout: 252 seconds] 11:24:03 I ran the quicklisp, (ql:quickload "quicklisp-slime-helper") and now I have a question as to how to launch the REPL? 11:24:43 triyo: you have to add a bit more to your ~/.emacs 11:24:57 Xarch: did that already 11:25:17 It loads the ~/quicklisp/slime-helper.el 11:25:28 and no errors in Message buffer 11:25:47 triyo: there's more, though. (require 'slime) and (slime-setup '(slime-fancy)) 11:25:59 and (setq inferior-lisp-program "sbcl") or whatever your lisp is 11:26:10 then M-x slime should pop up a repl for you. 11:26:20 (load (expand-file-name "~/quicklisp/slime-helper.el")) 11:26:20 (require 'slime) 11:27:16 add the slime-setup and inferior-lisp-program bits and you should be good to M-x slime. 11:27:24 morphling [~stefan@gssn-5f7551e2.pool.mediaWays.net] has joined #lisp 11:28:01 I ran M-x slime and got a message Searching for program. No such file or directory, lisp 11:28:25 Ah of course 11:28:58 need to define which lisp program, etc. 11:29:13 the next version of ql-slime-helper will do more of that stuff automatically. hopefully out today. 11:30:38 slyrus: awoooga, blog down! 11:30:43 Xach: got it working thanks 11:30:56 sweet, glad to hear it 11:31:08 -!- jhuni [~jhuni@udp217774uds.hawaiiantel.net] has quit [Remote host closed the connection] 11:31:24 yes, it would be great, if it did the (setq inferior-lisp-program "xxx") and slime-setup parts too 11:31:44 I ran it with CLISP btw, no problems what so ever 11:32:02 On Mac OS X 10.6.4 - CLISP + Aquamacs 11:32:07 love the setup 11:32:39 it's even sweeter with a native-code compiler like ClozureCL or SBCL :) 11:32:45 Reason I installed CLISP is because I'm kicking of with that new Land of Lisp book and it uses CLIPS :-D 11:33:06 i think it suggests clisp because it has a nice repl. slime makes that not as much of an advantage. 11:33:22 I used ClozureCL last year when I was learning CL a bit and love it 11:33:24 *Xach* doesn't know for sure, should buy the book and see 11:34:27 Let me tell you my funny story... I bought the ebook version yesterday... I still can't downloaded. Download fails at about 18MB every time 11:34:28 there's afaik one chapter that requires CLISP-specific packages, and there is a version floating on the net that has the necessary examples converted to SBCL 11:34:47 Its weekend and no one is at home at NoStarch :) 11:35:06 So would it be illegal to download an illegal copy since I already bought it ;-) 11:35:45 triyo: from the point of law in *normal* countries, it's legal 11:35:53 it may be illegal, but it doesnt have to be wrong. ;) 11:36:26 hehe. Especially that I forked out the cash and haven't received the goods 11:36:35 stassats: I can't find anything that explicitly says that the keyword should be interned in that case.. 11:37:22 stassats: however that is what I would expect.. did you try it on other implementations? (I only know about SBCL) 11:37:41 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 276 seconds] 11:37:42 adeht: clisp, ecl, xcl fail on it 11:38:43 You expect the interning? 11:39:00 Signalling an error seems like the obvious thing to do to me 11:39:05 -!- hefner [~hefner@ppp-58-9-182-82.revip2.asianet.co.th] has quit [Ping timeout: 255 seconds] 11:39:07 fusss [~chatzilla@12.188.252.254] has joined #lisp 11:40:47 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 11:44:25 tcr: yes, I suppose I should change my expectation. section 2.3.5 mentions interning in rule 1 and 3 and not in rule 2.. obviously other-package:foo does not intern, so you can claim that keyword:foo shouldn't either. still, the keyword package is special anyway, so yet another special case for it seems plausible.. 11:45:26 why is it special? 11:45:29 hefner [~hefner@ppp-58-9-117-34.revip2.asianet.co.th] has joined #lisp 11:45:48 chp [~chp@114.113.65.217] has joined #lisp 11:45:54 I guess because interning into it also affects constantp 11:47:31 -!- chp [~chp@114.113.65.217] has quit [Client Quit] 11:48:05 fusss_ [~chatzilla@12.188.252.254] has joined #lisp 11:48:24 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 11:49:24 tcr: the link I pasted earlier tells you why it's special 11:49:26 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 11:51:09 -!- fusss [~chatzilla@12.188.252.254] has quit [Ping timeout: 265 seconds] 11:51:09 it also makes my wonder about the description in the first rule in 2.3.5.. it says in the first rule that the symbol-value is set to the symbol itself, but that description is redundant given the text in the link I pasted 11:51:17 -!- fusss_ is now known as fusss 11:51:24 -!- fusss [~chatzilla@12.188.252.254] has quit [Client Quit] 11:52:18 Guthur [~Guthur@host86-132-123-151.range86-132.btcentralplus.com] has joined #lisp 11:52:38 -!- gravicappa [~gravicapp@ppp85-140-64-209.pppoe.mtu-net.ru] has quit [Ping timeout: 276 seconds] 11:57:03 (luckily, I never use keyword:foo :) 11:58:36 urandom__ [~user@p548A47E6.dip.t-dialin.net] has joined #lisp 12:00:20 pocket_ [~Pocket@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has joined #lisp 12:05:24 how do I indent lisp code? 12:05:34 the book says I do a Ctr+Alt+q 12:05:40 you let emacs do it for you 12:05:53 when I put the cursor on the starting parenthesis of the function 12:06:00 adeht: yeah I am trying it in Emacs 12:06:14 edlinde: be sure to activate paredit-mode. 12:06:35 pjb: where do I find this setting in Emacs? 12:06:39 is it in the menu? 12:06:41 With paredit-mode, you don't have to do any indentation or code formating, everything's done automatically for you. 12:06:49 minion: paredit 12:06:50 paredit: a set of Emacs commands, with a minor mode for convenient access to them, for editing balanced S-expressions and a number of higher-level operations on S-expressions, at ; see also the #paredit channel 12:07:54 edlinde: but C-M-q doesn't work? 12:08:05 nah not on the function I tried 12:08:16 its just a long line that got wrapped to the next line 12:08:21 the others look good 12:08:39 thought it would automatically break it onto the next line for me 12:08:48 Otherwise, I get lisp code reindented with C-M-\ 12:09:03 It's indent-region 12:09:17 araujo [~araujo@190.38.50.25] has joined #lisp 12:09:17 -!- araujo [~araujo@190.38.50.25] has quit [Changing host] 12:09:17 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 12:09:18 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 245 seconds] 12:09:18 with C-M-@ =) 12:09:32 Which in a lisp buffer is implemented by lisp-indent-region or common-lisp-indent-region, or perhaps something else with slime. 12:10:06 seems like if you put it all in one line then it wont indent 12:10:25 so I split it to the next line and tested it and C-M-q and C-M-\ works fine 12:10:29 so all good 12:10:37 edlinde: that's right 12:10:56 M-x replace-regexp RET \())*\) RET \1 C-q C-j RET 12:11:47 Or perhaps just: M-x replace-regexp RET ) *( RET ) C-q C-j ( RET 12:12:14 edlinde: it's up to the programmer to decide what goes on on each line.. we leave the indentation of each line to the editor 12:13:07 nah I get it now 12:13:08 edlinde: if you don't have an idea, you may try: (pprint '(your code)) 12:13:18 am just going through the PCL code formatting section 12:13:21 makes it clear 12:13:23 though I suppose paredit also somewhat takes over the former decision 12:13:52 Anybody knows a sexp pattern matcher written in emacs lisp? 12:13:54 I really wish after reading through PCL I will be able to write some lisp :) 12:14:19 you can write lisp at any time =) 12:14:28 pjb: how do you guys suggest I practise? 12:14:43 I mean I got some code for a thesis that I have the choice to write in C or Lisp 12:15:05 and I am hoping that after learning some lisp tricks I can knock it out quiker in Lisp than in C 12:15:05 sounds like a good start =) 12:15:18 edlinde: yes, it's essential. Always have a REPL open, and try out expressiones. 12:15:29 eldragon [~eldragon@84.79.67.254] has joined #lisp 12:15:30 but I am worried that I shouldn't get stuck halfway and go.. ah f**k should have done it in C 12:15:31 :) 12:15:37 yeah thats what I am doing 12:15:40 makao007 [~makao007@61.142.209.146] has joined #lisp 12:15:42 I am trying out code as I go 12:15:57 but its a different story when you got to think of it yourself given a problem 12:16:23 for one I got to write some sort of "transformation" tool that will convert the format of an input file to this other format 12:16:24 no one is safe from learning something new =) 12:16:44 and the other is to write some sort of n-ary tree and be able to do all the normal insert/delete, search ops on it 12:17:00 minion: tell edlinde about CLAIA 12:17:00 edlinde: look at CLAIA: is the book "COMMON LISP: An Interactive Approach" by Stuart C. Shapiro: http://www.cse.buffalo.edu/~shapiro/Commonlisp/ 12:17:13 pjb: I got that book from the library 12:17:16 is it good? 12:17:35 someone here said READ PCL and no book else :) 12:17:41 so I am reading PCL now 12:17:59 pjb: do you recommend the Shapiro book/| 12:18:01 ? 12:18:07 edlinde: one "defect" of PCL is its lack of formal exercises and answers (the whole book is made of exercices!). Perhaps CLAIA leads you even more to the REPL. 12:18:18 I didn't read it, but it looked interesting. 12:18:28 I see what you mean 12:18:33 I first read gentle intro 12:18:39 Yes. 12:18:41 and was going to move to Land of Lisp 12:18:47 I liked Gentle Intro 12:19:13 That said, from chapter 3 and on, Gentle is quite practical too, directing you to the REPL at each step. 12:19:16 L of Lisp is pretty much like PCL where they show you how to build things like web servers etc 12:19:24 yeah I noticed 12:19:29 -!- triyo [~triyo@dsl-242-173-83.telkomadsl.co.za] has quit [Ping timeout: 240 seconds] 12:19:29 I am on chap 5 PCL now 12:19:32 functions 12:19:37 There are not a lot of bad lisp books. 12:19:52 but the problem is that there is no ONE awesome lisp book 12:19:54 :) 12:20:04 A few of them are outdated, but most of them are quite good. 12:20:09 almost every other language has this DEFINITIVE book you know 12:20:14 Well, there's SICP, and PAIP. 12:20:15 like C's K&R 12:20:18 sth that's been getting me stuck in CL 12:20:24 yeah but SICP is all Scheme yeah 12:20:27 drl [~lat@125.167.140.159] has joined #lisp 12:20:28 is that I have no ideas on stuff to do where I could use CL :S 12:20:37 edlinde: the K&R equivalent for Lisp is CLtL2 12:20:39 or anything for that matter 12:20:48 *Kovensky* is completely devoid of ideas for not-hard stuff <_< 12:20:49 whats CLtL2? 12:21:01 both predate their standards (although iirc K&R was updated) 12:21:09 minion: cltl2 12:21:10 cltl2: "Common Lisp the Language, 2nd ed" is a book by Guy Steele that describes the state of Common Lisp as it was partway through the ANSI process. http://www.cliki.net/cltl2 12:21:27 Ah I heard about this book 12:21:31 its a big fat one 12:21:32 K&R was before ANSI, K&R2 was after 12:21:53 minion: tell edlinde about sicp-cl 12:21:54 edlinde: please look at sicp-cl: SICP exercices done in other languages including Common Lisp: http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages http://eli.thegreenplace.net/category/programming/lisp/sicp/ 12:22:21 Kovensky: PAIP could give you ideas. 12:22:27 PCL too... 12:22:45 Kovensky: but really, you can just use CL to write all your scripts and programs. 12:22:55 pjb: that's what I do :) 12:22:55 Kovensky: i recently used CL to color-code some tcpdump output to make it easier to see patterns. if you know CL, you just use it for whatever. 12:23:01 Like you use emacs to process all the characters you type at a keyboard! 12:23:08 pjb: at least the programs I don't need to write in other languages :) 12:23:09 lulz 12:23:34 and yeah, I plan to use CL for stuff, it's just I'm without any ideas on stuff to do D: 12:23:58 or only have ideas on stuff to do that are too complex for a beginner 12:24:27 maybe I am in the same boat 12:24:27 -!- jtza8 [~jtza8@41.56.58.193] has quit [Quit: Lost terminal] 12:24:29 Kovensky: ignore the "too complex for a beginner" scarecrow 12:24:42 -!- pocket_ [~Pocket@p4252-ipbf3210hodogaya.kanagawa.ocn.ne.jp] has quit [Quit: ] 12:24:47 But I am hoping that if I start with something complex and get stuck.. I can get help here :) 12:24:54 12:24:55 there got to be some Lisp gurus out here 12:25:05 JUST DO IT 12:25:06 ! 12:25:09 :) 12:25:17 -!- c|mell [~cmell@188-220-238-74.zone11.bethere.co.uk] has quit [Quit: Leaving] 12:25:42 Kovensky: what do you have at the moment that is "too complex"? 12:25:50 Kovensky: ignore the "too complex for a beginner" scarecrow <-- I'm considering that for stuff that is "too complex even to do in other languages that I know" 12:26:27 Kovensky: I think all programmers get that feeling before they start on something new 12:26:35 if they do anything interesting 12:26:37 p_l|home: well, I only have two ideas at the moment; one is to make an IRC image grabber (similar to http://img.eternallybored.org I guess, but with better UI / grabbing); the other is a game 12:27:18 is it easy to make tree structures in lisp? 12:27:24 esp n-ary trees ? 12:27:42 I know how to do them in ML and Haskell... with pattern matching.. don't know how it would work in lisp 12:27:44 Kovensky: you can start by playing with cl-irc 12:27:45 edlinde: IMHO it is 12:27:45 I was planning on using Perl and Mojolicious for the image thingy, so I could learn Mojolicious, but I'm still stuck in being lazy there 12:28:09 also to traverse the trees do you use recursion like in FP languages? Or do-while or loop? 12:28:27 Kovensky: cl-irc is quite easy, closure-html works fine with most of the HTML out there, even if HTML5 confuses it a little, for image processing there are few libraries as well. 12:28:30 I mean I find Lisp code can be either imperative or functional ... so you can really choose what you want 12:29:29 p_l|home: can CL be used as a CGI / FastCGI language? 12:30:07 edlinde: the first thing I would do is define the node data structure.. e.g., (defstruct node value parent children) 12:30:14 edlinde: then implement the operations needed 12:30:23 edlinde: You would loop over the children of a node, and use recursion for each one. 12:30:27 ah ok I never seen defstruct 12:30:44 edlinde: I advice against defstruct and recommend defclass instead. 12:30:56 edlinde: just an example; I'd actually use a defclass 12:31:05 ok is defclass going into OO Lisp? 12:31:24 edlinde: Classes have nothing to do with OO which is a design technique. 12:31:33 and where can I read up more about defclass and some tree examples? 12:31:40 clhs defclass 12:31:40 http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm 12:31:48 -!- eldragon [~eldragon@84.79.67.254] has quit [Ping timeout: 245 seconds] 12:31:50 _s1gma [~herpderp@77.107.164.131] has joined #lisp 12:31:50 nah I meant in a Lisp book or something? 12:31:56 minion: tell edlinde about PAIP 12:31:58 edlinde: please see PAIP: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig. http://www.cliki.net/PAIP 12:32:05 edlinde: you'll get there as you progress on PCL 12:32:16 beach: ah cool thanks 12:32:20 -!- _s1gma [~herpderp@77.107.164.131] has quit [Read error: Connection reset by peer] 12:32:22 that would be really handy 12:32:37 coz I think they do a lot of things like walking the tree, backtracking etc etc 12:32:38 cool 12:32:45 beach: PAIP usually uses defstruct btw 12:33:01 adeht: Oh, I had forgotten that. 12:33:16 Kovensky: rather with a built-in server, though fastcgi shouldn't be hard to code 12:33:21 I think only the OO chapter uses gfs/defclass 12:33:31 http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm <-- the HS has a weird graphical design :S 12:33:49 as for server, Hunchentoot + Nginx(as proxy), other solution is to use the stuff in UCW or hu.dwim 12:33:49 edlinde: a great introduction to CLOS is the Keene book 12:34:03 adeht: sorry whats CLOS? 12:34:13 edlinde: Common Lisp Object System 12:34:16 ok 12:34:18 minion: keene 12:34:19 keene: "Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS" by Sonya E Keene. http://www.cliki.net/keene 12:35:24 I don't mind using a defstruct 12:35:30 I mean it should work the same way yeah? 12:35:40 whats the advantage of having a defclass you think? 12:35:49 edlinde: No, which is why I recommend against it. 12:36:05 ok but I am not a big OO fan 12:36:06 :) 12:36:26 edlinde: I already told you classes are orthogonal to OO. Aren't you listening? 12:36:42 yeah ok fine 12:36:47 but I don't get what CLOS is then? 12:37:01 it says OO prgramming in CL! 12:37:19 edlinde: Yes, but that is orthogonal to classes. How many times do I have to reapeat that? 12:37:36 edlinde: a big problem with defstruct is that it doesn't (have to) support redefinition 12:37:42 edlinde: You can use classes without OO, and you can use OO without classes. 12:37:54 edlinde: Shall I say it again? 12:37:55 ok didn't know that 12:38:02 beach: its allright.. calm down :) 12:38:30 edlinde: Well, you are getting slightly annoying, so I am getting a bit irritated. 12:38:46 ok don't have to be a "beach " about it ;) 12:39:13 plus who would have thought you can have classes without OO and the other way round?? 12:39:23 Its obviously a CL thing 12:39:42 edlinde: no.. it's the same in other languages.. that you define a class doesn't make your code any more OO 12:40:13 edlinde: e.g., in Java you have to make a class and you can still stuff everything into main() :) 12:40:17 edlinde: Anybody who knows a little about programming knows that. 12:40:58 ah well.. wouldn't want to get into this whole OO talk now 12:41:04 no point to it 12:41:17 Then why did you bring it up? 12:41:26 _s1gma [~herpderp@77.107.164.131] has joined #lisp 12:41:45 edlinde: actually, C++ has the same thing. 12:42:08 edlinde: you can write a class, or a struct, without function member, and write external functions working with them. 12:42:11 same in CL. 12:42:36 well to me when you write a class like that ... its stupid 12:42:49 The difference, is that in addition in CL we have generic functions, to do dispatch at run-time on the type, while in C++ they only have function overloading to do the dispatch at compilation time. 12:42:49 no point of putting stuff in a class if you have no methods in it 12:43:24 You don't "put stuff in a class". You're encapsulating a data abstraction. 12:43:46 edlinde: usually you also define reader/writer methods for (some of) your slots 12:43:52 And if your data abstractions have a inheritance relationship that is multiple, then you need CLOS class. 12:44:19 clhs labells 12:44:20 Sorry, I couldn't find anything for labells. 12:44:21 clhs labels 12:44:22 http://www.lispworks.com/reference/HyperSpec/Body/s_flet_.htm 12:44:22 If you only have single inheritance, you could do it with structures. In CL structures and classes have different properties. In C++ they're the same. 12:45:19 edlinde: with CL, methods don't belong in a class, they belong to a generic function.. PCL will tell you this later on :) 12:46:00 -!- sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Quit: Leaving.] 12:46:19 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 12:46:39 edlinde: and in general you shouldn't approach CL with preconceptions of OO from other languages.. 12:47:24 adeht: edlinde seems to have strong opinions about many things he knows nothing about. 12:47:46 beach: like? 12:47:56 PAIP is pretty awesome for CL 12:47:56 beach: I've seen no indication of strong opinions 12:48:04 (re: no one awesome book on CL) 12:48:41 there is no point of having these opinions about OO because every language will do it their own way anyway 12:48:49 dnm: it's my favorite programming book 12:48:49 has anyone here done OO perl? 12:48:59 blabla [~lisps@BSN-61-32-239.dial-up.dsl.siol.net] has joined #lisp 12:49:16 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 272 seconds] 12:49:52 clhs apply 12:49:52 http://www.lispworks.com/reference/HyperSpec/Body/f_apply.htm 12:50:59 edlinde: Yeah, some. 12:51:14 edlinde: this is off-topic.. that said, I heard Perl has something inspired by CLOS called Moose 12:51:20 dnm_: so you know what I mean :) 12:51:31 ? 12:51:34 adeht: yeah Moose is better off 12:51:38 *dnm_* reads backlog 12:51:50 dnm_: have you done the OO perl BEFORE Moose came out? 12:52:13 edlinde: I think so; I only heard of Moose lately in passing. 12:52:20 ok 12:52:58 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 12:53:06 and do you consider Perl's OO version to be truly OO in the sense it does information hiding? 12:53:24 I can always access any method underneath with a simple hash reference 12:53:42 to me personally that isn't OO its just something "bolted on" later on 12:53:54 unlike something like java or Objective-C 12:54:05 -!- Beetny [~Beetny@ppp118-208-25-78.lns20.bne1.internode.on.net] has quit [Ping timeout: 255 seconds] 12:54:12 but I have no idea how CLOS works :) 12:54:14 Eh. So I always begin these kinds of discussions by first tring to answer "what was the model of OO they were trying to go for?", and then determining if they met it or not. 12:54:30 Because there isn't one OO model, there are many. 12:54:39 Some with stronger definitions of encapsulation than others. 12:55:21 Anyway, in Perl's OO model, encapsulation works fine, but it's not "strong" or pure in that, yes, you have ways outside the OO model to violate it in the language. 12:55:26 And yeah, it was tacked on. 12:55:55 so yeah basically the definition of what is "Object Oriented" is so different 12:56:08 and this is what you are saying too 12:56:13 drl [~lat@125.167.140.159] has joined #lisp 12:56:23 Compared to a language which doesn't give you similar escape hatches, Perl's OO is "weaker" perhaps, but if you stay entirely within Perl's OO model, it works fine. 12:56:30 Yeah. 12:56:44 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 12:57:02 Other languages, like say Java, may force the issue, in that you don't have any other way to do anything other than through the OO model. 12:57:20 Both approaches are fine as I'm concerned these days; I pick what I think is appropriate or what I want for the problem at hand. 12:57:32 Although there are usually always seams in the corners. 12:57:42 In Java's case, not everything is an object. 12:58:05 I mean I wouldn't pick Perl's OO over say Java or even Python for a purely OO related task is all I am saying 12:58:13 Sure. 12:58:21 edlinde: in case of CLOS, forget the "encapsulation" as "information hiding" tripe 12:58:25 to me Perl is great for regular expressions, formatting files etc 12:58:33 ok 12:58:44 CLOS doesn't do private/protected/friend/public 12:58:45 I will approach CLOS with a clean slate 12:58:45 That's fine. But if you wanted to write some "strictly OO" code in Perl, you can totally do that, you just have to exercise more discipline and maybe take a performance hit. 12:58:58 though you definitely could play around and force various behaviours with MOP 12:59:03 Due to Perl's implementation. 12:59:06 (of OO) 12:59:19 ok I am off now. 12:59:21 cheers 12:59:35 have to finish PCL 12:59:47 edlinde: to me, regular expressions are a mistake when put into a program (as opposed to entered by the user, which for certain tools make sense) 12:59:51 *makes 13:00:47 http://paste.lisp.org/+2HQN just about perfect==) 13:01:21 oh there should be (cons 'progn (mapcar .. at the start. 13:01:26 *dnm_* thinks implementing an OO system or n helps you understand the different tradeoffs involved and appreciate the variety of approaches that are out there. 13:02:41 chp [~chp@114.113.65.217] has joined #lisp 13:05:56 -!- katesmith_ is now known as katesmmith 13:06:05 -!- katesmmith is now known as katesmith 13:08:26 /quit 13:08:53 dnm: yes, Graham's books have several OO implementations.. also LiSP 13:08:58 and AMOP, of course 13:09:28 hmm i just saw some AMOP 13:12:14 Administrator [~Administr@110.85.49.39] has joined #lisp 13:12:40 -!- Administrator is now known as Guest76792 13:15:14 -!- cckk [~Administr@220.249.165.82] has quit [Ping timeout: 255 seconds] 13:18:10 -!- makao007 [~makao007@61.142.209.146] has left #lisp 13:20:35 gravicappa [~gravicapp@ppp85-140-64-209.pppoe.mtu-net.ru] has joined #lisp 13:23:07 dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has joined #lisp 13:23:42 stassats [~stassats@wikipedia/stassats] has joined #lisp 13:23:45 xan_ [~xan@18.111.46.149] has joined #lisp 13:25:42 off-topic: hmmm... can you use \ to escape characters *outside* string literals in C? like \( ? 13:26:34 p_l: no, but you can use it to treat multiple lines as a single line 13:26:53 p_l: and of course inside character literals 13:27:20 adeht: yeah, so basically I can't encounter \( \[ or \{ ... 13:27:27 *p_l|home* feels sick on noticing it 13:31:37 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 13:32:02 -!- chp [~chp@114.113.65.217] has quit [Quit: Leaving] 13:32:29 chp [~chp@114.113.65.217] has joined #lisp 13:32:40 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 13:36:17 -!- humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has quit [Remote host closed the connection] 13:36:23 -!- urandom__ [~user@p548A47E6.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 13:36:31 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 265 seconds] 13:36:42 xan_ [~xan@18.111.46.149] has joined #lisp 13:39:48 sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 13:41:32 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has left #lisp 13:44:55 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 250 seconds] 13:47:06 syntard_ [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has joined #lisp 13:47:14 symbole [~user@ool-182ffe8f.dyn.optonline.net] has joined #lisp 13:47:37 hello 13:49:33 hullo 13:52:45 Guthur_ [~Guthur@host86-136-51-90.range86-136.btcentralplus.com] has joined #lisp 13:53:13 urandom__ [~user@p548A6014.dip.t-dialin.net] has joined #lisp 13:53:17 Xach_ [~xach@cpe-72-227-90-1.maine.res.rr.com] has joined #lisp 13:53:41 -!- Xach_ [~xach@cpe-72-227-90-1.maine.res.rr.com] has quit [Changing host] 13:53:41 Xach_ [~xach@pdpc/supporter/professional/xach] has joined #lisp 13:53:49 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Disconnected by services] 13:53:52 -!- Xach_ is now known as Xach 13:53:53 xan_ [~xan@18.111.46.149] has joined #lisp 13:54:23 xinming [~hyy@115.221.0.56] has joined #lisp 13:55:08 -!- Guthur [~Guthur@host86-132-123-151.range86-132.btcentralplus.com] has quit [Ping timeout: 245 seconds] 13:55:47 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 13:56:23 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 13:58:30 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 265 seconds] 13:58:33 unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 13:59:09 xyxxyyy [~xyxu@218.82.22.43] has joined #lisp 14:02:47 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Ping timeout: 276 seconds] 14:06:00 vieq [~vieq@metabug/vieq] has joined #lisp 14:06:48 Hello, question, if I was going to learn LISP, would it be a good idea to start with scheme first for it being a lighter delicate of LISP or what? 14:07:00 not if you want to learn Common Lisp. 14:07:09 vieq: If you want to learn Scheme, learn Scheme. 14:07:12 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 14:07:14 kephas [~pierre@AStrasbourg-551-1-65-239.w92-141.abo.wanadoo.fr] has joined #lisp 14:07:19 vieq: If you want to learn "Lisp", read a book. 14:08:17 ANSI Common Lisp does a good job of not teaching any particular language well. 14:08:26 -!- nowhereman [~pierre@AStrasbourg-551-1-78-70.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 272 seconds] 14:08:45 -!- Guest76792 [~Administr@110.85.49.39] has quit [Ping timeout: 250 seconds] 14:09:02 sorry had to answer the door 14:09:23 tic: well, Common LISP, what about it? 14:09:34 do LISP delicate's differ that much? 14:09:44 Yes, dialects differ that much. 14:09:45 vieq: the word is "dialect", and they do. 14:10:13 Xach: so you're saying if I studied form the book "ANSI Common LISP" I will be on the right way 14:10:16 -!- az [~az@p5796CF8C.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 14:10:25 L_isp_ 14:10:36 vieq: Common Lisp is called "common" because it ended several dialects into single language. Scheme can be wildly different from implementation to implementation, even if they support the same standard 14:10:39 vieq: If your goal is to learn no particular language, yes. I don't think that is a very interesting goal, though. 14:10:41 the classic division is: scheme is better for academic work & theoretical comp sci, common lisp is better for pragmatic programming 14:11:15 I tend to collect my learning books before I start, I have A.Gentle.Introduction.to.Symbolic.Computation | ANSI Common Lisp - Graham, Paul | OnLISP | Practical.Common.Lisp 14:11:20 I would suggest looking up Practical Common Lisp and Land of Lisp for learning Lisp. 14:12:17 Xach: well, I would like to start with a programming language that will build a foundation within so I could relay on it for the rest of my life 14:12:17 az [~az@p4FE4FF24.dip.t-dialin.net] has joined #lisp 14:13:30 probably not going to happen unless you're pretty old. 14:13:57 practicing programmers usually have to keep learning new languages 14:14:02 or very smug 14:14:11 point. 14:14:36 and learning new languages to steal their cool features into lisp 14:14:46 vieq: common lisp is worth a 10 year investment or so 14:14:49 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 14:14:53 vieq: after that, you can decide whether or not to stick with it 14:14:57 vlion: I am 28 years old and I do not count my previous trials 14:15:42 Xach: so to cut this short, what exactly should I be doing now? 14:16:34 vieq: Determining your future by talking to strangers on the Internet. 14:16:37 So far, so good. 14:17:00 -!- symbole [~user@ool-182ffe8f.dyn.optonline.net] has quit [Remote host closed the connection] 14:17:04 vieq: Practical Common Lisp is a good book to read 14:17:16 Xach: what if I can not find the right one to ask in the real life? 14:17:45 Xach: very well then, so if my route is lisp then scheme has no place in it 14:17:57 that's what I came here to ask 14:18:04 -!- Guthur_ is now known as Guthur 14:18:14 LiamH [~nobody@pool-72-75-78-43.washdc.east.verizon.net] has joined #lisp 14:18:38 *stassats* uses Common Lisp, Scheme and Emacs Lisp 14:18:46 and each has its place 14:19:05 vieq: it is telling that the Scheme community once chose to define Scheme as more of an Algol than a Lisp 14:20:08 ironically the book called "the little schemer" was called "the little lisper"! 14:20:17 MoALTz_ [~no@92.21.150.137] has joined #lisp 14:20:18 that's why I asked 14:20:23 stassats, Out of interest, which would you use first CL or scheme? 14:20:53 Guthur: i use CL 90% of the time 14:21:00 vieq: if you know other programming languages, I suggest starting with PCL, otherwise Gentle 14:21:22 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 14:21:28 adeht: no previous programming lang. 14:21:40 just bits from here and there 14:22:58 -!- MoALTz [~no@92.21.150.137] has quit [Ping timeout: 252 seconds] 14:23:38 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 14:24:34 snorble [~snorble@s83-179-14-105.cust.tele2.se] has joined #lisp 14:28:11 astoon [~astoon@213.141.244.246] has joined #lisp 14:28:54 thanks all 14:29:22 vieq: start learning immediately 14:30:02 syntard_: I will put one book of what the guys suggested to print ASAP 14:30:33 vieq: why print? 14:30:36 so far, I got to a conclusion from searching and asking that scheme WAS like Lisp before, now it's something else 14:30:54 syntard_: well, reading of my screen is not as fast as reading from a hard copy 14:30:56 that's all 14:31:40 gentle intro is over 500 pages 14:31:51 I know :D 14:32:08 it's worth it, if you're just starting 14:32:17 it's actually 587 pages 14:32:33 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 14:32:40 syntard_: I am really just starting, I was once thinking of starting with Ruby just to be in the middle of it all 14:32:59 but that seems now like not the great Idea 14:34:34 vieq: I think any good programmer would learn as many languages as possible given time and brain cells, good or bad. 14:34:36 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 14:34:47 I personally found CL the most educational language to learn 14:35:43 Prolog was the Great Mindbender for me. 14:36:17 Javascript for me 14:36:31 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 14:37:31 eldragon [~eldragon@84.79.67.254] has joined #lisp 14:37:52 *syntard_* will probably use something forth-like to implement CL in javascript 14:38:36 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 240 seconds] 14:38:56 dreamcode [~Wistful@unaffiliated/wistful] has joined #lisp 14:38:58 jleija [~jleija@adsl-91-56-208.chs.bellsouth.net] has joined #lisp 14:39:47 -!- shinta42 [~kevin@124.207.233.36] has left #lisp 14:40:58 egads 14:44:18 Hum. I want to release documentation under a very permissive license, so I thought of using the MIT license just like for the code, but then anyone can *legally* make a copy, make a few meaningless edits, slap their name on it and claim they wrote it, right?... Like, writing this documentation is quite labor-intensive and I really want to let people extend the library and documentation without any problems but I'm looking for som 14:45:31 I'm a bit worried about some random fucktard on the internet making a crappy copy of my stuff for his nice scrapped content adsense shithole. 14:45:38 -!- replete [~pete@74.64.94.88] has quit [Ping timeout: 265 seconds] 14:45:54 (I'm probably just parano?) 14:46:02 Hexstream: no, they can't, not with MIT. MIT still requires attribution in code, afaik 14:46:13 also, depends on law system where you are 14:46:19 syntard_: yes I can agree with that, all I am saying is just I do not want to start on the wrong foot that's all 14:46:35 "just slapping a name" is illegal in many countries no matter what license is used 14:46:42 Ah, nice. 14:46:44 Is it possible to mapcar incf over a list of symbols? 14:46:55 No, INCF is a macro, not a function. 14:47:00 you see what I am trying to do here is learning in a academic with a more fashion 14:47:16 so it would not be just dry raw science 14:47:21 Hexstream: Right. 14:47:37 Hexstream: I am asking if there can be something done nearly equivalently 14:47:47 I know, I'm thinking... 14:47:48 without creating a mapcarmacro 14:47:56 (mapcar (lambda (name) (incf (symbol-value name))) ) 14:48:08 But you're probably overcomplicating things. Something writing it out is simple and convenient. 14:48:19 why not use #'1+ ? 14:48:30 p_l|home: Side effects? 14:48:34 Because he wants to modify variables? 14:48:45 Sometimes* 14:48:46 This was just a little challenge in my mind. This is not something I plan on doing. 14:48:46 very well, my question is already answered, I will stay over here for a while 14:49:32 MAPCAR is probably not needed here. Use MAPC or DOLIST. 14:50:10 KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has joined #lisp 14:50:19 nefo [~nefo@2402:f000:5:8f01::143:81] has joined #lisp 14:50:19 -!- nefo [~nefo@2402:f000:5:8f01::143:81] has quit [Changing host] 14:50:20 nefo [~nefo@unaffiliated/nefo] has joined #lisp 14:50:28 Quadrescence: but using symbols like that is a bad idea 98% of the time 14:50:32 *Quadrescence* still wonders why it is called MAPCAR...maybe because it never maps to (CDR (CONS NIL))... 14:50:32 -!- nefo [~nefo@unaffiliated/nefo] has quit [Read error: Connection reset by peer] 14:50:38 nikodemus: Yes yes, I know 14:51:14 nowhere_man [~pierre@AStrasbourg-551-1-28-69.w83-196.abo.wanadoo.fr] has joined #lisp 14:51:57 Quadrescence: because it maps on cars of conses 14:51:58 attila_lendvai [~attila_le@adsl-89-134-29-99.monradsl.monornet.hu] has joined #lisp 14:52:07 -!- kephas [~pierre@AStrasbourg-551-1-65-239.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 14:52:28 Hum. MAP as in, you know... mapping. And CAR as in... car, which means Copy Address Register: http://www.iwriteiam.nl/HaCAR_CDR.html 14:52:47 wbooze` [~user@xdsl-84-44-252-148.netcologne.de] has joined #lisp 14:52:48 homie` [~user@xdsl-84-44-252-148.netcologne.de] has joined #lisp 14:53:11 _nix00 [~Adium@58.33.106.62] has joined #lisp 14:53:12 -!- MoALTz_ [~no@92.21.150.137] has quit [Quit: Leaving] 14:53:14 -!- _nix00 [~Adium@58.33.106.62] has left #lisp 14:53:18 Contents of Adress part of Register 14:53:23 or contents of address register 14:53:29 replete [~pete@cpe-74-64-94-88.hvc.res.rr.com] has joined #lisp 14:53:42 MoALTz [~no@92.21.150.137] has joined #lisp 14:53:49 Have you guys seen the crazy macro constructs (not actual macros) some Schemers use? 14:53:54 Anyway, the point is that it's a legacy name. 14:53:57 Hexstream: the register was 36bits, CAR extracted bits 4-19 14:54:15 -!- homie` [~user@xdsl-84-44-252-148.netcologne.de] has quit [Read error: Connection reset by peer] 14:54:23 "Hygienic" macros? 14:54:24 -!- wbooze` [~user@xdsl-84-44-252-148.netcologne.de] has quit [Client Quit] 14:54:33 Hexstream: Even their unhygienic ones. 14:54:42 -!- Xach [~xach@pdpc/supporter/professional/xach] has left #lisp 14:54:47 *4-18 14:55:05 b-man_ [~b-man@189.34.57.54] has joined #lisp 14:55:06 I can't fathom why you'd want "hygienic" macros, the "dirty" ones CL have are straightforward and intuitive... Or maybe I've been bathing in CL too much. 14:55:10 (define-syntax foo (ec-macro-transformer ...)) 14:55:17 -!- homie [~user@xdsl-78-34-200-160.netcologne.de] has quit [Ping timeout: 276 seconds] 14:55:18 -!- wbooze [~user@xdsl-78-34-200-160.netcologne.de] has quit [Ping timeout: 272 seconds] 14:55:32 Hexstream: CPR = bits 1-3, CAR = bits 4-18, CDR = bits 19-33, CTR = 34-36 14:55:46 p_l|home: Whatever... 14:55:56 -!- ArtVandalae [~SuperUnkn@220-253-41-243.VIC.netspace.net.au] has quit [Ping timeout: 276 seconds] 14:56:08 Hexstream: well, we don't use those funky IBM's anymore :D 14:56:37 {ec,ir,er,sc}-macro-transformer = some of the unhygienic macro constructs. I am sort of whining right now but I am pretty annoyed. ;) 14:57:39 homie [~user@xdsl-84-44-252-148.netcologne.de] has joined #lisp 14:59:15 wbooze [~user@xdsl-84-44-252-148.netcologne.de] has joined #lisp 14:59:30 I guess they just see macros as a way to make new syntax purely by rewriting and recursion. 14:59:36 Not by pre-computation. 15:01:02 BrandLeeJones [~BrandLeeJ@213-33-20-221.adsl.highway.telekom.at] has joined #lisp 15:02:46 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 15:06:32 skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 15:06:43 -!- kvsari [~kvsari@203.171.93.21.static.rev.aanet.com.au] has quit [Ping timeout: 240 seconds] 15:08:25 jondro [~user@chello089073233006.chello.pl] has joined #lisp 15:11:24 -!- unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Quit: Computer has gone to sleep] 15:13:25 _nix001 [~Adium@58.33.106.62] has joined #lisp 15:13:27 -!- _nix001 [~Adium@58.33.106.62] has left #lisp 15:14:22 Doormat [~Doormat@c-71-233-47-93.hsd1.ma.comcast.net] has joined #lisp 15:16:22 Quadrescence: Of course you know they also have CL-style macros, yes? 15:17:58 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 252 seconds] 15:18:15 -!- b-man_ [~b-man@189.34.57.54] has quit [Remote host closed the connection] 15:19:32 buncito [~user@114.79.55.239] has joined #lisp 15:19:39 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 15:20:55 schmrkc: No, in this particular implementation, define-macro was deprecated a few versions ago 15:21:10 since it's "too much of a hack" and "[defmacro] is too broken" 15:21:32 which impl is it? 15:21:36 chicken 15:21:59 -!- xinming [~hyy@115.221.0.56] has quit [Ping timeout: 250 seconds] 15:22:23 chickened out 15:22:26 haha 15:22:49 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 15:23:08 xinming [~hyy@115.221.0.56] has joined #lisp 15:24:42 "too broken". their impl of it is too broken. How about their "+", does 2 + 2 work? 15:25:07 unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 15:25:22 *syntard_* quiets down 15:27:42 IMHO Chicken Scheme is quite good 15:27:48 -!- dreamcode [~Wistful@unaffiliated/wistful] has quit [Quit: Leaving] 15:28:19 not saying it isn't. their cl is bad :) 15:30:02 xan_ [~xan@18.111.46.149] has joined #lisp 15:32:05 nowhereman [~pierre@AStrasbourg-551-1-112-27.w90-13.abo.wanadoo.fr] has joined #lisp 15:32:11 -!- nowhere_man [~pierre@AStrasbourg-551-1-28-69.w83-196.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 15:32:40 Quadrescence: So implement a new define-macro. 15:32:59 Quadrescence: What makes sense to me though is that if you want CL you use CL. 15:33:12 HG` [~HG@xdsl-92-252-82-190.dip.osnanet.de] has joined #lisp 15:33:49 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 15:34:05 nyef [~nyef@pool-70-20-44-124.man.east.myfairpoint.net] has joined #lisp 15:35:19 schmrkc: yes I agree 15:35:27 with the second part 15:35:35 not the first part since they make it nearly impossible to do 15:38:07 -!- chp [~chp@114.113.65.217] has quit [Quit: leaving] 15:41:29 -!- Fullma [~fullma@ram94-2-82-66-69-246.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 15:42:28 Fullma [~fullma@ram94-2-82-66-69-246.fbx.proxad.net] has joined #lisp 15:42:29 rme [~rme@pool-70-105-122-27.chi.dsl-w.verizon.net] has joined #lisp 15:43:33 loxs [~loxs@78.90.124.179] has joined #lisp 15:44:54 do we know who is responsible for the common lisp eve-api package? 15:45:24 ah. aerique. 15:45:28 -!- plediii [~plediii@adsl-99-185-124-47.dsl.hstntx.sbcglobal.net] has quit [Quit: plediii] 15:48:32 Bucciarati [~buccia@www.inscatolati.net] has joined #lisp 15:49:34 carlocci [~nes@93.37.197.110] has joined #lisp 15:50:07 -1 u. 15:50:14 oops 15:50:32 -!- Doormat [~Doormat@c-71-233-47-93.hsd1.ma.comcast.net] has quit [] 15:52:55 -!- jondro [~user@chello089073233006.chello.pl] has quit [Remote host closed the connection] 15:54:32 -!- dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has quit [Ping timeout: 255 seconds] 15:55:03 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 15:55:10 -!- astoon [~astoon@213.141.244.246] has quit [Ping timeout: 260 seconds] 15:56:08 enupten [~neptune@117.254.105.230] has joined #lisp 16:01:37 vieq__ [~vieq@41.34.186.69] has joined #lisp 16:01:44 rukowen [~thehien@123.20.2.114] has joined #lisp 16:02:10 -!- vieq [~vieq@metabug/vieq] has quit [Ping timeout: 260 seconds] 16:02:50 -!- rukowen [~thehien@123.20.2.114] has quit [Client Quit] 16:03:38 -!- KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has quit [Ping timeout: 264 seconds] 16:03:39 -!- vieq__ is now known as vieq 16:03:39 hi lispers. I wonder which distro is popular belong the lisp coders because I'm looking for a new, lightweight, well documented and supported distro. any suggestions? 16:03:46 -!- vieq [~vieq@41.34.186.69] has quit [Changing host] 16:03:46 vieq [~vieq@metabug/vieq] has joined #lisp 16:03:55 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 260 seconds] 16:04:14 rukowen [~thehien@123.20.2.114] has joined #lisp 16:05:15 sbcl is the most popular lisp implementation around here. 16:05:25 clozure cl is also well represented. 16:05:29 xan_ [~xan@18.111.46.149] has joined #lisp 16:07:12 sid3k: there is CrunchBang Linux it was based on ubuntu and now it's debian based 16:07:36 -!- nowhereman [~pierre@AStrasbourg-551-1-112-27.w90-13.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 16:07:41 it uses OpenBOX and XFCE as it's WM, I think you can deploy any lisp on such a thing 16:08:15 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 16:09:05 nowhereman [~pierre@AStrasbourg-551-1-95-252.w81-49.abo.wanadoo.fr] has joined #lisp 16:10:33 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 252 seconds] 16:10:51 -!- BrandLeeJones [~BrandLeeJ@213-33-20-221.adsl.highway.telekom.at] has left #lisp 16:11:12 BrandLeeJones [~BrandLeeJ@213-33-20-221.adsl.highway.telekom.at] has joined #lisp 16:12:26 vieq: I now use crunchbang but it doesn't seem active 16:12:39 astoon [~astoon@213.141.244.246] has joined #lisp 16:12:55 LegendaryPenguin [~Tn@pool-96-244-247-220.bltmmd.fios.verizon.net] has joined #lisp 16:13:01 btw I want no gui. I should be able to configure all the things myself 16:13:11 well the idea behind crunchbang is it's just some setup's for various tools you can get it done on your own 16:13:47 like for example I gotta a link for installing a minimal debian and on top of it scrotwm WM, how light can it be :D 16:14:07 then if that's the case, how about using a BSD 16:14:25 emma_ [~em@unaffiliated/emma] has joined #lisp 16:14:30 say OpenBSD for example 16:15:01 -!- emma [~em@unaffiliated/emma] has quit [Read error: Connection reset by peer] 16:15:04 http://elsasser.org/openbsd/sbcl.html 16:17:01 *syntard_* thinks slackware is very hands-on 16:17:52 syntard_: you might wanna give Arch a try out if you're a die hard Slack user 16:17:59 bigjust [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 16:18:29 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 276 seconds] 16:19:11 i think there are some issues concerning utf8 locales on openbsd, aren't there? 16:20:20 prxq [~mommer@mnhm-4d0133c9.pool.mediaWays.net] has joined #lisp 16:20:29 pr: not any more D: 16:20:55 I think they got that fixed in either 4.7 or 4.8, checking 16:22:12 nope, I think it's still ongoing fix 16:22:24 it was tmux that got UTF-8 fix's 16:22:32 plan9! it has good utf-8 support 16:22:44 lol 16:22:56 vieq: can openbox do 1680x945 resolution? 16:22:57 hi 16:23:16 syntard_: have not tried that before 16:24:09 -!- emma_ is now known as emma 16:26:40 shakshak [~user@41.238.33.63] has joined #lisp 16:28:18 syntard_: I found this http://urukrama.wordpress.com/2008/04/26/a-comparison-of-four-window-managers/ 16:28:27 sid3k: this might be useful 16:30:17 vieq: actually I need a distro suggestion, thanks anyway 16:31:00 and xmonad is the best wm ever :) 16:36:38 guys which one is better clisp or sbcl? and why? 16:36:54 makao007 [~makao007@61.142.209.146] has joined #lisp 16:38:26 minion: compare 16:38:27 Sorry, I couldn't find anything in the database for ``compare''. 16:39:07 minion: implementations 16:39:07 implementations: Common Lisp Implementation: Free Common Lisp implementations and their *features*. http://www.cliki.net/Common%20Lisp%20Implementation 16:41:00 aye 16:41:39 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 16:42:27 nha [~prefect@250-194.105-92.cust.bluewin.ch] has joined #lisp 16:46:13 -!- makao007 [~makao007@61.142.209.146] has left #lisp 16:47:24 minion: survey 16:47:25 Sorry, I couldn't find anything in the database for ``survey''. 16:47:37 minion: lisp survey 16:47:37 lisp survey: http://www.common-lisp.net/~dlw/LispSurvey.html A survey by Daniel Weinreb comparing Common Lisp implementations, both commercial and open-source, that were active as of late 2007. It also has useful links to learning resources at the end 16:48:45 -!- HG` [~HG@xdsl-92-252-82-190.dip.osnanet.de] has quit [Quit: Leaving.] 16:50:03 kephas [~pierre@AStrasbourg-551-1-76-35.w81-51.abo.wanadoo.fr] has joined #lisp 16:50:20 -!- nowhereman [~pierre@AStrasbourg-551-1-95-252.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 16:51:16 kleppari [~spa@bitbucket.is] has joined #lisp 16:53:02 -!- enupten [~neptune@117.254.105.230] has left #lisp 16:53:10 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Quit: Leaving] 16:53:28 buncito: it depends on what you want and what is important to you. 16:53:59 buncito: I prefer sbcl, and I'd also recomend it for learning. 16:55:40 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 16:56:31 prxq: why do you prefer it? is it because it's faster? 16:59:08 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 16:59:16 yes. 17:00:08 and its licence. And there is a lot of software that is important to me that runs on it 17:00:39 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 17:00:47 ah the license.. 17:01:43 dreamcode [~Wistful@79.114.205.96] has joined #lisp 17:01:43 -!- dreamcode [~Wistful@79.114.205.96] has quit [Changing host] 17:01:43 dreamcode [~Wistful@unaffiliated/wistful] has joined #lisp 17:01:54 license is the issue that keeps people away from CLISP. And sometimes ACL 17:02:31 p_l|home: well, and speed. And certain strangenesses, although I haven't tried it in a while. 17:02:58 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Client Quit] 17:03:26 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Ex-Chat] 17:03:43 heh 17:04:20 enough people dissatisfied that I wasn't condemned for talking about "maybe writing" a new bytecode-only CL ;P 17:04:38 clisp is not bytecode-only 17:05:05 stassats: true, not anymore, but the beginning of it was ECL 17:06:09 stassats: no? does it compile to native? or do you mean something else? 17:06:17 prxq: there's some JIT 17:06:57 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 17:07:39 ak70 [~ak70@a133.198.adsl.nextweb.net.mt] has joined #lisp 17:08:48 GrayMagiker [~steve@c-174-56-84-85.hsd1.nm.comcast.net] has joined #lisp 17:10:03 -!- rdd [~rdd@c83-250-48-164.bredband.comhem.se] has quit [Read error: Connection reset by peer] 17:16:06 xan_ [~xan@18.111.46.149] has joined #lisp 17:18:53 -!- dborba [~dborba@c-71-62-159-244.hsd1.va.comcast.net] has quit [Ping timeout: 245 seconds] 17:19:40 KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has joined #lisp 17:19:50 -!- benny [~benny@i577A3A33.versanet.de] has quit [Ping timeout: 264 seconds] 17:24:02 -!- gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has quit [Quit: gonzojive] 17:24:17 -!- xinming [~hyy@115.221.0.56] has quit [Ping timeout: 276 seconds] 17:26:31 sid3k: I can suggest Fedora, they have this http://fedoraproject.org/wiki/User_talk:Akahl 17:26:59 so I 'd assume you 'll always find your fav. lisp implementation up2date with Fedora 17:28:16 triyo [~triyo@dsl-242-173-83.telkomadsl.co.za] has joined #lisp 17:28:40 -!- pavelludiq [~quassel@91.139.198.56] has quit [Quit: No Ping reply in 180 seconds.] 17:28:53 pavelludiq [~quassel@91.139.198.56] has joined #lisp 17:29:44 -!- triyo [~triyo@dsl-242-173-83.telkomadsl.co.za] has quit [Client Quit] 17:29:51 vieq: ... Do they have SBCL 1.0.44 yet? 17:30:06 checking 17:31:28 actually for f13 they have 1.0.38 :| 17:31:42 That's not too bad 17:32:09 Logistically it would difficult to stay as cutting edge as being 1.0.44 would imply 17:32:16 Mmm. .38 is only six months old. 17:32:19 and would probably indicate a lack testing 17:32:43 True. .44 is about 14 hours old, according to the tag. 17:32:56 I can run 1.0.43 without installing on f13 17:33:20 Debian is 17:33:23 1.0.40 17:33:26 dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #lisp 17:33:29 on Sid 17:33:39 -!- thom_logn [~thom@pool-74-100-140-188.lsanca.fios.verizon.net] has quit [Quit: This computer has gone to sleep] 17:33:59 " This is SBCL 1.0.43, an implementation of ANSI Common Lisp " >> Fedora 13 17:34:06 and Squeeze actually 17:34:07 does it matter? one shouldn't be using the distro's lisp anyway. 17:35:34 Might be amusing to put together a linux distro based around a lisp system (desktop environment in lisp, et cetera). 17:36:06 *Guthur* has just realized how bad Ubuntu is a keeping up to date 17:36:15 s/a/at 17:36:56 rdd [~user@c83-250-48-164.bredband.comhem.se] has joined #lisp 17:38:01 hi, if I have an exported symbol/keyword :FOO in package BAR where :FOO is a function, how would I call BAR's :FOO when I'm not in package BAR? i.e., (BAR::FOO) and (BAR:FOO) will tell me that they're undefined 17:38:11 -!- kephas [~pierre@AStrasbourg-551-1-76-35.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 265 seconds] 17:38:59 kephas [~pierre@AStrasbourg-551-1-92-55.w81-49.abo.wanadoo.fr] has joined #lisp 17:40:33 egn: (use-package :foo) 17:41:05 homie: there's no way to call it when I'm not using/in the package? 17:41:51 are they exported ? 17:43:03 egn: wait... what do you mean 'exported symbol/keyword :FOO in package BAR'? 17:43:19 egn: because the symbol :foo is a keyword, defined in the keyword package. A ":" before a symbol tells the reader to make the following symbol a keyword 17:43:23 -!- vieq [~vieq@metabug/vieq] has quit [Quit: Time UP] 17:43:24 all keywords are exported from KEYWORD 17:43:42 PCChris [~PCChris@wireless-165-124-137-35.nuwlan.northwestern.edu] has joined #lisp 17:43:51 egn: guessing that if you tried (:foo) your code would do something 17:44:03 and in general, defining functions on keywords is not a good idea. 17:44:06 jeti [~user@p54B47EAF.dip.t-dialin.net] has joined #lisp 17:44:09 you could import it in your package, if you're sufficiently insane 17:44:43 homie: drewc: hargettp: stassats: http://paste.lisp.org/display/116312 17:44:46 benny [~benny@i577A33EF.versanet.de] has joined #lisp 17:44:59 -!- Ragnaroek [~chatzilla@pD9E25F1F.dip.t-dialin.net] has quit [Remote host closed the connection] 17:45:05 egn: (defun foo () 'foo) 17:45:05 drewc: yeah, just in theory I was curious 17:45:31 not :foo:foo 17:45:39 Bronsa [~bronsa@host179-186-dynamic.6-79-r.retail.telecomitalia.it] has joined #lisp 17:45:45 then (bar:foo) will work (as well as (bar::foo)) 17:45:45 isak [~isak@78-73-89-9-no169.tbcn.telia.com] has joined #lisp 17:46:03 err :bar:foo 17:46:11 that's not allowed 17:46:28 -!- gravicappa [~gravicapp@ppp85-140-64-209.pppoe.mtu-net.ru] has quit [Ping timeout: 252 seconds] 17:46:28 egn: if you are using defpackage, then you should make that (:export "FOO"), as a string 17:46:31 clhs defpackage 17:46:32 http://www.lispworks.com/reference/HyperSpec/Body/m_defpkg.htm 17:46:37 hargettp: you should not 17:46:42 hargettp: no 17:46:43 -!- KimoOta [~tom@71-94-222-221.static.knwc.wa.charter.com] has quit [Ping timeout: 240 seconds] 17:46:43 stassats: sorry, to clarify, I was just wondering about the possibility of it with a function named :foo 17:46:54 stassats: i don't use defpackage that way, just reading CLHS :) 17:47:00 egn: then write it as \:foo 17:47:05 stassats: ah 17:47:15 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 17:47:18 : is a package marker, you need to escape it 17:47:29 ... There's an awful joke to be made about TYPEP, foo:foo, and a LITTLE-BUNNY deftype, but I'm not presently inclined to work out the details... 17:47:38 lol 17:47:40 -!- GrayMagiker [~steve@c-174-56-84-85.hsd1.nm.comcast.net] has quit [Quit: Leaving] 17:47:48 stassats: thanks, that's what I was looking for 17:48:04 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 17:48:55 stassats:drewc: what did I miss? was :foo the intended symbol in this case? 17:49:01 :) 17:49:10 egn: i can't image what problem you are trying to solve that you need a function named BAR:|:FOO| . Can i suggest using lisp the 'right' way? ;) 17:49:39 hargettp: you missed what "package designator" is 17:50:06 hargettp: you missed modern mode, readtable cases, and all the other things that cause problems when using strings in package declarations 17:50:07 or that was an exported symbol, then "string designator" 17:50:22 drewc: using lisp the right way?! never! I thought that cl-who defined functions like (:a :href ...) so I was curious if they could do that but apparently they don't 17:50:37 egn: it's not functions... 17:51:31 Oh, hello: in my packages I use #:foo, #:bar, etc. in the (:export ) section...I see why y'all flinched :) 17:51:47 I will have another cup of coffee to clear my head then :) 17:52:00 you can define functions name but keyworks, but that's not how cl-who works... why don't you try looking at the source of cl-who? 17:52:05 yikes 17:52:20 *drewc* needs coffee, can't speak yet 17:52:36 *hargettp* is amazed folks can do anything without coffee 17:52:45 stassats: drewc: I looked at the source but I couldn't figure out how they translated (let ((foo "Foo")) (with-html-output... (:a :href foo))) without (:a) being a function 17:52:58 maybe you guys can help 17:53:00 *stassats* amazed some people like coffee 17:53:02 gravicappa [~gravicapp@ppp85-141-167-147.pppoe.mtu-net.ru] has joined #lisp 17:53:04 lol 17:53:40 egn: with-html-output is a macro which interprets the passed tree in its own way 17:53:40 minion: tell egn about pcl 17:53:42 egn: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 17:53:59 PCL has some examples of similar macros 17:54:09 stassats: drewc: okay, thanks 17:54:12 -!- rukowen [~thehien@123.20.2.114] has quit [Quit: Leaving.] 17:55:50 (defmacro with-keyword-functions (&body body) `(progn ,@(sublis '((:print . print)) body))) 17:55:56 (with-keyword-functions (:print 10)) => 10 17:57:00 stassats: excellent, thank you 17:58:11 oh god, that's so much better than the way I was planning it 17:58:55 stassats: that's broken 17:59:05 fe[nl]ix: no way! 17:59:16 -!- sigjuice [~sigjuice@c-24-130-52-60.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 17:59:27 sorry for asking such a low level question, but i need to know if i'm working in the right direction 17:59:46 clhs workin-in-the-right-direction-p 17:59:46 Sorry, I couldn't find anything for workin-in-the-right-direction-p. 18:00:04 stassats: You forgot the #\g. 18:00:11 doh! 18:00:16 i'm trying to read a newline delimited file of words, and select one, breaking it up by character into an array 18:00:30 http://paste.lisp.org/display/116313 18:00:39 is this anywhere near where i should be going with it? 18:01:01 yes 18:01:03 osoleve: Consider using READ-LINE. 18:01:09 except for s/read/read-line/ 18:01:25 okay, that makes sense 18:01:34 And the exceedingly clever function for converting a string into an array of characters is called "IDENTITY". 18:01:39 what does the nil after stream represent? 18:01:47 don't error on eof 18:01:52 EOF-ERROR-P, right? 18:02:02 okay, thank you 18:02:09 The argument after that is the value to return on EOF. 18:02:25 -!- qsun [~qsun@66.220.3.138] has quit [Ping timeout: 252 seconds] 18:02:53 but you don't need it with read-line 18:02:56 okay, so if i get this, the function i presented reads a list of words and forms an array or strings 18:03:11 i mean eof-value parameter 18:03:19 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 18:03:29 osoleve: it returns a list of strings 18:03:42 ah 18:03:48 and strings are arrays of characters 18:04:21 how do i specifically access a member of a list without knowing the position beforehand? 18:04:30 is it anything like (aref array x)? 18:04:30 stassats: ... Damnit, I was trying to be subtle about that! 18:04:40 clhs ELT 18:04:40 http://www.lispworks.com/reference/HyperSpec/Body/f_elt.htm 18:04:44 clhs NTH 18:04:44 http://www.lispworks.com/reference/HyperSpec/Body/f_nth.htm 18:04:47 It's one of those. 18:04:56 thanks, i'll look into them 18:05:08 but those require knowing the position 18:05:31 -!- znutar [~znutar@69.164.197.143] has left #lisp 18:05:34 at least we hav arrays for strings, poor haskell has to deal with lists... 18:06:21 There's some fun trick for equiprobably selecting an element from a list of unknown length, with only one pass through the list, but I forget the details. 18:06:33 wait, with (nth... could i just do (nth x [snip] where i preset x to a random value beforehand? 18:08:21 qsun [~qsun@66.220.3.138] has joined #lisp 18:09:12 yes, you could obtain the value of X in any imaginable way, but it should be done before evaluating the arguments for NTH 18:11:02 okay 18:11:18 thanks for not being jerks because i'm a beginner, by the way 18:11:41 my first two tries in #lisp led to nothing but condescension and rudeness 18:11:51 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 250 seconds] 18:11:58 -!- Bronsa [~bronsa@host179-186-dynamic.6-79-r.retail.telecomitalia.it] has quit [Quit: leaving] 18:12:35 osoleve: depends on how one asks the question, really... 18:12:58 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 18:12:59 and how many times 18:13:08 and given how much misinformation is out there, innocents might get burned by saying things that reeks of tripe etc. 18:13:10 How can I put an argument into a string in defmacro? 18:13:27 "argument" 18:13:30 -!- gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has quit [Quit: gonzojive] 18:13:31 seangrove: do you mean &body ? 18:13:44 Maybe.. I'll write a quick example 18:13:48 -!- dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has quit [] 18:13:51 please do 18:13:56 seangrove: as in, take the Sexp passed in and make it into a string? 18:14:14 (defmacro example (name) `(defun ,name () (format nil "Hello, I'm ,name!"))) 18:14:34 Or some variation on that. I'm more curious about getting name into the string 18:14:44 (format t "Hello ~a" 'format) 18:15:18 if you just want a string (string 'format) 18:15:31 -!- astoon [~astoon@213.141.244.246] has quit [Quit: Leaving] 18:15:56 but I don't seem to be able to get that to work in a macro 18:16:03 (string ,'name), for example 18:16:12 the other way around 18:16:14 ', 18:16:14 Or would it be (string ',name) 18:16:17 ahhh 18:16:23 *seangrove* wasted 10 minutes :P 18:17:32 Thanks stassats 18:17:51 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 18:17:55 Harag [~Harag@41.56.16.143] has joined #lisp 18:18:21 -!- Harag [~Harag@41.56.16.143] has left #lisp 18:18:27 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 18:18:41 does (length) work on lists? 18:18:46 osoleve: yes 18:18:50 cool, thanks 18:18:52 billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has joined #lisp 18:19:24 length works on sequences, which lists are 18:19:28 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 18:19:29 osoleve: try these things at the REPL first ya? 18:19:43 or at CLHS 18:19:46 sorry, i'm still getting used to having the repl there 18:19:50 *drewc* is getting sick of your basic questions that are in the docs or the REPL 18:20:16 and length only works on proper lists, for other see LIST-LENGTH 18:20:40 nowhere_man [~pierre@AStrasbourg-551-1-106-194.w90-13.abo.wanadoo.fr] has joined #lisp 18:20:44 osoleve: ... I think getting CLHS linked into your Emacs install will really help you along 18:20:58 that said, you rarely should the need to use LIST-LENGTH 18:20:58 drewc: I'm sorry. Sometimes, I find it faster to ask people who know implicitly than to search through the docs. I don't mean to annoy. 18:21:26 -!- gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has quit [Client Quit] 18:21:32 osoleve: and i find it faster to not have to read your drivel. If you can't do this : 18:21:33 osoleve: learn to first search the docs - it's an useful habit, especially if you end up working as a programmer 18:21:36 clhs length 18:21:37 http://www.lispworks.com/reference/HyperSpec/Body/f_length.htm 18:21:38 -!- kephas [~pierre@AStrasbourg-551-1-92-55.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 264 seconds] 18:21:56 ... then what _can_ you do? 18:22:06 i try to use the docs, but for some reason the CLHS is like... foreign to me. 18:22:20 drewc: I can try. And that's what I'm doing. 18:22:25 Hmm, if I have a function (defun fn (&rest r) (when r (dosomething))) - but if I call (fn '()) or even (fn nil) (same thing, I think), it seems that r is not nil 18:22:43 GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has joined #lisp 18:22:55 seangrove: r is (nil) 18:23:03 osoleve: then use cltl2, pcl, or any of the many many lisp books, tutorials, etc available. We are here to answer questions when you're stuck, not to read you the manual 18:23:14 cltl2 length 18:23:14 http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node142.html 18:23:43 Interesting, a list of one nil isn't the same as a nil list? 18:23:53 seangrove: naturally 18:23:57 ]i'd imagine no 18:23:58 seangrove: a list of one anything is not the same as an empty list 18:24:02 because () = nil 18:24:08 but (nil) = (nil . ()) 18:24:37 ah, and (length (list nil)) => 1 18:24:47 that is right 18:25:12 (nil) = (()) 18:25:17 wow, i helped answer a question!'that's a good self-esteem boost for today 18:25:22 So how should I check for an empty list? 18:25:34 you mean for a non-empty? 18:25:37 (not (listp list))? 18:25:59 is (nil . ()) a proper list ? 18:26:07 homie: surely 18:26:24 first element being the element nil, second element being an empty list 18:26:47 osoleve: these are the same 18:27:13 seangrove: (null nil) -> t; (null (list nil)) -> nil 18:27:18 is that what you meant? 18:27:29 i'm sad to say, i'm apprehensive to ask for clarification 18:27:31 oh well 18:27:39 jhuni [~jhuni@udp217774uds.hawaiiantel.net] has joined #lisp 18:27:57 GrayMagiker: Not quite 18:28:16 In the function above, I only want to do something if r != (list nil) 18:28:41 seangrove: what about (list nil nil)? 18:28:51 can you just do (if r etc)? 18:29:18 -!- buncito [~user@114.79.55.239] has quit [Remote host closed the connection] 18:29:18 osoleve: Nope, because (nil . ()) isn't nil 18:29:30 stassats: I guess I'm actually trying to make it optional to pass in any args 18:29:37 And if there are no args, I just want it to bail 18:29:38 alama [~alama@43.120.54.77.rev.vodafone.pt] has joined #lisp 18:29:45 seangrove: what is it exactly that you want to do? 18:29:49 Maybe I should prefix my &rest with &optional 18:30:04 anyone else having trouble with recent sbcl releases and non-ascii characters? 18:30:06 seangrove: you do understand that that is how &rest works, yeah? 18:30:30 drewc: It is, but instead of leaving the arguments as nil, it's (nil) 18:30:37 (defun foo (&rest foo) foo) (foo) => nil 18:30:56 i've got an asdf system that i could load with no trouble a few versions ago; but lately it dies, and the problem has to do with some non-ascii in the sources for that system 18:31:01 seangrove: are you calling the function with NIL as the only argument? 18:31:26 alama: are you using a locale that happens to use the same encoding as those files? 18:31:31 drewc: Yes, I want to make it possible to call it with (foo '()) 18:31:43 drewc: how can i tell? 18:31:45 Which now I think I understand 18:32:01 seangrove: what do you mean? of course that's possible 18:32:02 '() is nil, but for &rest args it's going to be (nil 18:32:17 drewc: Just my slow wit, I think I got it! 18:33:15 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 260 seconds] 18:33:45 alama: echo $LANG or echo $LC_CTYPE 18:34:11 alama: what stassats said, and have a look at sb-ext:*default-external-format* 18:34:23 (or is that in sb-int?) 18:34:34 sb-impl::*default-external-format* 18:34:43 sb-impl 18:34:54 *drewc* usually apropos for it :) 18:35:00 Is it ok to pass a value that needs to be evaluated at runtime as the default value of a keyword argument? 18:35:29 i usually sb::stuff and complete, because i never can remember everything 18:35:32 and specifically also depends on a previous argument of the same function 18:35:53 yes 18:36:13 stassats: $LANG is "en_US.UTF-8" 18:36:20 great 18:36:28 stassats: sb-impl::*default-external-format* is :US-ASCII 18:36:31 d'oh 18:36:32 not great 18:36:48 (sb-ext:posix-getenv "LANG")? 18:37:09 This is the function I was working on: http://paste.lisp.org/display/116315 18:37:17 Maybe it's more clear what I was trying to do with that 18:37:18 oh: if i evaluate that, i get NIL 18:37:27 hmm 18:37:36 maybe i'm launching slime dumbly 18:38:02 hmm, even emacs thinks that LANG is unset 18:38:23 environment variables are inherited from the parent process (if they are exported) 18:39:02 stassats: yeah; the problem seems to be that i don't export LANG 18:39:24 you shouldn't really touch LANG, your OS should take care of it 18:39:33 What about LOCALE? 18:39:47 well, it does, somewhat -- in the shell, LANG is set, but in the global environment, it appears to be unset 18:39:50 (this is on mac os x) 18:40:20 nyef: LOCALE is unset (according to emacs, and hence for slime) 18:40:28 seangrove: i don't understand why are you insisting on not working on (list nil) 18:40:32 what is so special about it? 18:40:48 does sbcl try to figure out a value for sb-impl:*default-external-format* based on LANG or LOCALE? 18:41:02 stassats: I think I just don't understand - would you mind annotating the paste? 18:41:04 and it's not the right thing to write code at the same line as the lambda list 18:41:41 Ah, yes, that's true 18:41:44 seangrove: just get rid of (not (equal (list nil) r)) 18:42:27 kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has joined #lisp 18:42:33 seangrove: (defun attrs (&rest r) (format nil "~(~{ ~a=\"~a\"~}~)" r)) 18:43:09 stassats: that chokes on (attrs '()) 18:43:29 well, don't pass it '() 18:43:49 it will choke on (attrs 'hello-brave-world) 18:43:49 I suppose 18:44:08 I'll circle around to it in a bit when I have more code to show 18:44:09 or on any other odd number of arguments 18:44:52 Ah, makes sense 18:46:17 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 18:47:56 i can confirm that launching slime from emacs after having manually set (from emacs) LANG to "en_US.UTF-8" launches sbcl, and in this environment sb-impl:*default-external-format* has the value :UTF-8 18:47:58 yay 18:48:29 now i can go back to using all sorts of non-ascii symbols in my code again 18:48:33 thanks for the help 18:51:32 -!- vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has quit [Ping timeout: 272 seconds] 18:51:55 alama: C-h v slime-lisp-implementations 18:52:11 there is ENV parameter 18:52:38 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 18:55:26 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 18:57:02 stassats: thanks 18:57:33 -!- alama [~alama@43.120.54.77.rev.vodafone.pt] has quit [Quit: alama] 18:58:45 SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has joined #lisp 18:59:58 stassats` [~stassats@wikipedia/stassats] has joined #lisp 19:00:14 How can I get name to be what I want it here? http://paste.lisp.org/display/116316 19:00:34 I know I'm cheating by trying to use a macro in a map :P 19:00:42 fnordus [~dnall@S01060023693bfad4.va.shawcable.net] has joined #lisp 19:01:02 you answered your own question 19:01:26 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 19:01:41 So there's no way around this other than (make-tag-macro video) (make-tag-macro audio) .... for all the tags? 19:02:03 Cheating is not allowed 19:02:16 seangrove: no, you need to map from a macro 19:02:50 seangrove: "STYLE-WARNING: Redefinition of NAME" might clue you in? 19:03:13 Revolve [~hi@cpc4-bagu10-2-0-cust705.1-3.cable.virginmedia.com] has joined #lisp 19:03:29 sykopomp: Actually, it did 19:03:48 I was confused, but then realize that I had a function (name ...) available :) 19:03:59 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 255 seconds] 19:04:19 seangrove: try writing this without macros. 19:04:44 use (setf fdefinition) 19:04:49 clhs fdefinition 19:04:50 http://www.lispworks.com/reference/HyperSpec/Body/f_fdefin.htm 19:04:55 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 19:05:31 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 19:05:31 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 19:05:31 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 19:05:59 seangrove: you could look at one of the existing HTML generation libraries and see how it's implemented. Then look at a different one. This may teach you more then trying to do whatever you're doing before understanding what a macro is. 19:06:03 sykopomp: I'm a bit confused, but I'll try it 19:06:18 drewc: Fair enough. 19:06:27 seangrove: http://paste.lisp.org/display/116316#1 19:07:23 (defun make-tag (name) (setf (fdefinition name) (lambda (&rest sub-exprs) ...))) 19:07:38 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 19:07:47 sykopomp: Yeah, that's quite interesting, just tried something similar 19:09:57 Wow, fdefinition is pretty amazing 19:10:18 Is it bad to use in some situations? 19:12:09 ikki [~ikki@189.247.155.206] has joined #lisp 19:15:10 vroufe [~omx@ppp95-165-16-181.pppoe.spdop.ru] has joined #lisp 19:16:49 askatasuna [~askatasun@190.97.33.72] has joined #lisp 19:18:13 -!- blabla [~lisps@BSN-61-32-239.dial-up.dsl.siol.net] has quit [Quit: blabla] 19:20:55 How would I concatenate a list of strings? e.g. (concatenate 'string '("this" "that")) 19:21:10 Or should I use format here? 19:21:43 use reduce and (lambda (str1 str2) (concatenate 'string str1 str2)) 19:21:51 or just APPLY, if it's going to be just a couple of strings. 19:22:39 No, reduce is perfect 19:22:46 I was messing around with map and apply 19:23:31 Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has joined #lisp 19:25:14 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 264 seconds] 19:26:49 j94tqh 19:27:12 Adlai: I hope that wasn't your password. 19:27:30 -NickServ- You are now identified for Adlai 19:27:34 wth!? 19:27:45 *Adlai* hates X 19:27:57 (this is X's fault) 19:27:59 *drewc* has done that 19:28:38 If you password didn't looked like a password... 19:28:46 Oops! 19:28:49 Adlai: friendly suggestion - pass your main nick and password in connection arguments, at least for freenode it works 19:29:09 p_l|home, this had nothing to do with how I connect to IRC 19:29:24 heh 19:30:05 Just pick a password such as (car list) or ls -lR tmp 19:30:21 Nobody will guess it's your password if they see it! 19:30:27 Heh! 19:30:31 :D 19:30:44 I came to the computer, saw a blank screen, and typed the password, thinking that the screensaver was on... 19:31:01 turns out X was busy killing itself, but the emacs window was still "open" 19:31:03 Ah so it was the screen hardware! 19:31:25 so now I'm in vt1 about to restart this brick 19:31:57 (and yeah, it's also my fault for having the same password for IRC and my account on this computer) 19:33:02 -!- PCChris [~PCChris@wireless-165-124-137-35.nuwlan.northwestern.edu] has quit [Ping timeout: 264 seconds] 19:33:16 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 19:34:17 -!- gravicappa [~gravicapp@ppp85-141-167-147.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 19:34:32 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Remote host closed the connection] 19:37:36 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 19:39:13 lucasicf [~lucasicf@187.78.172.38] has joined #lisp 19:39:15 -!- lucasicf [~lucasicf@187.78.172.38] has left #lisp 19:40:32 PCChris [~PCChris@wireless-165-124-137-35.nuwlan.northwestern.edu] has joined #lisp 19:42:04 pmd [~user@2001:690:2100:4:200:1aff:fe19:daa8] has joined #lisp 19:42:54 -!- sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has quit [Remote host closed the connection] 19:44:02 -!- Kenjin [~josesanto@83.240.225.146] has quit [Quit: Computer has gone to sleep] 19:47:31 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Quit: omghaahhahaohwow] 19:47:42 ugh, don't use reduce to concatenate a list of strings. 19:53:45 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp 19:54:24 apply #'concatenate, format, or a loop writing to a string output stream, any of these would be far better 19:54:47 Why does (let ((my-fn #'(lambda () (format t "hello")))) (funcall #'my-fn)) not work? 19:55:42 my-fn is the name of a variable, not a function. you don't need the #' in #'my-fn 19:55:59 I can guess that you shouldn't use #' with (lambda... and perhaps you should be using (flet... instead of (let... 19:56:06 uhg... 19:56:23 So easy to trip over these 19:56:33 (you don't need the #' before the lambda either, but some people like it) 19:56:38 bicyclerepairman [~Sam@ip94-143-246-151.sampo.ru] has joined #lisp 19:56:47 ey up fellows 19:56:54 just started learning lisp 19:57:01 quick question, 19:57:09 *syntard_* gave up doodling at 25 19:57:15 can a procedure evaluate to a procedure? 19:57:35 bicyclerepairman: You mean return a function object from a function? yeah. 19:58:03 seangrove: (let ((foo (lambda () (print "foo")))) (funcall foo)) should work. 19:58:22 of course modify to your needs. 19:58:23 bicyclerepairman: (defun foo () (lambda (x) (+ 1 x)) 19:58:32 bicyclerepairman: ) 19:58:34 Looks like it, yeah. thanks GrayMagiker and hefner 19:58:41 ohhh I just watched the first couple of SICP lectures, has the terminology changed since '86? 19:58:56 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 19:59:04 bicyclerepairman: I'm not well versed in scheme, maybe scheme calls it procedures. 19:59:14 bicyclerepairman: SICP is scheme based. 19:59:21 -!- nowhere_man [~pierre@AStrasbourg-551-1-106-194.w90-13.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 19:59:24 nowhereman [~pierre@AStrasbourg-551-1-50-70.w83-194.abo.wanadoo.fr] has joined #lisp 19:59:33 ah this channel talks about common lisp, right. 19:59:38 *schmrkc* nods. 19:59:47 and we are never off topic in any way. 20:00:00 *schmrkc* especially. 20:00:21 lovely weather we're having. 20:00:38 Is a bit rainy here but is all right. 20:00:44 schmrkc: yeah right... :D 20:00:49 -!- zbigniew is now known as zbigyarr 20:01:12 *p_l|home* recalls a wonderful discussion about the female half of humanity 20:01:18 bicyclerepairman: There's #scheme for scheme. And if you're interested in common lisp then there are some neato books on the intertubes. 20:01:23 minion: gentle 20:01:24 gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 20:01:29 minion: pcl 20:01:30 pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 20:01:32 anyone implemented lisp in forth? 20:01:44 -!- hefner [~hefner@ppp-58-9-117-34.revip2.asianet.co.th] has quit [Ping timeout: 255 seconds] 20:01:50 -!- loxs [~loxs@78.90.124.179] has quit [Quit: Leaving] 20:01:51 syntard_: I seem to recall nyef having a go at it. I could be wrong. 20:02:30 Something about using forth to boot up and having that load the core of sbclos. 20:02:33 nyef used Forth to load SBCL 20:02:34 Alright, thanks. I'll /join #scheme in the morning, after a night's sleep. 20:02:38 thanks y' all. 20:02:47 bicyclerepairman: Best of luck with the MUCH INFERIOR LANGUAGE. 20:02:58 really? 20:03:04 No, not really :) 20:03:05 at the price of less smugness? 20:03:07 yeah, i'm thinking of the fastest way to get between parens 20:03:17 :-) well then 20:03:20 ' night 20:03:27 -!- bicyclerepairman [~Sam@ip94-143-246-151.sampo.ru] has left #lisp 20:03:49 syntard_: I guess you'd write that bit in lisp ;) 20:05:21 pydroid [~kenny@110.92.101.176] has joined #lisp 20:05:34 syntard_: what do you mean "parens"? 20:05:37 syntard_: Personally I'd do it the lazy way and enforce a strict You Need A Space After The ( policy, and just make a ( word. Until the lisp was alive. 20:05:38 -!- PCChris [~PCChris@wireless-165-124-137-35.nuwlan.northwestern.edu] has quit [Ping timeout: 255 seconds] 20:05:38 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 20:05:44 I see no parens there, only 128bit conses... 20:05:55 (well, 2-word conses) 20:06:05 Is there a particular reason why gcd and lcm do not work with rational numbers? 20:06:13 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 20:06:41 how would you define the answer? 20:06:47 -!- shakshak [~user@41.238.33.63] has quit [Remote host closed the connection] 20:07:05 euphidime [u178@gateway/web/irccloud.com/x-efydvegdifwbkixl] has joined #lisp 20:07:06 Dunno, mod is quite well-defined for rational numbers, so I wonder. 20:07:22 schmrkc: ok! that could be a beginning 20:07:37 p_l|home: as long as it looks like lisp 20:08:14 syntard_: I have never in my life implemented a lisp in forth. I did a small mini one in C at one time. But that was much different, of course. I'm more in the "why on earth would you want anything but forth" camp on this one :) 20:08:32 -!- xan_ [~xan@18.111.46.149] has quit [Read error: Operation timed out] 20:09:05 delYsid: because (mod numerator denominator) is defined 20:09:23 hefner [~hefner@ppp-58-9-117-34.revip2.asianet.co.th] has joined #lisp 20:09:27 schmrkc: want more pain. and these two excite me more than any other language 20:09:41 syntard_: Have you looked at factor? 20:09:47 clhs setf 20:09:47 http://www.lispworks.com/reference/HyperSpec/Body/a_setf.htm 20:10:21 gravicappa [~gravicapp@91.78.230.71] has joined #lisp 20:10:40 syntard_: one usualy writes the reader after one has implemented the lisp. The input to the lisp compiler/interpreter has no parens, so don't worry about it until you have a lisp. 20:10:42 schmrkc: I'll check it out. I like stack-based in principle 20:10:45 I'm currently learning Lisp, and I have a question that's really bothering me. I understand the purpose of FUNCTION/#', but I don't understand why it's necessary. Maybe it's just my Python background messing with me, but it seems like (funcall foo bar baz) should work just like (funcall #'foo bar baz) 20:11:07 euphidime: it's necessary for local functions 20:11:19 syntard_: I think you will find it quite nice if you like forth and CL. I draws heavily from both. With generic words like generic functions etc. 20:11:20 funcall takes a function as its first argument 20:11:22 you can't do (flet ((foo ())) (funcal 'foo)) 20:11:35 osoleve: no, it takes a function designator 20:11:45 my bad 20:11:52 what is the difference? 20:12:07 drewc: i'll remember this, until I understand 20:12:41 osoleve: see the glossary in CLHS 20:13:05 euphidime: (let ((foo "one")) (flet ((foo () "one")) (funcall foo bar baz))) <--- what do you expect there? 20:13:21 syntard_: basically the stuff the compiler sees is not the stuff you type at the repl. The reader and friends translates your (..(..(..)..)..) into something the compiler can understand. 20:13:27 *drewc* should have closed over FOO in #'FOO to make the point clearer 20:13:58 schmrkc: naturally, I understand that :) 20:14:13 euphidime: and the fact that it should be either QUOTEd or FUNCTIONed, is that it leaves in another namespace 20:14:22 syntard_: Right. so there is no need to handle parens in forth. 20:14:23 drewc: Not much of anything, since I'm only into chapter four of Practical Common Lisp and I have no idea what let/flet do 20:14:53 euphidime: so, read on 20:14:54 euphidime: well, the simple answer then is "lisp has different namespaces for functions and variables (among other things)" 20:15:07 s/leaves/lives/ 20:16:13 Alright, I think I have a vague understanding. Hopefully it'll become clearer as I progress, thanks for the help 20:17:03 schmrkc: I want to implement lisp in lisp, but not on lisp, strangely 20:17:41 and not under lisp? 20:17:44 syntard_: Right. It makes perfect sense to me. 20:17:53 maybe in front of lisp 20:18:07 living next door to alisp 20:18:08 maybe under 20:18:11 in forth of lisp? 20:18:17 ouch 20:18:28 xan_ [~xan@18.111.46.149] has joined #lisp 20:18:46 -!- jeti [~user@p54B47EAF.dip.t-dialin.net] has quit [Quit: bye] 20:18:47 above and beyond lisp? :P 20:18:48 lisp in lisp. not on lisp. sounds like SICL 20:19:07 or sacla? 20:19:18 hey tic man 20:19:40 yo schmrkc! 20:20:04 it'll have to be a language that transforms into lisp in the course of evaluation 20:20:18 tic: I just now remembered I have a journal to fill out. 20:20:19 ? 20:20:31 schmrkc, you do! (do you?) 20:20:45 syntard_: I don't get it. Don't you just want to implement a lisp in forth? 20:21:00 *p_l|home* notices that it's already november and ECLS2011 deadline is in January 20:21:16 schmrkc: I'll take what I want from forth, and go forth 20:21:29 *badum-tsch* 20:22:00 if i am passing a filename as an argument do i format it as a " delimited string? 20:22:14 osoleve: #P"path" 20:22:42 and sometimes you need to use (make-pathname ...) 20:24:09 tic: yes all done. 20:24:36 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Quit: omghaahhahaohwow] 20:24:39 syntard_: So you implement a lisp in forth. Sounds reasonable. As soon as the lisp is working then you forget about forth. 20:25:01 schmrkc: right 20:25:18 syntard_: Then you implement a forth in lisp. 20:25:28 or maybe a prolog even. and a forth in prolog. 20:25:31 -!- pydroid [~kenny@110.92.101.176] has quit [Quit: bb] 20:25:38 *p_l|home* still ponders a completely self-contained lisp 20:25:58 Lisp Machine Lisp? 20:26:00 p_l|home: it's in the ether 20:26:05 schmrkc: why? 20:26:11 syntard_: well why not. 20:26:21 syntard_: Everyone needs prolog :) 20:26:29 franki^: it's contained inside a Machine 20:26:32 franki^: well, yes, but we can't all run Ivory or similar 20:26:36 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 20:26:44 schmrkc: No, I have a concrete goal: CL (ish) in javascript 20:26:55 though a CL written in PALcode would be interesting... 20:26:58 syntard_: So why are you going through forth? 20:27:09 schmrkc: lazy 20:27:15 schmrkc: to slow it enough 20:27:33 ah good thinking. Can't get too high scores on the benchmarks. 20:27:35 -!- xan_ [~xan@18.111.46.149] has quit [Ping timeout: 260 seconds] 20:27:47 Oh, you'll see 20:27:55 p_l|home: I just understood that your response was an actual answer and not a "check clhs." Sorry for the delayed thanks, but thanks. 20:27:59 syntard_: check out parenscript 20:28:11 schmrkc: I did, different goals 20:29:13 but, let's just say, and it's true, this is a learning experiment 20:29:25 purely for fun 20:29:30 osoleve: heh. Remember to read about the pathnames in CLHS though, CL's support for them is quite different from what you might have seen elsewhere 20:29:42 *stassats`* has more for fun from doing something useful 20:29:52 s/for// 20:29:54 or at least doing something rather than talking about it? 20:30:02 *syntard_* yes, but doesn't advertise it 20:30:43 p_l|home: so (with-open-file (stream #P"wordlist.txt") is non-contextually correct form? 20:30:57 it would work with #p 20:31:02 *syntard_* goes forth towards refrigerator 20:31:21 thanks for pointing that out 20:31:27 osoleve: it's okay, it will open the file "wordlist.txt" in "current directory" (in CL terms, not necessarily OS view of "current dir") 20:31:50 clhs *default-pathname-defaults* 20:31:51 http://www.lispworks.com/reference/HyperSpec/Body/v_defaul.htm 20:31:54 ^ 20:32:16 -!- ak70 [~ak70@a133.198.adsl.nextweb.net.mt] has left #lisp 20:32:17 most of the time you'll be alright, but just in case read about pathnames. 20:32:21 *stassats`* ponders about when too much details is too much 20:32:32 this is all merely academic excercise that i am using my newfound free time for 20:32:43 silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has joined #lisp 20:32:53 i'm deciding if i want to be a niche lisp developer, i LOVE the language 20:33:08 stassats`: well, I'm not suggesting he reads enough to write his own implementation 20:33:09 since the brain has a limited bandwidth, you need to absorb new information gradually 20:33:38 true 20:33:54 but usually a sleep gives a good effect on that. Nothing like a good GC cycle 20:33:55 thom_logn [~thom@pool-74-100-140-188.lsanca.fios.verizon.net] has joined #lisp 20:34:17 *p_l|home* would like a concurrent or incremental GC though instead of the current stop-and-copy ... 20:34:18 i'm generally an extremely fast student, but i must admit that lisp is so different from anything else i've used 20:34:43 p_l|home: what makes you think it's stopping? 20:34:44 osoleve: learn lisp first, then decide if you want to continue learning 20:34:58 lisp is a lifetime language 20:35:06 i often wake with problems already solved 20:35:24 stassats`: it's stopping the "normal" mutator threads and switching over to GC, which sometimes requires further computation 20:35:25 well, that's what i'm working on: learning lisp 20:35:40 syntard_: "just for fun" is the best reason :) 20:35:52 osoleve: it's a long process. 10 years or 10,000 hours, as they say. 20:36:27 i've got nothing but time and a newfound enthusiasm 20:36:38 the land of lisp book has made learning lisp significantly easier imho 20:36:45 alama [~alama@43.120.54.77.rev.vodafone.pt] has joined #lisp 20:36:53 i just got my copy to complement PCL :D 20:37:16 heh... I've been toying around Lisp for >=5 years, only for last 3 I can claim I can somehow use CL (thanks to PCL!), and even today I'm often overwhelmed with possibilities 20:37:20 i only have my digital copy so far, all good. i'm just so glad someone wrote a book at that level 20:37:34 (and designing a startup centered around a product that kind of depends on CL) 20:37:38 JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has joined #lisp 20:38:03 p_l|home: sweet! 20:38:04 right on 20:39:02 *hefner* was daydreaming about porting lispm software via implementing Zetalisp on SBCL - equal parts mad, infeasible, and pointless =/ 20:39:31 but you could run zeta-c on it! 20:39:44 hefner: there would be more sense in getting Symbolics to opensource VLM2 20:40:22 does Symbolics exist as an entity 20:40:31 since it doesn't really touch stuff that might be in legal conflict 20:40:33 Guthur: yes 20:40:46 VLM2 is apparently still developed, even 20:41:09 and if I read correctly, not for ppc64 as I thought in the beginning, but for x86-64 20:41:27 probably wouldn't change the $5000 pricetag 20:41:27 to what end? 20:42:13 I think Statice is written in (ancient) CL, that could be interesting (shame the source to that isn't on the Genera CD) 20:42:15 but can you run Flash on it? 20:42:58 stassats`: well, it would be running atop of another OS... 20:43:06 so you don't need flash on VLM2 20:43:17 though why it had to be OSX I don't even 20:43:19 so they say... 20:43:55 -!- nowhereman [~pierre@AStrasbourg-551-1-50-70.w83-194.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 20:44:11 nowhereman [~pierre@AStrasbourg-551-1-76-51.w81-51.abo.wanadoo.fr] has joined #lisp 20:45:27 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Quit: omghaahhahaohwow] 20:46:25 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #lisp 20:46:57 (though Genera itself seems unchanged, it even reports that it works on Alpha...) 20:48:01 *drewc* has had genera running on x86-64 20:48:11 linux 20:48:22 :o 20:49:08 who hadn't 20:49:23 much fun 20:50:00 Somehow, that VLM fails to convey the grandeur and majesty of the real thing. 20:50:19 Kenjin [~josesanto@bl16-65-15.dsl.telepac.pt] has joined #lisp 20:50:27 -!- Kenjin [~josesanto@bl16-65-15.dsl.telepac.pt] has quit [Client Quit] 20:51:15 i had much more fun with the MIT lisp machine sources + emulator, TBH 20:51:36 *stassats`* remembers rotation display for it 20:51:41 rotating 20:52:20 -!- sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Read error: Connection reset by peer] 20:53:18 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 20:53:29 no LMFS, no FEP to boot the machine, no fun. 20:53:57 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has left #lisp 20:54:20 s0ber_ [~s0ber@111-240-218-39.dynamic.hinet.net] has joined #lisp 20:55:31 is clbuild dead? 20:55:33 (I really don't get why they required NFS like they did - the MacIvories all had a pathname host that allowed access to the Mac filesystems, the UX boards probably did the same, no reason they couldn't do the same thing for the Alpha) 20:56:27 alama: what makes you ask this? 20:56:38 -!- s0ber [~s0ber@111-240-214-188.dynamic.hinet.net] has quit [Ping timeout: 255 seconds] 20:56:45 stassats`: there's a very basic bug in it that hasn't been fixed in months 20:56:51 -!- s0ber_ is now known as s0ber 20:56:51 prevents me from even using the system 20:56:59 was it reported? 20:57:05 i think so 20:57:57 drewc: yeah, but snap4 is a hack :P 20:57:59 i think it's a problem with mac os x 20:58:05 i mean, it's a problem ON mac os 20:58:05 x 20:58:54 hefner: I figure it allowed them to drop simulation code for the device and leave only few functions 20:58:58 alama: a lot of former clbuild users have moved to quicklisp, but clbuild is still maintained and used 20:59:43 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 21:01:03 hefner: both the UX and MacIvory boards had complete cpu, memory etc. and original VLM and VLM2 were all about "fitting into cache" 21:01:05 drewc: thanks 21:01:12 -!- dreamcode [~Wistful@unaffiliated/wistful] has quit [Quit: Leaving] 21:02:34 seangrove: it would be less easy to trip on "these" if you didn't use #'x, but (function x). Look how obvious your error looks when written as: (let ((my-fn (lambda () (format t "hello")))) (funcall (function my-fn))) 21:02:40 -!- kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has quit [Quit: kclifton] 21:03:05 seangrove: also, note that since CL has been standardized, CL:LAMBDA is a macro, which expands to (function (lambda ...)) so there's no need to prefix it with #'. 21:04:31 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 21:05:12 minion: tell euphidime about lisp-2 21:05:12 euphidime: please see lisp-2: is at http://www.nhplace.com/kent/Papers/Technical-Issues.html 21:06:14 Saturnation [~dsouth@72.95.94.151] has joined #lisp 21:08:00 Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 21:09:15 Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has joined #lisp 21:09:26 How do I get Slime to have the nice REPL again? 21:09:45 M-x slime RET 21:09:46 Preferably from the clbuild system. 21:09:55 Oh. 21:09:57 Sorry, *, again 21:10:08 I'd just download it from where it is. 21:10:33 It just comes up with inferior-lisp, and sans fancy REPL. 21:10:39 http://common-lisp.net/project/slime/ 21:10:42 It says something about polling something else. 21:10:51 Phantom_Hoover: make sure you are using the slime-fancy or slime-repl contribs 21:11:00 drewc, ah. How? 21:11:10 maybe you need to load slime-fancy slime-banner 21:11:12 Ah, if says about polling, it's that it's already installed, but it is slow at starting up the inferior lisp. 21:11:27 that was my problem 21:11:28 Perhaps there's a bug in your init rc file. 21:12:14 pjb, my .sbclrc? 21:12:18 Phantom_Hoover: http://common-lisp.net/project/slime/doc/html/REPL.html#REPL <--- use the manual luke! 21:12:58 *syntard_* (o)V(o) 21:13:43 PsYcOtIcO [ircap@186.9.244.131] has joined #lisp 21:13:48 drewc, ah, but that assumes that .emacs is being executed after or while slime is loading. 21:13:49 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 240 seconds] 21:14:05 Phantom_Hoover: huh? 21:14:09 Phantom_Hoover: yes, .sbclrc. 21:14:14 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 21:14:28 -!- PsYcOtIcO [ircap@186.9.244.131] has left #lisp 21:14:32 pjb, but that was elisp code! 21:14:35 bozhidar [~user@93-152-185-88.ddns.onlinedirect.bg] has joined #lisp 21:14:56 Phantom_Hoover: well, the first step is to report the exact message. 21:15:26 Something along the lines of "token slime-setup not found". 21:16:07 And where is "polling" in this message? 21:16:15 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 21:16:22 In the minibuffer... 21:16:56 What is the exact message? 21:17:05 OK, I essentially did "clbuild install slime", then "clbuild slime" to start it. 21:17:12 (You can find it in *Messages* 21:17:16 ) 21:17:57 "Loading /home/phantomhoover/clbuild/source/slime/slime.el (source)...done [3 times] 21:17:58 Polling "/tmp/slime.22997".. (Abort with `M-x slime-abort-connection'.) [116 times]" 21:18:04 What I said. 21:18:17 Unless you reach the REPL. 21:18:22 In which case you have the REPL. 21:18:52 Well, inferior-lisp definitely has a REPL *running*, but it's the primitive, straight-out-of-sbcl interface. 21:20:27 It works, too. 21:20:27 need to take a look at .emacs 21:21:03 Phantom_Hoover: look above in *inferior-lisp* you must have an error. Start from the beginning to find the first one. 21:21:33 pjb, ah, there's something about 'package "SB-POSIX" not found'. 21:21:39 Phantom_Hoover: slime first launches the inferior lisp. This later runs its rc file. If there's an error, then slime cannot make it load swank, and nothing more happens. 21:21:44 There you have. 21:21:56 Get a better sbcl, including this package. 21:22:01 ok, it's the ~ issue 21:22:09 syntard_, yes, indeed. 21:22:39 Is there a fix for that? 21:22:57 Try to start sbcl in a shell, and check (list-all-packages) 21:23:00 of course, very common, I don't have the link though 21:24:12 Phantom_Hoover: need to get exact error string 21:24:22 -!- bozhidar [~user@93-152-185-88.ddns.onlinedirect.bg] has quit [Remote host closed the connection] 21:24:54 syntard_, "Not an absolute pathname #P"~/.clc/systems/"" 21:24:59 yay 21:25:13 oh well, that's asdf 21:25:32 Instead, use (merge-pathnames #P"./.clc/systems/" (user-homedir-pathname)) 21:26:26 pjb, this is all automated. 21:26:43 I have effectively no control outside of .emacs and .sbclrc. 21:26:44 kephas [~pierre@AStrasbourg-551-1-34-147.w92-148.abo.wanadoo.fr] has joined #lisp 21:27:01 -!- nowhereman [~pierre@AStrasbourg-551-1-76-51.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 21:29:27 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 250 seconds] 21:30:35 Hmm, I'm getting an interesting error 21:30:48 "The variable AND is unbound." 21:31:01 I wonder if I redefined it somewhere.. 21:31:23 seangrove, are you prefixing it with #'? 21:31:32 No... I have it in a cond 21:31:50 Phantom_Hoover: There's some environment variable you can use to control the behavior of ASDF2 with respect to the config files in /etc/, but I don't remember what. 21:31:56 I wouldn't think I would have to prefix it 21:32:05 *syntard_* sadly discovers that lisp does have syntax 21:32:06 Ah. 21:32:28 Wait, AND is a macro, isn't it? 21:32:29 _6502_ [4e0ceda4@gateway/web/freenode/ip.78.12.237.164] has joined #lisp 21:33:12 <_6502_> a string cannot be created adjustable ? 21:33:18 yeah, I believe it is 21:33:19 Yes, AND is a macro. 21:33:26 clhs EVERY 21:33:26 http://www.lispworks.com/reference/HyperSpec/Body/f_everyc.htm 21:33:29 Phantom_Hoover: need access to /etc/common-lisp/source-registry.conf.d/02-common-lisp-controller- 21:33:31 > userdir.conf 21:33:40 http://groups.google.com/group/quicklisp/browse_thread/thread/bb045ef9ca89d741 21:34:36 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 21:35:28 lp 659105 21:35:28 https://bugs.launchpad.net/bugs/659105 21:35:34 ioexception [~user@CPE001839838ebe-CM0018685225f4.cpe.net.cable.rogers.com] has joined #lisp 21:35:48 That has the plausible fix for ignoring the system config files. 21:36:04 awesome 21:36:34 Really, though, purging clc isn't a bad choice either. :-P 21:36:48 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 21:36:56 syntard_, didn't really work... 21:37:23 gotta keep trying 21:37:46 I get the exact same error. 21:38:01 after restarting emacs? 21:38:54 jewel [~jewel@209.118.182.194] has joined #lisp 21:39:50 syntard_, ah, I just hadn't deleted the previous line. 21:39:53 It's fine now. 21:39:55 -!- Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has left #lisp 21:47:49 -!- osoleve [~andy@adsl-074-166-228-237.sip.bct.bellsouth.net] has left #lisp 21:49:27 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 21:50:31 Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 21:52:28 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Ex-Chat] 21:52:32 billstclair_ [~billstcla@gw3.tacwap.org] has joined #lisp 21:54:59 -!- Saturnation [~dsouth@72.95.94.151] has quit [Quit: Ex-Chat] 21:56:13 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 21:56:38 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 276 seconds] 21:58:24 nowhere_man [~pierre@AStrasbourg-551-1-90-153.w81-49.abo.wanadoo.fr] has joined #lisp 21:58:53 -!- gravicappa [~gravicapp@91.78.230.71] has quit [Ping timeout: 245 seconds] 21:59:00 -!- kephas [~pierre@AStrasbourg-551-1-34-147.w92-148.abo.wanadoo.fr] has quit [Ping timeout: 272 seconds] 21:59:25 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 22:00:23 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 22:03:44 osoleve [~sabayonus@adsl-074-166-228-237.sip.bct.bellsouth.net] has joined #lisp 22:04:29 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 240 seconds] 22:06:11 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 22:07:00 syntard_: Shouldn't lisp have syntax? 22:07:07 -!- Nshag [user@lns-bzn-52-82-65-119-197.adsl.proxad.net] has quit [Read error: Operation timed out] 22:10:22 It seems odd to have a "language" without syntax. 22:10:34 Lisp doesn't have /much/ syntax, but it has to have /some/. 22:10:52 a piano isnt a language, but how it is played =) 22:12:30 c|mell [~cmell@188-220-238-74.zone11.bethere.co.uk] has joined #lisp 22:12:46 Definitely a syntax to sheet music. 22:13:06 not definate! 22:13:22 right. 22:13:28 sheet music is an effect of the piano, not cause so much. =) 22:13:31 unless you have a computer interpret the sheet music. 22:13:41 pepone [~pepone@83.37.195.56] has joined #lisp 22:13:42 human interpreters get a lot of freedom from sheet music. 22:13:48 schmrkc: very little 22:13:49 isn't it not about whether or not there is syntax but HOW MUCH/LITTLE is required to be expressive? 22:13:49 yup. 22:13:53 a computer would have problem with that. 22:14:11 syntard_: lisp doesn't have that much syntax. and you can change it quite a bit. 22:14:12 nyef: does forth have less syntax than lisp? 22:14:17 syntard_: depends on what they're playing for 22:14:27 layers of macros guide the non-syntax into a perfect syntax to describe a given program -- thats all =) 22:14:47 -!- udzinari [~user@209.158.broadband13.iol.cz] has left #lisp 22:14:50 syntard_: I heard that in competition playing they can be very strict about being exact to the notes, but other than that, it's often open to interpretation 22:14:52 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 22:15:02 i just don't think its necessary to have a gargantuan syntax to be expressive ... a large syntax seems lazyness on the designers part 22:15:20 competition playing also leaves a lot of interpretation. Much sheet music isn't totally strict. 22:15:21 -!- rtoym [~chatzilla@user-0c99ag2.cable.mindspring.com] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026200743]] 22:15:23 syntax is habitual, and habit is what rots the mind. 22:15:31 Like what is really fff ? 22:15:48 like playing to sheet music -- there are other ways to play. like, with imagination and creativity and insight and experimentation. =) 22:16:27 syntard_: Forth could be argued to have less syntax than Lisp, yes. 22:16:37 not many learn from "copy and pasting" except how to copy and paste (but its a habit so it also encourages the mind to rot) 22:16:42 syntard_: How about you change the ( macro-character? 22:16:54 hahaha 22:17:11 *p_l|home* recalls a complete example of that sent to someone complaining about parens 22:17:18 hehehehe 22:17:41 now be evil and use full unicode range for that :P 22:17:50 Going back to interpretation of sheet music, the interpretation is more in the semantics than the syntactics. 22:17:58 (set-macro-character #\{ (get-macro-character #\()) 22:18:35 schmrkc: it was slightly more complex as apparently #\) part is more complex :) 22:18:42 aha 22:19:15 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 245 seconds] 22:19:59 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 22:21:16 seems to me that parens are a great help for macro writing. 22:21:38 macros in forth is a bit of pain. 22:21:45 They're a great help for non-postfix syntax, generally. :-P 22:22:22 POSTPONE foo POSTPONE bar POSTPONE .... ; 22:22:24 there are no parens damnit! It's sexps that are nice for macros, and sexp's are an in-memory data structure made of conses and atoms! 22:22:38 drewc: true true. 22:22:46 parens does make it easy for the reader :) 22:22:51 as in the human reader :) 22:23:16 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 240 seconds] 22:23:22 and if you're naughty CONS takes 4 parameters :P 22:23:37 the fact the the external represtantion mimics the structure of the internal one is a bonus, yeah :) 22:23:50 yeah 22:24:08 Didn't InterLisp include an editor that didn't use parens at all? 22:24:17 -!- emma [~em@unaffiliated/emma] has quit [Remote host closed the connection] 22:24:47 Nshag [user@lns-bzn-36-82-251-26-243.adsl.proxad.net] has joined #lisp 22:25:22 or was it some late TI? 22:26:25 a while back i tried to take a few short lisp programs and edit out the parens and use python style indentation 22:26:30 it made no sense whatsoever 22:26:35 i dont understand how my macro does not happen during (require) compile, but does in slime eval 22:26:58 clhs eval-when 22:26:58 http://www.lispworks.com/reference/HyperSpec/Body/s_eval_w.htm 22:27:01 konr` [~user@187.106.38.106] has joined #lisp 22:27:02 the macro expands to (progn (progn ..) (progn ..)) - should i fix it? 22:27:07 oh hmm 22:27:16 p_l|home: yeah, interlisp had a structure editor 22:27:32 humasect: with macros you need to pay attention to which environment is used at what time 22:27:46 p_l|home: environment like sbcl or ? 22:28:07 humasect: compile-time, run-time, load-time etc. 22:28:08 Beetny [~Beetny@ppp118-208-25-78.lns20.bne1.internode.on.net] has joined #lisp 22:28:15 ahh~ 22:28:16 nowhereman [~pierre@AStrasbourg-551-1-51-136.w83-194.abo.wanadoo.fr] has joined #lisp 22:28:37 -!- nowhere_man [~pierre@AStrasbourg-551-1-90-153.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 22:28:40 -!- konr [~user@187.106.38.106] has quit [Ping timeout: 265 seconds] 22:28:57 i made a macro to batch up macro-making and so this effect is now seen 22:29:08 *drewc* sighs 22:29:09 I can't really help you much there, I learnt enough to manage on my own but not enough to explain it :) 22:29:23 heheh 22:30:05 -!- GrayMagiker [~steve@c-174-56-26-27.hsd1.nm.comcast.net] has quit [Quit: Leaving] 22:30:58 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 22:31:03 drewc: hmm? 22:31:29 me changes nickname to parenboy 22:31:49 p_l|home: humasect's macros writing macros before understanding the details of macros ... i wish we could say "macros are great, now don't use them!" :) 22:31:56 at least it's not sexpboy 22:32:25 drewc: do you wish to say something more clear? i feel confident with macros so i am not sure i can relate to your statement 22:33:13 drewc: heh. I'll admit that compile/run/load/exec did trip me as well, but all tools can be misused :D 22:33:40 sometimes hands-on learning is important 22:33:51 -!- ioexception [~user@CPE001839838ebe-CM0018685225f4.cpe.net.cable.rogers.com] has left #lisp 22:33:54 _6502_: (make-array 0 :element-type 'character :adjustable t) is an empty adjustable string. 22:34:13 humasect: i'm just noting that your confusion is likely a product of not fully understanding the various steps your compiler goes through from source->object code, and since there has been a lot of macro confusion around here lately, comparing it to that. 22:34:32 _6502_: (make-array 80 :element-type 'character :adjustable t :fill-pointer 0) is an empty adjustable string with a fill pointer. You can use (vector-push-extend #\a *). 22:35:19 <_6502_> pjb: thanks... i was surprised i couldn't use :adjustable and :fill-pointer with make-string 22:35:34 drewc: right, ok, so compiler stages, i am not sure that would be a misunderstanding of macros as the multiple levels of macro code i have been writing is fully understood.. but i thank your insight~ 22:36:35 Whether lisp has syntax or not depends on your definition of syntax. 22:36:38 -!- unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Quit: Computer has gone to sleep] 22:38:12 The classical definition would be that the syntax is a mapping of tokens to syntactic trees. There is for Common Lisp, a standard such mapping. This is: sexp := atom. sexp := '(' sexp... ')'. 22:38:17 That's all. 22:39:10 too much syntax! 22:39:20 schmrkc: you can do without it! 22:39:23 gemelen [~shelta@shpd-95-53-163-19.static.vologda.ru] has joined #lisp 22:39:28 pjb: really? 22:39:29 (eval (list '+ 2 3)) 22:39:33 It seems pretty minimal tbh. 22:39:37 I used no syntax to build (+ 2 3). 22:39:49 pjb: prefix syntax! 22:39:51 I just created directly the cons cells to hold the syntactic tree. 22:40:02 -!- konr` [~user@187.106.38.106] has quit [Ping timeout: 276 seconds] 22:41:03 pjb: I get it 22:41:32 maybe. don't see why I want to implement reader before lisp 22:41:34 prxq: no, postfix: (disassemble (compile nil (lambda () (eval (list '+ 2 3))))) --> http://paste.lisp.org/display/116321 22:41:58 syntard_: because one of the advantage of lisp is exactly to have this simple sexp syntax. 22:42:17 syntard_: it allows you to write macros, and to write any kind of expression without having to implement a compiler for it. 22:42:28 So it's interesting to have it early in bootstrapping a lisp. 22:42:46 Happily, it's so simple, you can implement it in any language in a few minutes, even assembler or C. 22:43:02 I mean, you don't have to implement the whole CL reader. 22:43:22 You can start with integers, symbols, strings, and sexps (lists). 22:43:28 -!- talyz [~user@ip35.tunnan.riksnet.nu] has quit [Ping timeout: 245 seconds] 22:43:44 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 22:43:52 That is enough to write a lisp reader in lisp, (using this bootstrap reader). 22:43:53 pjb: great 22:44:33 pjb: without a single function? 22:45:02 ok, symbols 22:47:32 can anyone point me to something describing the naming conventions for destructive functions? 22:48:59 there are naming conventions? :) 22:49:16 Well, apparently the n thing is one :P 22:49:25 often I see prefix n and suffix c 22:49:30 you sometimes you put an n on it. 22:49:51 It's odd to prepend an 'n' if my function name starts with a type name though 22:50:12 should i prepend it to the word that describes the action? 22:50:13 ok 22:50:43 argh- 22:51:26 -!- prxq [~mommer@mnhm-4d0133c9.pool.mediaWays.net] has quit [Quit: Leaving] 22:51:37 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 22:55:27 -!- gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has quit [Quit: gonzojive] 22:59:14 kephas [~pierre@AStrasbourg-551-1-62-86.w83-194.abo.wanadoo.fr] has joined #lisp 22:59:26 -!- nowhereman [~pierre@AStrasbourg-551-1-51-136.w83-194.abo.wanadoo.fr] has quit [Ping timeout: 264 seconds] 23:00:15 varjag [~eugene@4.169.249.62.customer.cdi.no] has joined #lisp 23:03:35 -!- BrandLeeJones [~BrandLeeJ@213-33-20-221.adsl.highway.telekom.at] has quit [Ping timeout: 276 seconds] 23:03:49 plediii [~plediii@adsl-99-185-124-47.dsl.hstntx.sbcglobal.net] has joined #lisp 23:04:11 -!- attila_lendvai [~attila_le@adsl-89-134-29-99.monradsl.monornet.hu] has quit [Ping timeout: 265 seconds] 23:04:39 HG` [~HG@xdsl-92-252-82-190.dip.osnanet.de] has joined #lisp 23:05:02 -!- zbigyarr is now known as zbigniew 23:05:56 -!- jewel [~jewel@209.118.182.194] has quit [Ping timeout: 240 seconds] 23:06:11 -!- silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has quit [Remote host closed the connection] 23:06:40 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 23:06:43 Kad_k_LaP [~LaPingvin@187.87.224.70] has joined #lisp 23:08:33 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 23:09:22 Nibble [~Nibble@81-235-216-50-no113.tbcn.telia.com] has joined #lisp 23:09:26 hello 23:09:29 with sbcl 23:09:37 I have a file, named lispy.lisp 23:09:49 how do I interpret it? 23:09:52 BrandLeeJones [~BrandLeeJ@212-183-40-233.adsl.highway.telekom.at] has joined #lisp 23:09:55 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 23:10:43 pebkc [~user@209.158.broadband13.iol.cz] has joined #lisp 23:10:44 -!- kephas [~pierre@AStrasbourg-551-1-62-86.w83-194.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 23:10:58 -!- Kad_k_LaP [~LaPingvin@187.87.224.70] has quit [Ping timeout: 245 seconds] 23:10:58 Nibble: launch sbcl in that directory; (load "lispy.lisp") 23:11:36 hmm 23:11:38 that works 23:11:48 Hi, I want to write a C program I had written a while back using trees and hashes into a common lisp version, but I have a hash table that stored a linked list of pointers to nodes in the tree that had the SAME value stored in them. How can I do the same in lisp? 23:12:02 Nibble: or: sbcl --noinform --load lispy.lisp 23:12:02 I mean is there a concept of a pointer or something in lisp? 23:12:12 kephas [~pierre@AStrasbourg-551-1-62-86.w83-194.abo.wanadoo.fr] has joined #lisp 23:12:19 btw I am new to lisp 23:12:25 edlinde: reference/place. Direct pointers don't show up 23:12:53 p_l|home: how do you suggest it sorry? 23:12:59 (they form the references, but aren't exposed in any standard way due to being implentation-dependant) 23:13:10 hmm 23:13:26 edlinde: (defvar foo 'blarg) is pretty much a pointer. 23:13:26 shortly speaking, the same as in all GC'd languages 23:13:29 -!- Nibble [~Nibble@81-235-216-50-no113.tbcn.telia.com] has quit [Remote host closed the connection] 23:13:37 *schmrkc* waits for someone to get upset. 23:13:47 so the thing is this... as I build the tree by inserting new nodes, I need to check if the values match something I already inserted and if so I need to keep track of these nodes in my hash table as I keep inserting 23:13:54 edlinde: to get properly into description, we would need to get pretty deep into details 23:14:04 hmm ok 23:14:05 minion: tell edlinde about gentle 23:14:05 edlinde: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 23:14:07 I understand 23:14:23 Gentle Introduction has whole chapters about how to do such things in lisp 23:14:23 p_l|home: I read that one 23:14:29 yeah? 23:14:32 which one? 23:14:51 so if I understand this correctl you want to build a tree, and for each new node you check with your hash table? 23:14:54 sorry i ask coz I just went through that book recently 23:15:02 or each new leaf. 23:15:04 schmrkc: correct 23:15:08 the whole first part of the book, for one. Remember also that objects that are EQ are *the* same objects 23:15:23 edlinde: So what have you worked up? 23:15:36 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 23:15:41 oh I haven't started coding it or anything 23:15:43 CONS cells make for excellent binary trees, for bigger quantities you might be interested in using simple-vector for storage 23:15:45 I had done this in C 23:15:47 ok 23:15:50 wondering how best to do this in Lisp 23:15:58 yeah for lisp you'd use conses to build a tree, and a hash-table for the hash table. 23:16:01 just don't have enough knowledge to get around this problem 23:16:12 yeah that part I got 23:16:13 you can also use structures. Both structures and simple-vectors are how one would do that in C, afaik 23:16:25 attila_lendvai [~attila_le@adsl-89-134-26-225.monradsl.monornet.hu] has joined #lisp 23:16:26 clhs defstruct 23:16:27 http://www.lispworks.com/reference/HyperSpec/Body/m_defstr.htm 23:16:36 but I wasn't sure how the entries in my hash table would be able to point to all the nodes in my tree that store say the value "a" 23:16:54 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Quit: omghaahhahaohwow] 23:16:55 edlinde: just make sure it's the same object. 23:17:07 the value "a" is maybe the same I guess. 23:17:20 -!- leadnose_ [leadnose@xob.kapsi.fi] has quit [Ping timeout: 255 seconds] 23:17:21 -!- nyef [~nyef@pool-70-20-44-124.man.east.myfairpoint.net] has quit [Quit: G'night all.] 23:17:23 (eq "a" "a") => nil 23:17:33 maybe this varies for other lisps. 23:17:36 well the value "a" can be spread around all over different nodes in different branches of the tree 23:17:44 right. 23:17:46 ok 23:17:52 are the values always strings? 23:18:01 leadnose_ [leadnose@xob.kapsi.fi] has joined #lisp 23:18:03 so I am guessing that I need some sort of defclass for the tree 23:18:09 no you don't 23:18:12 and a simple hash like you mentioned 23:18:24 you just need cons. I'm certain creating trees is in gentle. 23:18:25 well someone suggested writing a type for the tree 23:18:41 edlinde: I only suggested using structures if you wanted more than binary trees 23:18:46 ah no the values should mostly be integers to be honest 23:18:53 yeah its more than binary 23:18:56 integers are EQL 23:18:58 its a n-ary tree 23:19:01 afaik 23:19:01 edlinde: if all your stuff in the tree are one letter strings then #\a might be preferable. because atleast on sbcl (eq #\a #\a) => t 23:19:25 ok this part of saying eq and all is confusing me now :) 23:19:28 sorry 23:19:28 integers should be good too. 23:19:33 no worries. 23:19:45 the thing is this 23:19:56 when I am done building up my tree 23:19:59 it's just saying that #\a is the same as #\a. but "a" is not the same as "a". which could be importand for comparision. 23:20:09 edlinde: I don't remember exactly where it was, I believe in Gentle or in PAIP, there was a nice list of which predicate matches what types 23:20:21 someone could say "find me all the tree branches and paths to the root that contain "a" or 0 in it? 23:20:24 edlinde: so it's not a binary tree then? 23:20:39 schmrkc: nope its a variadic tree (n-ary) 23:20:43 Ok. 23:20:46 ok 23:20:51 So then I'd build a structure for that. 23:20:56 and populate the tree. 23:21:00 and then worry about the hash. 23:21:07 because doing one thing at a time is brilliant. 23:21:12 so really in essence I should be able to traverse the tree sideways too across branches 23:21:28 ok I agree 23:21:49 I think a defclass and building the branches of the tree by inserting new nodes should be ok (hopefully) 23:22:00 sure. 23:22:21 its the part of knowing ... as I put in say 'a' in one branch... I go ahead and update my hash table with the reference to this particular node somehow 23:22:31 thats what I am not a 100% on right now 23:22:58 -!- alama [~alama@43.120.54.77.rev.vodafone.pt] has quit [Quit: alama] 23:23:00 I guess for the key #\a you have a list of node objects 23:23:20 b-man_ [~b-man@189.34.51.132] has joined #lisp 23:23:30 ok how do you mean sorry? 23:23:40 well maybe I can explain the process a bit better 23:23:49 say I had a path like a-b-c 23:24:03 Jack-is [jack@gateway/shell/anapnea.net/x-wefqiysanhixxfnp] has joined #lisp 23:24:05 I start from the root and insert this path into the tree as a new branch 23:24:18 next comes b-c-d 23:24:25 in another branch of the tree 23:24:50 then I need links between the first 'b' to second branch's b 23:24:53 and same for the 'c' 23:25:00 I'm having a hard time picturing this tree. 23:25:05 heheh 23:25:10 yeah its a pain 23:25:24 its called a "FP growth tree" 23:25:32 you can look it up on Wiki if you like 23:25:50 http://www.cis.hut.fi/Opinnot/T-61.6020/2008/fptree.pdf 23:25:56 he explains it well 23:27:07 http://paste.lisp.org/+2HRA Anyone have any idea on this? Issue + source is there. Probably something dumb I missed. 23:27:21 -!- HG` [~HG@xdsl-92-252-82-190.dip.osnanet.de] has quit [Quit: Leaving.] 23:27:36 nefo [~nefo@unaffiliated/nefo] has joined #lisp 23:28:07 edlinde: this is too much for my poor head atm. 23:28:23 schmrkc: ok no worries 23:28:26 -!- attila_lendvai [~attila_le@adsl-89-134-26-225.monradsl.monornet.hu] has quit [Quit: Leaving.] 23:28:44 I was just thinking that I have to integrate some stuff into a Lisp system 23:29:05 it allows for C functions as foreign functions or something but I thought it would be cool to have a Lisp implementation 23:29:15 I know for a fact the prof would love that 23:29:16 :) 23:29:17 I can't imagine any reason why you'd need C for this. 23:29:55 unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 23:30:01 I been doing it for years plus it came out to be super fast 23:30:10 just takes a long time to code it in C 23:30:35 I need to do something similar this time.. with a slight twist.. but would love to get it done in lisp 23:30:36 Jack-is: your missing a paren 23:30:56 edlinde: You can do it in lisp. 23:31:15 Jack-is: best to use an editor that matches parens for you, or one that will insert balances pairs 23:31:19 drewc: Figures eh 23:31:21 wedgeV [~wedge@cpe-72-229-230-39.nyc.res.rr.com] has joined #lisp 23:31:33 I'm using vim but fail to pay attention to automatching, will go recheck 23:31:40 Thanks 23:31:42 *schmrkc* gives Jack-is some emacs. 23:31:48 *Jack-is* spits it out 23:31:51 schmrkc: yeah once I figure out how I can keep track of all the nodes in the tree with the same values... think of it as some sort of indexing structure really 23:32:14 You just need to learn how to operate hash tables. That's what I think. 23:32:46 Jack-is: emacs + slime is what most people here prefer. I like to also use paredit and redshank, which are excellent tools. Of course, you're going to want to change implementations as well ;) 23:33:05 :P 23:33:11 yeah hash tables is fine .... I think the problem is how to have some pointers from the hash table that will take me to the nodes/objects (whatever) in the tree 23:33:41 so it would be like 23:34:01 key:a , value: link list of all tree node references that hold 'a' as a value 23:34:05 :) 23:34:18 sure 23:34:25 like (node node node node node node ...) 23:34:25 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 23:34:33 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Read error: Connection reset by peer] 23:35:02 -!- Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 255 seconds] 23:35:02 LaPingvino [~LaPingvin@187.87.224.70] has joined #lisp 23:35:23 emma [~em@unaffiliated/emma] has joined #lisp 23:35:33 Electrifiedspam [~Electrifi@adsl-99-97-218-232.dsl.stl2mo.sbcglobal.net] has joined #lisp 23:35:33 yep 23:35:52 What's the problem? 23:36:01 -!- LaPingvino [~LaPingvin@187.87.224.70] has left #lisp 23:36:09 what do you mean whats the problem? 23:36:14 drewc: I can't find any unmatched parens. I even counted manually. :/ 23:36:26 -!- emma [~em@unaffiliated/emma] has quit [Client Quit] 23:36:34 that node list should be the list of nodes ALREADY in my tree 23:36:37 yeah? 23:36:52 emma [~em@unaffiliated/emma] has joined #lisp 23:37:10 sure. so add them to the list as you create them. 23:37:41 you create a node, put in the tree, cross reference with the hash table ? 23:37:49 -!- wedgeV [~wedge@cpe-72-229-230-39.nyc.res.rr.com] has quit [Quit: wedgeV] 23:37:58 yes 23:38:24 there is also a count in the hash table that needs to be updated everytime you see that particular key value 'a' 23:38:36 ok 23:38:42 (count node node node node node) 23:38:52 Can you create the node and insert it into BOTH the list and the tree? 23:38:56 and its the one and same node? 23:39:00 yes. 23:39:06 ah ok I didn't know that 23:39:16 so in memory they are pointing to the same object? 23:39:26 you reference the same object, yeah. 23:39:30 Jack-is: It's a misplaced paren, in the definition of living-room. There should be an extra one after "attic)", and on less at the end of *map*. 23:39:32 ok 23:39:41 then I can think about it some more 23:39:46 (: 23:40:21 coz the thing is once I say ... find all branches with 'a' in it... I need to actually find the branch in which 'a' is and then find the path in that branch from 'a' to the root 23:40:23 Quetzalcoatl_: Oh! I see, thanks 23:40:36 does lisp have a Ballmer Peak? 23:40:38 hopefully I can do this traversal once I find the node from my hash table's node list 23:40:51 edlinde: well that's for you to write a path finding thingie then :) 23:41:05 edlinde: just beware that some things in lisp are more equal than others. 23:41:07 yeah as long as this node in the hash list is really the node in the tree 23:41:33 so its best I use something that is TOTALLY equal yeah? 23:41:37 if you make some node objects, yeah. 23:41:47 coz there seems to be some levels of equality here in lisp 23:42:01 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 23:42:11 It would be fair to assume that the nodes will never have chars/strings etc and only integers 23:42:17 -!- emma [~em@unaffiliated/emma] has quit [Read error: Connection reset by peer] 23:42:18 so I can use = I think 23:42:21 welcome back, Hexstream! 23:42:28 Hello. 23:42:35 Quetzalcoatl_: That does it, ty much 23:42:42 edlinde: if you have like (defclass foo ...) and (make-instance 'foo) then you're pretty safe. you'll just be referencing it from your tree and from your hash table lists. 23:43:02 ok 23:43:14 I mean I still have no clue about how to write a defclass etc 23:43:15 edlinde: somewhat like pointers to objects. 23:43:16 emma [~em@unaffiliated/emma] has joined #lisp 23:43:18 is that more CLOS? 23:43:22 clhs defclass 23:43:23 http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm 23:43:30 If I use one of those emacs environments will it detect misplaced but matched parens? 23:43:33 clhs defstruct 23:43:33 http://www.lispworks.com/reference/HyperSpec/Body/m_defstr.htm 23:43:39 ok but is there a good book I can refer to schmrkc ? 23:43:49 something that explains defclass, and trees? 23:43:59 In gentle there was no such thing as tree building 23:44:06 maybe you were thinking of some other book? 23:44:11 edlinde: PAIP is pretty good for most things. I can't quite recall if it goes in depth on trees. 23:44:14 it probably does. 23:44:18 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 23:44:25 ah yeah someone here talked about PAIP 23:44:28 will look for it 23:44:40 amazon probably has it :) 23:45:08 I think gentle operates a bit on conses used for binary trees. 23:45:15 I could be remembering wrong. 23:45:17 Jack-is: Emacs has great support for s-expressions. 23:45:23 -!- morphling [~stefan@gssn-5f7551e2.pool.mediaWays.net] has quit [Remote host closed the connection] 23:45:31 Jack-is: nothing will detect misplaced parens :) 23:45:38 Except Quetzalcoatl_ 23:45:42 :P 23:45:49 schmrkc: will double check but I am pretty sure its very very little 23:45:56 Jack-is: The indentation showed where the parens should have been. 23:46:04 edlinde: Well it doesn't matter for trees that aren't binary :) 23:46:10 Jack-is: The best way to deal with misplaced parens is to work in a way that you'll never have to deal with misplaced parens... 23:46:21 schmrkc: would I need CLOS you think? 23:46:27 Writing () and putting the cursor in middle should be one keypress. 23:46:31 schmrkc: don't want to overkill my head :) 23:46:31 Jack-is: Emacs auto-indents Lisp very well. 23:46:41 My right shift does that ;P 23:46:51 edlinde: You don't need to define a class for this, no. You just need to define a data structure somehow. You could use lists, arrays, structures, whatever floats your boat. 23:46:59 emacs tab-to-indent feature has saved me so much time formatting 23:47:26 Hexstream: What one keypress do you use for that? 23:47:39 C-j is great for that. Inserts a newline and appropriate indentation. 23:47:42 jtza8 [~jtza8@41.56.58.193] has joined #lisp 23:47:56 C-M-q is awesome, too. 23:48:07 I press mode-switch+j for () and cursor in middle. 23:48:09 I'm thinking the misplace might just have been a miscopy since I copied that block from the tutorial instead of writing it, the bit with all the descriptions. 23:48:13 so that's two 23:48:24 That's too much, IMHO ;P 23:48:24 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 23:48:26 leo2007 [~leo@222.77.104.33] has joined #lisp 23:48:28 ONE keypress, max. 23:48:31 Hexstream: so what one keypress do you use? 23:48:36 Right shift. 23:48:45 I remapped my right shift to F32. 23:48:45 interesting. 23:48:52 Where is that f32 key? 23:49:01 In X? 23:49:05 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 276 seconds] 23:49:09 Sounds utterly painful when typing normal text to have no normal right shift. 23:49:12 No, on your keyboard. 23:49:16 The physical right shift on my keyboard is the logical F32 key. 23:49:24 -!- varjag [~eugene@4.169.249.62.customer.cdi.no] has quit [Quit: Ex-Chat] 23:49:32 I'm confuse. 23:49:34 I don't need a right shift, I press modifiers with my thumbs. 23:49:40 I have TypeMatrix 2300. 23:49:43 Aha. 23:49:47 You can go above F12 with ctrl-F??, ctrl-shift-F?? etc. 23:49:56 or however you config it I suppose 23:49:56 And I remapped physical keys the day I got it, basically. 23:50:41 sounds painful that typematrix 23:50:50 *schmrkc* never really liked em. 23:50:55 I can press Ctrl, Left Aalt and Left Shift in any combination with my thumbs. 23:51:03 No, it's super awesome. 23:51:14 I never want to type on another keyboard again ;P 23:51:17 so if you want to press hyper + super + ctrl ? 23:51:37 I'm not even sure my hyper is mapped... 23:51:40 ok 23:51:45 You mean the "windows" key? 23:51:48 Hexstream: Tried a maltron? I wonder how they compare. 23:51:51 I always use that one alone. 23:51:51 what windows key? 23:52:01 Oh no, that's Super, nevermind. 23:52:06 O.o 23:52:11 I have hyper on my left foot tbh. 23:52:12 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 23:52:31 okay, very simple question and i'm sorry if this aggravates anyone 23:52:36 it's good really. middle foot and key marked as j = ( 23:52:43 and ( => () obviously 23:52:44 but does this function return a list or array? 23:52:47 http://paste.lisp.org/display/116327 23:52:48 -!- SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has quit [Quit: Leaving] 23:53:01 list. 23:53:06 osoleve: try it. 23:53:12 SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has joined #lisp 23:53:13 ok, thanks 23:53:28 well laundry time then. 23:53:41 schmrkc: should I say use defstruct? 23:53:45 If you wonder if something's returning a list or array, then it's probably a list. Lisp stands for LISt Processing, after all. 23:54:38 If you're wondering something try it at the repl. ;) 23:54:46 edlinde: Use whatever you want! 23:55:03 schmrkc: okie dokie 23:55:11 will give it a shot when I get around doing it 23:55:26 schmrkc: Sorry, sometimes I prefer to get a quick response from those in the know than mess in the repl 23:56:48 gonzojive [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp 23:57:31 osoleve: The REPL will never get impatient with you. 23:57:34 LaPingvino [~LaPingvin@187.87.224.70] has joined #lisp 23:58:20 well, my goal is to get to the point where my questions don't elicit a negative response from people :) 23:58:31 osoleve: I'll bet you have some trouble copy/pasting code into the REPL?... 23:58:42 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 23:58:49 There's a command called "slime-selector". 23:58:51 just from EMACS because I have CUA enabled 23:58:54 osoleve: I wasn't being negative. It is constructive feedback. The repl is a great learning tool. 23:59:05 Bind it to some key, then you can invoke it and press R, and tada, you're in the REPL. 23:59:25 i never really got slime working, i've been stuck 23:59:29 *shrug* 23:59:34 osoleve: What is the slime problem? 23:59:38 is it windows? 23:59:43 no, sabayon