00:00:59 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Read error: Connection reset by peer] 00:01:23 p_l|home [~pl@hgd210.internetdsl.tpnet.pl] has joined #lisp 00:03:44 -!- dborba [~dborba@pool-74-105-202-55.nwrknj.fios.verizon.net] has quit [Remote host closed the connection] 00:05:45 -!- golddog [~liminal@c83-251-38-170.bredband.comhem.se] has quit [Quit: Leaving] 00:10:24 jsnell: last year's had over 200. pretty sweet. 00:11:21 gigamonkey: i felt bad for D. Farmer on twitter. he a lisper who lives in reno and didn't know about ILC, apparently. 00:11:38 gigamonkey: i suggested he just come in, but as far as i know he didn't try. i don't think anyone would have noticed. 00:12:01 gigamonkey: at oopsla in 2007 i got a friend into a panel by bluffing the student door guards...wouldn't have needed to this time. 00:12:14 Xach: hmm... the sneak-in method? 00:12:21 I usually do that to free conference food 00:13:18 p_l|home: i gave him my badge, and i held my OOPSLA bag. when the guy asked me where my badge was, I looked in my oopsla bag and said "Darn, I must have left it at the hotel! I'll be back in 10 minutes!" (the talk was starting in 5). So they just waved me in. 00:13:22 Just like in the movies! 00:13:50 -!- jeti [~user@p548EAD2F.dip.t-dialin.net] has quit [Quit: bye] 00:13:53 We got to hear James Gosling make bad jokes about perl. 00:14:11 -!- _8david [~user@port-92-195-132-21.dynamic.qsc.de] has quit [Ping timeout: 265 seconds] 00:15:53 oddly enough, we sat behind someone who knew me from online, and he stared at my friend's badge for a few minutes and said "Say, aren't you the guy who..." 00:16:22 Xach: "just like in the movies" is when you are in conditions that make your "CCTV avoidance" skills useful. 00:16:45 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 00:17:08 cvandusen [~irchon@99-166-72-116.lightspeed.rcsntx.sbcglobal.net] has joined #lisp 00:17:26 -!- cvandusen [~irchon@99-166-72-116.lightspeed.rcsntx.sbcglobal.net] has quit [Client Quit] 00:17:53 that includes mapping out all approach vectors and surveillance areas 00:18:43 peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has joined #lisp 00:19:21 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 00:19:22 -!- yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has quit [Quit: rcirc on GNU Emacs 23.2.1] 00:22:07 -!- rasterbar [~user@unaffiliated/rasterbar] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:24:52 -!- Athas [~athas@82.211.209.226] has quit [Remote host closed the connection] 00:25:08 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Quit: Leaving.] 00:25:09 Athas [~athas@82.211.209.226] has joined #lisp 00:26:05 -!- Kad_k_LaP is now known as LaPingvino 00:27:41 -!- dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has quit [Ping timeout: 255 seconds] 00:29:45 Say I have a anonymous function in the car of a list - why can't I do ((car my-list-with-some-function)) ? 00:29:58 That should both retrieve the function, and execute it 00:30:07 funcall does the same thing, but that seems pretty clear to me 00:30:09 seangrove: because (car my-list...) doesn't look like a function name. 00:30:29 -!- Jabberwockey [~Jens@f050067110.adsl.alicedsl.de] has quit [Quit: Verlassend] 00:30:39 "because". 00:30:45 But the return value of that will be a function, right? 00:30:55 Is a safety thing to prevent some typos? 00:30:57 if it's evaluated 00:35:17 <`3b`> because that's what the common lisp evaluation rules say happens 00:35:31 -!- xinming [~hyy@115.221.11.55] has quit [Ping timeout: 240 seconds] 00:35:33 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 245 seconds] 00:36:07 <`3b`> scheme for example has different rules, so it would work there 00:36:30 Hmm, i never actually understood why that doesn't work 00:37:12 Lisp in Small Pieces discusses the implications of both approaches. 00:37:29 Xach: Is this incompatible with current common lisp? 00:37:35 drdo: Quite. 00:37:43 In what way? 00:37:47 drdo: because the first element of a list isn't evaluated 00:37:53 <`3b`> drdo: the spec says how it works... working any other way is non-conformant :) 00:38:14 `3b`: I know the spec says how it works, but as you might imagine, i didn't read the spec 00:38:30 why it's not evaluated? because it lets you have variables and functions with the same name 00:38:33 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 00:39:03 stassats: not necessarily. You can special-case lists in the function position. 00:39:09 In fact, it's standard compliant. 00:39:24 stassats: why is that incompatible? 00:39:25 and it's orthogonal to the lisp-1/lisp-2 issue. 00:39:30 -!- jhuni [~jhuni@udp217774uds.hawaiiantel.net] has quit [Ping timeout: 240 seconds] 00:39:59 Can't it just lookup the value if it's a symbol like it does now and evaluate the expression if it's a compound expression? 00:40:40 (and if the expression evaluates to a function then it applies that function) 00:40:56 -!- Athas [~athas@82.211.209.226] has quit [Remote host closed the connection] 00:41:01 drdo: it could be done. Keep in mind that CL was not meant to create a novel language, but a reasonable compromise between pre-existing implementations. 00:41:34 drdo: what's the problem with using funcall? 00:41:45 pkhuong_: I'm just asking, since the standard is so big, it's probable i missed a lot of stuff 00:41:46 you don't need to invent additional rules 00:42:11 ? 00:42:26 what does your question symbolize? 00:42:26 the fact that it doesn't is the rule 00:42:27 caelan [~caelan@65.122.170.251] has joined #lisp 00:42:43 evaluating the expression is the norm 00:42:59 <`3b`> stassats: presumably the same problem that inspired the special case for lambda forms in function position :) 00:43:17 -!- jsoft [~jsoft@60.234.231.122] has quit [Ping timeout: 255 seconds] 00:43:20 `3b`: i believe that's for backwards compatibility 00:43:41 <`3b`> ah, could be 00:44:23 drdo: what norm? not evaluating the car of a list is the norm 00:44:25 stassats: some of the standard macros depend on that, actually. 00:44:48 and you want to special case it, so it's evaluated in one case, but not in the other 00:45:06 no i don't 00:45:20 and CL already has enough quirks 00:45:31 The rule would be just "evaluate the expression" 00:45:42 Just that symbols in the car evaluate differently 00:45:55 drdo: well, here you go, an exception 00:46:33 stassats: oh come on. Consistency, hobgoblins and all that. 00:46:46 *`3b`* wonders if a form returning the name of a function would be expected to work there or not 00:47:06 Don't think it works 00:47:11 I think not everyone agreed on how such forms should be treated; IIRC, the standard explicitly leaves that open to implementation extensions. 00:47:26 `3b`: I would; simplest to just splice a FUNCALL in. 00:47:32 It's what I did in Span (: 00:48:51 pkhuong_: the less rules, which don't add any value, you need to remember, the better 00:51:01 -!- Yuuhi [benni@p5483C6A3.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:51:45 -!- attila_lendvai [~attila_le@adsl-89-135-206-125.monradsl.monornet.hu] has quit [Quit: Leaving.] 00:56:12 -!- pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has quit [Ping timeout: 272 seconds] 00:56:33 -!- georgek_ [~george@c-24-17-224-196.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 00:56:45 georgek [~george@c-24-17-224-196.hsd1.wa.comcast.net] has joined #lisp 00:57:43 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 00:57:50 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 00:59:36 -!- georgek [~george@c-24-17-224-196.hsd1.wa.comcast.net] has quit [Client Quit] 01:01:44 hyperspec is my friend 01:01:57 syntard: yes 01:02:02 pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has joined #lisp 01:12:26 I did (defparameter x '#:B), then forgot about, later did (defun adder (x) #'(lambda (y) (+ x y))) , now I discover that x interferes with closures, holy cow 01:12:50 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 01:13:30 <`3b`> yeah, hence the *x* naming convention for special vars 01:14:03 <`3b`> (which are created by among other things, defparameter and defvar) 01:15:51 <`3b`> "special" in this case meaning dynamic scope, as opposed to lexical scope, which is what would be captured by a closure 01:15:52 best handled with earmuffs 01:16:07 special vars are evil 01:16:09 I love it 01:16:23 drdo: I think you might be in the wrong channel. 01:16:26 hrm 01:16:38 <`3b`> nah, they aren't evil, though having them in the same namespace as lexical vars might be :) 01:17:08 Xach: evil is sometimes useful, just don't make your entire program evil! :) 01:17:12 Guns don't kill people 01:17:15 drdo: I just used dynamic binding in C++, and I don't see how else I could have done it. 01:17:33 what is a "meta object" ? 01:18:12 banisterfiend: do you know what "meta data" is? 01:18:13 banisterfiend: an object that describes something that's usually left to the language definition; e.g. a class, or a slot. 01:21:06 xach: is a meta object related to a meta class? 01:21:31 banisterfiend: yes. 01:21:45 -!- kenanb [~user@95.14.60.39] has quit [Remote host closed the connection] 01:23:20 xinming [~hyy@115.221.11.55] has joined #lisp 01:23:33 xach: explain everything to me please 01:24:22 minion: amop 01:24:23 amop: The Art of the Metaobject Protocol, an essential book for understanding the implementation of CLOS and advanced OO. See the sepcification of MOP at http://www.lisp.org/mop/ 01:24:51 banisterfiend: that is a good book to learn about it. 01:24:58 banisterfiend: read a book. Kiczales and his team also wrote a number of papers on other applications of the same concept, both in Lisp and otherwise. 01:25:04 -!- LiamH [~nobody@pool-141-156-214-211.washdc.east.verizon.net] has quit [Quit: Leaving.] 01:25:10 you can read it for free if you get it from a library. 01:25:16 britb [~redline65@z65-50-0-4.ips.direcpath.com] has joined #lisp 01:25:33 thanks 01:25:46 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Ping timeout: 252 seconds] 01:26:00 but, hmm...i just want to know enough to have an understanding of it 01:26:04 -!- austinh [~austinh@c-67-189-92-40.hsd1.or.comcast.net] has quit [Quit: Lost terminal] 01:26:06 i dont need to know how it all fits together 01:26:20 do i have to read a whole book for that? are there any websites that just give a simple overview? 01:26:32 and how MOP is different to other OO systems like python's or ruby's? 01:26:52 If you don't want to understand the MOP, you probably don't need it at all. 01:26:58 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 01:27:16 i just need a very simple overview of the core concepts that differentiate it from other OO systems 01:27:27 banisterfield: http://docs.google.com/viewer?a=v&q=cache:iN2d8rQmK4kJ:www2.parc.com/csl/groups/sda/publications/papers/Kiczales-Andreas-MOP/for-web.pdf+metaobject+protocols+why+we+want+them&hl=en&gl=us&pid=bl&srcid=ADGEESgqHA5MDy7ZokP8qRxLSjA_EnM2oH9k7IC0VBjZxzJA_aZ0jUn4DB9F82dg6FQUtda5N7VHQm60-iXN_iOXqv4MXQEjdfUbnZrW8VadVVsLVp6WXipxjrqAa2legHOpDD8rG5MX&sig=AHIEtbR-KkFr1EOyxbN0Jju0inFGJPrnFg 01:27:44 ok 01:27:44 banisterfiend: seems to me you want to learn about CLOS, not the MOP. 01:27:48 banisterfield: It's a very readable paper. 01:27:56 s/field/fiend/ 01:28:03 britb: that's jsut a paper?or is that the whole book? 01:28:12 Just a paper. 01:28:23 wonderful 01:28:25 great just waht i need 01:28:26 thanks 01:28:27 banisterfiend: Covers the motivation and core concepts reasonably well though. 01:28:36 banisterfiend: Sure thing. 01:28:41 austinh [~austinh@c-67-189-92-40.hsd1.or.comcast.net] has joined #lisp 01:29:51 askatasuna [~askatasun@190.97.33.72] has joined #lisp 01:32:06 Xach_ [~xach@cpe-72-227-90-1.maine.res.rr.com] has joined #lisp 01:33:26 jhuni [~jhuni@udp217774uds.hawaiiantel.net] has joined #lisp 01:34:29 -!- gemelen [~shelta@shpd-95-53-177-104.vologda.ru] has quit [Ping timeout: 250 seconds] 01:35:59 -!- Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has quit [Ping timeout: 276 seconds] 01:36:17 -!- Xach_ is now known as Xach 01:48:10 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 240 seconds] 01:50:17 _nix00 [~Adium@58.33.111.187] has joined #lisp 01:50:20 -!- jcazevedo [~jcazevedo@bl18-107-27.dsl.telepac.pt] has quit [Ping timeout: 255 seconds] 01:52:17 -!- hefner [~hefner@ppp-61-90-103-5.revip.asianet.co.th] has quit [Ping timeout: 255 seconds] 01:52:50 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 01:53:05 what's the use of uninterned symbols #:x 01:53:16 -!- timack [~tim@hlfx64-2a-208.ns.sympatico.ca] has quit [Read error: Connection reset by peer] 01:55:14 syntard: i use them in situations where symbols are used unevaluated for their names. 01:55:23 in-package, defpackage, defsystem. 01:55:54 i do that to avoid using a string (which might get the case wrong) or a symbol that gets interned (which might linger around unnecessarily) 01:56:33 Xach: why would they be used unevaluated? 01:56:51 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: leaving] 01:56:57 syntard: you don't want package names to muck with your keywords nor symbols 01:57:23 like (defpackage #:mypackage) ? 01:57:25 syntard: because they are only used to get the string that is their name, not for any other value. 01:57:53 Xach: uninterned symbols are still EQ if they have the same name? 01:58:13 ok, so if you get a symbol's case wrong, that's ok 01:58:14 or are they only EQL? 01:58:21 p_l|home: they are neither. 01:58:25 ahh 01:58:26 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 01:58:27 p_l|home: they are string= though. 01:58:27 i think they are equalp 01:58:31 right 01:58:32 hefner [~hefner@ppp-61-90-102-107.revip.asianet.co.th] has joined #lisp 01:59:08 all right, they are names 01:59:48 syntard: it's basically to avoid the issues caused by interning reader 02:00:36 awesome 02:00:40 (and interning reader isn't an issue solved portably without writing a separate portable reader... SBCL's reader should work on everything, though, at least the important routine) 02:02:54 Yeah, I think it's weird that symbols are automatically interned 02:03:18 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 02:03:22 It's like an attempt to save memory 02:03:42 syntard: well, it's easy to fix on SBCL, though I haven't yet tested my code completely nor sent a patch 02:04:30 p_l|home: I like to call these things features, could be useful someday 02:05:14 syntard: well, I want to make a clean patch for SBCL, then maybe for CCL and ECL 02:06:53 syntard: I think interning has more to do with saving CPU cycles. 02:07:09 yeah, I guess that's what I meant 02:07:10 You can compare two symbols for equality cheaply if you know all symbols are interned. 02:08:11 p_l|home: maybe I misunderstand, but isn't reader interning the spec? 02:08:29 syntard: it is 02:09:15 p_l|home: what will your patch do then? 02:09:44 syntard: introduce a special variable plus possibly a wrapper function to run reader in non-interning mode 02:11:03 p_l|home: how will that be useful? 02:11:28 syntard: I did that because I wanted to use READ on string from web 02:12:42 p_l|home: don't want to make stubs? 02:13:10 syntard: didn't want to write a parser 02:13:31 especially since all it takes is a custom readtable and adding opening and closing paren :P 02:13:55 p_l|home: hahaha 02:14:16 p_l|home: everything looks like sbcl to you 02:14:31 syntard: I wanted to use it as syntax for free form input fields in a webapp 02:14:44 -!- gonzojive [~red@c-24-23-182-253.hsd1.ca.comcast.net] has quit [Quit: gonzojive] 02:14:46 then I cleaned the idea and decided to write a CDR proposal for it 02:15:22 and I might write patch with the same API for ECL and CCL as well 02:15:46 don't have LW nor ACL sourcecode to patch those, and CLISP is on my box only for amusement :P 02:16:35 -!- superflit [~superflit@140.226.49.160] has quit [Quit: superflit] 02:16:43 where do they host cdr proposals? 02:18:13 http://cdr.eurolisp.org/ <--- not like they got far anywhere, but it would serve for official docs :P 02:19:44 illuminating 02:19:45 good morning everyone 02:20:39 *syntard* waves 02:24:44 how often does one use #. instead of comma in backquote? 02:25:47 just about never 02:26:17 -!- fgump [~gauthamg@188.74.82.177] has quit [Ping timeout: 252 seconds] 02:26:23 -!- wakeup [~wakeup@koln-5d817621.pool.mediaWays.net] has left #lisp 02:26:29 schmrkc: there are other uses? 02:27:31 syntard: almost exclusively 02:28:26 -!- phrixos_ [~clarkema@bs0176.nerc-bas.ac.uk] has quit [Quit: leaving] 02:28:30 comma and #. are completely different things 02:28:59 Yeah, but in my mind... 02:31:01 I just proved their difference to myself 02:31:44 can't explicate it yet 02:32:12 Have you read the hyperspec on #. ? 02:32:38 sure 02:33:13 if a is unbound, this is an error: (let ((a 55)) '(#.a)) 02:33:31 iirc it mentions that #. performs evaluation at read time. 02:33:35 this works, however (let ((a 55)) `(,a)) 02:35:41 everything begins at readtime 02:36:49 syntard: yes, but #. is actually *executed* by the reader, while #\, is only expanded without evaluation 02:37:34 p_l|home: no argument there, and #. appears inside let form, that's why A is not bound yet 02:38:04 What is the issue here? 02:38:09 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 02:38:09 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 02:38:09 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 02:38:10 none 02:38:23 schmrkc: just explaining some stuff away 02:41:26 I need things explained, maybe I'll read lol 02:41:52 syntard: when you evaluate (let ((a 42)) (list a)), when is the variable a created and bound to 42? 02:42:44 pjb: at eval I think 02:42:52 Yes. At run-time 02:43:27 When you read (let ((a 42)) '(#.a)), when #.a is evaluated? 02:43:44 pjb: at read time? 02:43:48 right, 02:43:59 And how much time might separate read-time from run-time? 02:44:07 i'll check 02:44:27 Imagine you read the program, compile it, generate an executable, and one month later, you execute it. 02:44:28 lots 02:44:31 Yes. 02:44:34 with macroexpansion 02:44:57 So you see that a variable whose value is retrived at read-time cannot be the same as a variable whose value is created at run-time. 02:45:11 compilation and macroexpansion occur in the middle, yes. 02:45:20 -!- carlocci [~nes@93.37.192.198] has quit [Quit: eventually IE will rot and die] 02:45:44 At least until we have foreseeing computers... 02:45:56 is cliki down? 02:46:02 yes 02:46:16 heh. 02:46:22 I had them squashed in a microseconds 02:46:23 thanks. Should have read backlog first ;) 02:46:47 it's the interpreter syndrome 02:46:49 syntard: nonetheless, the future is the future, and is unknowable beforehand. 02:47:07 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night] 02:47:23 syntard: unless you have a good plan 02:47:27 ? 02:47:48 loopy 02:47:50 Can someone point me to documentation about Xof's extensible sequence protocol? My google-fu is failing me. 02:48:58 syntard: That said, have a look at http://www.nhplace.com/kent/PS/Ambitious.html 02:49:11 sykopomp: ? 02:50:34 pkhuong_: thank you 02:51:13 syntard: also, if you need to put things in the environment for read time, you can in a file put it in a separate, previous (eval-when (:compile-toplevel) ...) form. 02:51:55 syntard: eval-when is required, because most def... operators, when compiled, may not have much effect in the current environment (the compilation environment). 02:52:28 pjb: when only need them at read-time? 02:52:34 (eval-when (:compile-toplevel) (defvar *a* 42)) (let ((a #.*a*)) (list a)) would compile to the obvious. 02:52:43 Yes. 02:52:49 are there any 3d graphics libraries for scheme? 02:53:00 Revolve: ask #scheme 02:53:13 just realised it might be a channel. pleasantly surprised. 02:53:15 thanks :) 02:53:23 The problem is in defvar, which may not create the variable in the compilation environment. So when the compiler reads the next form, *a* would not be defined. The compiler would know that it will be a special variable in the program, but it may not know it. 02:54:32 syntard: but as you can see, we have two variables: *a* defined in the compiler environment and available when the let form is read, and a which is a lexical, run-time variable. 02:54:33 may not create! 02:54:42 Yes. 02:55:13 It just has to note that *a* denotes a special variable in the program, and set things up so that it's assigned the initial value when the program is loaded. 02:55:57 That's why you often see: (load (compile-file "src.lisp")) ; just compile-file would not be enough. 02:56:40 huh 02:56:53 really need to ask it 02:57:03 ask it! 02:58:08 i think it's great to have so much control over little things 02:59:15 Notice that you can often move things up or down the times. So read-time evaluation is often unnecessary, and can be replaed eg. by macroexpansion time. 02:59:50 And similarly, you can move run-time computations up to macroexpansion or compilation time (pre-computing stuff). 03:00:18 right 03:01:27 Also, when building a system, you have a run-time, from which you can invoke the compiler and read sources, so instead of a read-time or compilation time evaluation, you can compile and load the code, and execute it in the run-time (of the system building environment). 03:01:45 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 03:02:10 syntard: in simple words: put your defpackage forms in a packages.lisp file, and your functions needed at macro-expansion time in a macros.lisp file, which you can compile and load, before compiling the other files. 03:03:07 pjb: very well 03:05:20 bigjust [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 03:06:04 There's one place where #. is required. If you use defconstant to define a few constants, and you want to use them as case labels, then you have to use #. to insert their value in the form (case expr ((#.+red+) ...) ((#.+blue+ ...)) ...) ; probably one more reason not to use defconstant... 03:06:43 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Quit: Leaving.] 03:06:47 What are the other reasons to not use defconstant? 03:07:05 there was a discussion about this on cll recently 03:07:12 hMmm 03:07:17 *schmrkc* will google up cll. 03:07:19 defconstant, that is 03:07:23 comp.lang.lisp 03:07:28 schmrkc: the impossibility to ensure that non number, character, or symbol value be EQ between the compilation and the execution... 03:07:32 Yes I know. I just need to find somewhere to read it. 03:07:46 -!- britb [~redline65@z65-50-0-4.ips.direcpath.com] has quit [Quit: Leaving] 03:07:52 pjb: Interesting. 03:08:05 EQL actually. 03:08:17 that bad 03:08:19 So (defconstant +label+ "string") is had. 03:11:53 pjb: so if not constants, I shouldn't use case? 03:15:00 why doesn't case take a test function? 03:15:32 -!- drdo [~user@98.192.108.93.rev.vodafone.pt] has quit [Ping timeout: 255 seconds] 03:16:07 i've always thought that would be interesting, something like case-if 03:16:14 probably one of those "cases" when a custom macro is preferable 03:16:52 *syntard* nods at caelan 03:17:07 should be pretty trivial with cond... 03:17:23 oh yeah 03:17:50 just strange 03:18:40 hmm 03:18:43 Reason to why is that the spec says it shouldn't ;) 03:18:55 but for good fun look up the code for CASE and go wild. 03:19:03 wouldn't it fit better in a lisp-1, though? 03:19:53 should the things in the case lists be function values or names? 03:20:19 case lists? 03:20:39 don't know the technical name 03:20:52 do you have an example? 03:21:05 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 03:21:05 (case x ((a b) (thing1)) ((b c) (thing2))) 03:21:09 I think he means the keys. 03:21:18 gz_ [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 03:21:34 or is that only in scheme? i forgety 03:21:41 try it (: 03:22:29 yep, it exists 03:22:37 enupten [~neptune@117.254.149.78] has joined #lisp 03:23:48 -!- gz_ is now known as gz 03:24:02 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 264 seconds] 03:24:38 yeah, the keylists 03:24:52 -!- gz_ [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has left #lisp 03:25:08 should case-if treat them as function objects or function names? 03:25:37 -!- enupten [~neptune@117.254.149.78] has quit [Quit: quitting...] 03:25:38 treat the keys, that is 03:26:56 does it matter? 03:27:00 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 03:28:46 hm, guess it doesn't 03:29:04 I can't remember ever having had a need of something like this. 03:29:22 i have 03:29:29 ah cools. do it then :) 03:29:40 in a very few situations that i can't remember the specifics of at the moment :P 03:30:03 name CASE-IF I'd think it would switch on identity like the other CASEs do. So I'd be confused probably 03:30:06 but oh well :) 03:30:40 huh 03:31:25 i chose case-if so that case is to case-if as find is to find-if 03:31:50 and all those other searching functions 03:32:12 -!- aDuck [~aduck@bl13-129-160.dsl.telepac.pt] has left #lisp 03:33:16 caelan: I don't think that makes any sense. 03:33:57 austinh: i never said it did, except to me 03:34:11 I can't argue with that. 03:35:12 austinh: you don't see any possible reason to use a different test function for case? 03:36:04 My problem with it that case is for switching based upon identity. I don't see why one would want some other "test-function". 03:36:24 I can imagine why you might want to do it, and imagine why it is like it is. 03:36:38 I can imagine some variations on COND for this. 03:36:51 end result being the same, of course. just different name ;) 03:37:08 syntard: I guess I just can't see it as taking a general test function as an argument. 03:37:14 http://www.youtube.com/watch?v=sMWLnWcmRPI 03:37:17 I'm not suggesting changing case, just discussing possible other ways 03:37:21 Xach, schmrkc more lisp video :) 03:37:22 schmrkc: of all things, VB has something like what i'm talking about 03:37:32 dto: woo 03:37:37 and ruby too, i think 03:37:42 caelan: I'm not against the idea. I'm against naming it CASE-IF 03:37:43 Xach: this one is long but gets exciting toward the end 03:37:53 schmrkc: what name would you suggest? 03:38:02 caelan: case-what-if 03:38:19 just-in-case :) 03:38:27 caelan: I have not a heck of a clue. probably I'd name it autocond because I find that name hillarious. 03:38:31 (inside joke) 03:39:03 now right. I'm annoyed with mcclim today. What is the state of qt/gtk/wx on lisp? 03:39:20 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 03:39:26 schmrkc: cl-gtk2 seems to do stuff. 03:39:37 schmrkc: i don't know if it is good stuff. 03:39:50 well.. it can't be much worse than what I'm getting :) 03:39:58 *schmrkc* will look into it after a tea break. 03:40:33 austinh: I just don't see the test function specified for case 03:41:22 there's no "match" function 03:41:36 it goes by identity. 03:41:40 of the objects. 03:41:58 ahh, ok 03:42:04 I think I've just always viewed it as a specific control structure and would use cond if I needed something more general, but upon reflection, I can see what you guys are thinking. 03:42:39 i've often had things where cond was used on a series of predicates, all involving the same set of args 03:42:49 sorry, I think autocond is they way to go then 03:43:03 caelan: Yes. I have that too. 03:43:23 I'd love to see a good example. 03:43:42 or maybe cond-using-the-same-predicate-for-each-of-the-clauses 03:43:54 *schmrkc* uses 320 column width 03:44:46 I seem to recall thinking something similar when I first starting using Lisp, because I thought case might be akin to a more general 'switch' statement in other languages. 03:45:22 But, I haven't thought that in a long time and I don't know if I write my code in a better Lisp style now, or if I just learned that is not what case is for. 03:46:10 some of what i'm talking about has been eliminated since my discovery of typecase, but not all 03:46:45 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 03:47:31 condcase ? (: 03:47:33 austinh: what *is* case for, then? 03:48:14 caelan: helpful for dispatching on known small sets of symbols, characters, integers 03:48:33 whew 03:48:39 that's what i use it for 03:48:44 caelan: in my current project, I use it to dispatch on http status codes 03:48:59 caelan: I have a FIBS client. For handling the cookies the server sends me I like CASE. 03:49:17 i thought you were unknowingly criticizing every one of my uses of case :) 03:49:21 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 03:49:30 oh 03:49:42 we'd only do such a thing knowingly 03:49:44 -!- djinni` [~djinni`@li14-39.members.linode.com] has quit [Quit: Coyote finally caught me] 03:49:55 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: No route to host] 03:50:10 dborba [~dborba@pool-74-105-202-55.nwrknj.fios.verizon.net] has joined #lisp 03:50:50 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 03:50:53 austinh: a small example, probably completely bad, of what i'm looking for would be the 3n+1 problem 03:51:26 djinni` [~djinni`@li14-39.members.linode.com] has joined #lisp 03:51:59 caelan: Can you paste an example of how you would use your special case macro in that case? 03:52:01 (case-if (evenp (/ x 2)) (evenp (1+ (* 3 x)))) 03:52:06 whoops 03:52:11 (case-if (evenp (/ x 2)) (oddp (1+ (* 3 x)))) 03:52:49 gah, whoops again 03:52:54 (case-if x (evenp (/ x 2)) (oddp (1+ (* 3 x)))) 03:54:59 DO the list of (key . thing-to-do), applyy-function-to-key-p => do it and break out of DO 03:55:02 ? 03:55:37 if i'm understanding that correctly, yes 03:56:29 right. 03:56:35 You don't need no case-if for that ;) 03:56:55 :( 03:57:01 cl-gtk2 says to be broken on the windows. 03:57:10 and os x but that doesnt really matter :) 03:57:19 huh 03:57:21 cliki is down? 03:57:45 schmrkc: if you want to make gui stuff on windows, my impression is that serious people use lispworks capi 03:58:16 Xach: My main target is my own linux box. But I know people on windows who also want this thing. 03:58:27 lispworks's a bit pricey for hobby :) 04:00:11 caelan: I see what you mean more clearly now, but I'm doubtful that a more restricted version of cond would really be worthwhile. 04:01:00 austinh: as i believe i said, hardly worth it, but occasionally sweet syntactic sugar 04:01:29 Jubb [~ghost@129.21.86.102] has joined #lisp 04:01:51 caelan: At first, I though you were saying that you wanted something different; the ability to specify the single test function that case uses to test the keyform against the keys, and I think that's what syntard was thinking, too. 04:01:57 *thought 04:02:21 austinh: that would be cool, too, and i realized what syntard was talking about as well 04:02:26 ok. quicklisp supplies cl-gtk but not the qt bindings. The choice is now easy :) 04:02:30 Beetny [~Beetny@ppp118-208-25-78.lns20.bne1.internode.on.net] has joined #lisp 04:02:45 And that's what I used to think about case, because I was used to switch statements that could match against strings. 04:03:22 maybe EQUAL-CASE could work as a name 04:03:30 heh 04:03:35 *schmrkc* will now learn some gtk 04:05:01 schmrkc: which qt bindings? 04:05:50 goodnight 04:05:51 -!- austinh [~austinh@c-67-189-92-40.hsd1.or.comcast.net] has quit [Quit: leaving] 04:05:55 Xach: I found common-qt ( http://common-lisp.net/project/commonqt/ ) and cl-smoke ( http://tobias.rautenkranz.ch/lisp/cl-smoke/ ) 04:06:14 *Xach* will look at the latter; commonqt was hard to build 04:06:19 caelan: i looked at your examples and got scared 04:06:34 it seems to be 0.0.1 and not updated this year. 04:06:57 syntard: what, you don't like it? 04:07:18 caelan: no, just don't get it 04:08:15 syntard: here's a simpler example: (print (case-if x (evenp "even") (oddp "odd"))) 04:08:58 *schmrkc* would just do-list 04:09:42 but of course if it is a common pattern for ya.. name it somethig :) :) 04:09:48 caelan: i understand that, now... 04:10:02 yeah, need better name i think 04:10:14 -!- pmd [~user@2001:690:2100:4:200:1aff:fe19:daa8] has quit [Ping timeout: 252 seconds] 04:10:26 schmrkc: how would you avoid fall-through behavior with dolist? 04:10:59 hey what good question. 04:11:28 my sarcasm meter is broken. really? 04:11:31 I guess I'd just have some final return statement. 04:11:36 no I didn't even consider it. 04:11:46 *schmrkc* avoids those behaviours :) 04:11:56 caelan: (let ((x 5)) (case-if x (plusp "boo") (oddp "foo") (evenp "arg"))) 04:11:58 ocaml damage. 04:12:24 syntard: now you're getting it :) 04:12:41 caelan: so you want predicate ordered? 04:13:02 see what I think you people wanted at first was something like 04:13:03 hmmm 04:13:07 caelan: what if you want to make the order also parameterized? 04:13:28 syntard: the order of what? 04:13:39 where you specified the same function for everything 04:13:41 caelan: the order of tests, no? 04:14:00 schmrkc: yeah, that was my thinking 04:14:09 syntard: now it's my turn to not get it 04:14:16 I'm just considering caelan's beast now 04:14:57 caelan: just stating the obvious: plusp will execute before oddp, right? 04:15:04 syntard: yes 04:15:16 like a mapped cond or something 04:15:43 (foo #'string= x ("foo" herp-derp) ("bar" derp-herp) ...) 04:16:09 that's what I thought anyway. 04:16:23 *syntard* nods at schmrkc 04:16:56 just beware of side-effects :) 04:17:01 schmrkc: syntard: that's sort of the dual of my beast, no? 04:17:17 yup I guess. 04:17:50 -!- Jubb [~ghost@129.21.86.102] has quit [Remote host closed the connection] 04:17:52 the FOO looks more like a COND than a CASE in my book. Not that it really matters :) 04:18:03 I guess the CASE-IF too. 04:18:35 DO-BEAST 04:18:47 i've always thought (due to pythonic influence) that CASE is sort of a less general COND 04:18:56 (loop for (p f) in '((#'plusp "boo") (#'evenp "foo") ( #'oddp "baz)) when (funcall p x) (return f)) 04:19:13 or some mapping. 04:19:17 many ways to skin the beast. 04:19:30 -!- katofiad [~k2t0f12d@121.98.185.20] has quit [Ping timeout: 272 seconds] 04:19:43 caelan: I've always thought, due to being a bit of an annoying bastard, that python was a sort of less general lisp ;) 04:19:45 katofiad [~k2t0f12d@121.98.185.20] has joined #lisp 04:19:57 syntard: you're missing a :do before the return form. 04:20:05 schmrkc: alas, no more; map() and reduce() are being removed from it :( 04:20:06 and x is a free variable. 04:20:31 caelan: I thought they were being moved to some standard library ? or whatever the python parlance is :) 04:20:37 pjb: ok, thanks. It's more like a broken pseudocode 04:20:42 *schmrkc* has written like 3 LOC of python. 04:20:57 schmrkc: there was debate over whether it goes into a "functools" module or not 04:21:13 not sure what the outcome will be 04:21:26 are they used much? 04:21:34 i used them a good bit 04:21:45 maybe you need to go ruby 04:21:52 but apparently a lot of people didn't, saying they were unreadable 04:21:57 heh 04:22:12 nah, i've tried ruby 04:22:32 -!- az [~az@p5796CFCA.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 04:22:36 I can't imagine the python god deciding to make map and reduce very hard to access. 04:22:39 just doesn't jibe 04:22:47 *schmrkc* nods. 04:22:58 guido doesn't like map() and reduce() 04:22:58 Jubb [~ghost@129.21.86.102] has joined #lisp 04:23:03 oh 04:23:08 he originally wanted to remove lambda too 04:23:14 *schmrkc* isn't a big MAP fan ;) 04:23:27 weird. 04:23:59 that was one of the few posts by xah lee on cll i actually liked -- his parody of guido 04:24:16 's complaint about functional programming in python 04:24:17 pjg: i fixed and executed it, but it tells me #'plusp is not a type of function symbol 04:24:40 astoon [~astoon@213.141.244.246] has joined #lisp 04:25:16 pjb: ^ 04:27:17 that's odd. 04:27:20 -!- askatasuna [~askatasun@190.97.33.72] has quit [Quit: WeeChat 0.3.3] 04:28:15 -!- bigjust [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Remote host closed the connection] 04:29:44 az [~az@p4FE4F1DE.dip.t-dialin.net] has joined #lisp 04:29:52 -!- oconnore [~eric@ip68-225-113-244.mc.at.cox.net] has quit [] 04:29:58 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 04:30:04 http://paste.lisp.org/display/116076 04:30:06 oconnore [~eric@ip68-225-113-244.mc.at.cox.net] has joined #lisp 04:30:21 double quote? 04:31:09 oh, i'm sorry, it's that defvar x again 04:31:25 syntard: no. 04:31:35 *caelan* needs to slime up his emacs 04:31:42 (FUNCTION PLUSP) is not a function. it evaluates to one, but the ' prevents evaluation. 04:33:05 Xach: all right, so just list them without #' 04:34:08 syntard: that will work if they are globally-defined functions. 04:34:29 Xach: where's xah lee? 04:34:37 o_O 04:36:07 banisterfiend: I don't know. 04:36:49 ok 04:37:09 lisp programmers are interesting characters ;) 04:37:18 housel [~user@mccarthy.opendylan.org] has joined #lisp 04:37:35 Xach: i got it to work with backquote 04:39:05 should I use paste for these trivial things? 04:39:22 syntard: yes please. So much easier to read. 04:39:29 (for me anyway) 04:39:50 cliki is taking forever to load.. on your end is it loading? 04:39:58 tcleval: I think it is down. 04:40:33 fixed it with backquote http://paste.lisp.org/display/116077 04:40:37 cliki ist tot 04:41:16 not sure I like it 04:43:59 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 04:44:47 Good morning everyone! 04:45:09 *syntard* waves 04:45:10 -!- astoon [~astoon@213.141.244.246] has quit [Quit: Leaving] 04:46:12 superflit [~superflit@c-24-9-162-197.hsd1.co.comcast.net] has joined #lisp 04:46:16 banisterfiend: indeed we are 04:46:19 morning beach 04:47:15 banisterfiend: I'm still learning, so I'm just "interesting" 04:49:49 got it, though it's ugly 04:50:26 caelan: does it use case? 04:50:37 *syntard* slaps his knee 04:50:44 syntard: nope, cond :) 04:54:06 http://paste.lisp.org/+2HKE 04:54:29 i'm not the best programmer in the world, so i'm sure this can be improved 04:57:15 -!- rrice [~rrice@adsl-69-221-165-176.dsl.akrnoh.ameritech.net] has quit [Quit: Leaving.] 04:57:16 cool 04:59:31 hmm, it doesn't like my locally defined function 04:59:49 enupten [~neptune@117.254.153.66] has joined #lisp 05:00:14 ahh, you don't use funcall 05:00:42 syntard: no point in doing so 05:01:07 caelan: but, my locally defined function? 05:01:14 hmm 05:01:18 forgot about that 05:01:25 oh well, not too hard 05:03:02 fgump [~gauthamg@188.74.82.177] has joined #lisp 05:03:42 http://paste.lisp.org/display/116079 05:03:46 sharps [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has joined #lisp 05:05:00 -!- fgump [~gauthamg@188.74.82.177] has quit [Client Quit] 05:05:12 -!- MetalDust is now known as MetalBrains 05:05:21 hmm, looks like i'll need to break down and use FUNCTION 05:06:47 got it this time 05:08:24 http://paste.lisp.org/display/116080 05:10:03 I can see a way to break it 05:10:58 -!- enupten [~neptune@117.254.153.66] has quit [Ping timeout: 245 seconds] 05:12:19 setf x, why not? 05:12:25 well, maybe you can fix my test to show how to use locally defined functions 05:12:48 letted lambdas that is 05:13:10 schmrkc: for some reason my sbcl complains about non-let'd locals 05:14:13 and then flets, labels 05:14:28 caelan: what do you mean? 05:14:59 i get "undefined variable" warnings if i just do (setf foo bar) 05:15:09 likewise for setq 05:15:29 you mean right at the repl just like that? 05:15:35 yes 05:15:48 right. yes. That's because it is undefined. 05:15:51 it works fine, but i get a compiler warning 05:16:02 (defvar foo "bar") (setf foo "quux") will not complain 05:16:21 doesn't defvar give you a special var, though? 05:16:39 sure 05:16:46 but what is SETF supposed to set? 05:16:57 if there is no such variable around 05:17:13 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 05:18:00 i know 05:18:23 i just have this unreasonable expectation that the compiler know when i'm making local variables 05:18:59 oh 05:19:04 stop being unreasonable ;) 05:19:09 no :) 05:19:56 i do have practical reasons, though 05:19:56 (let ((y 1)) (setf r 5)) r => 5 05:20:18 which I assume is not what you want. 05:20:20 javascript works that way 05:20:42 I guess you could make a super-let 05:20:47 [def]var y = 5; 05:21:50 schmrkc: super-let ? 05:22:03 -!- Edward_ [ed@AAubervilliers-154-1-12-254.w86-212.abo.wanadoo.fr] has quit [] 05:22:32 *syntard* searches for super-let 05:22:33 right. that checks for all random SETF and SETQ you have inside and pushes that into the lexical scope 05:22:53 caelan: It is not about expectations on the compiler. It is about writing conforming code. It is usually a very bad idea to rely on the behavior of non-conforming code. 05:22:59 seems a lot of work. 05:23:06 and personally I'd get confused when reading the code 05:23:22 declaring everything at the "top" makes it easier to read. imo. 05:23:28 beach: i was under the impression that setf in a lexical scope made a local variable 05:23:32 apparently i'm wrong 05:23:46 Yes, LET makes local variables. 05:24:17 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Remote host closed the connection] 05:24:23 i know LET makes locals 05:24:28 i think schmrkc suggested setf to break your code 05:24:37 yes, that's what I did suggest. 05:24:46 i'm a schemer at heart 05:24:51 i want something like define 05:24:54 caelan: You wouldn't want setf to do so, because you would have strange bugs from simple spelling errors. You would be convinced that you set a variable, but you would actually set a different one, and nobody would complain. 05:24:56 if one of the conditions setf's the X variable 05:25:19 *schmrkc* would also get confused by the code 05:25:26 (let .... (setf foo 12) ...) 05:25:36 and I'd go search aronud for what on earth FOO was. 05:26:38 caelan: I'm curious here. What made you switch to CL if you're a schemer at heart? 05:26:51 *beach* was going to ask the same question. 05:26:54 schmrkc: it's the other way around, actually 05:27:00 i learned cl first, then scheme 05:27:04 oh ok. 05:27:07 i use both daily 05:27:18 Salamander_ [~Salamande@ppp121-45-109-41.lns20.adl6.internode.on.net] has joined #lisp 05:27:18 that sounds like a confusing daily life :) :) 05:27:39 caelan: If you think that setf creates local variables, you have a bit more learning to do. 05:28:02 jsoft [~jsoft@60.234.231.122] has joined #lisp 05:28:07 not really; i have a marginally functional knowledge of about 15 langs, and i use up to half of those of a given day 05:28:16 -!- Salamander__ [~Salamande@ppp121-45-45-1.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 05:28:36 beach: i never pretended to know a lot about cl 05:28:56 Good. 05:29:16 caelan: well, i'm hoping to see case-if work on lambdas, flets and labels 05:29:46 syntard: my second version works on lambdas at least 05:29:54 *schmrkc* makes some coconut pancakes then. 05:30:37 -!- prip [~foo@host5-194-dynamic.17-79-r.retail.telecomitalia.it] has quit [Ping timeout: 252 seconds] 05:30:45 caelan: well, i'm hoping to see a working example then, I couldn't make it work 05:30:57 i gave a link to it 05:31:04 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 05:31:09 eh? of macro or test case? 05:31:12 http://paste.lisp.org/display/116080 there 05:31:15 the macro 05:31:49 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Quit: jan247] 05:31:49 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Quit: mattrepl] 05:32:58 no, doesn't work 05:33:12 for me that is 05:34:10 huh 05:34:49 that version works for me with (case-if 3 ((lambda (x) (equal (mod x 2) 1)) 1) (oddp 2)) 05:35:29 caelan: I don't think you need that FUNCALL. 05:36:22 hm, if i'm using FUNCTION, i think you might be right 05:36:31 Edward_ [~ed@AAubervilliers-154-1-12-254.w86-212.abo.wanadoo.fr] has joined #lisp 05:36:42 nope 05:37:12 No, you don't need FUNCALL or FUNCTION 05:37:14 the FUNCALL appears necessary 05:37:25 ahh so that is what gensym is so useful for =) 05:37:50 gigamonkey: without FUNCALL or FUNCTION, using a LAMBDA as a key didn't work 05:38:13 humasect: iirc there's a good explanation of what gensym is good for in the monkey book. 05:38:39 http://paste.lisp.org/display/116080#1 05:38:47 caelan: that's for you. 05:39:27 gigamonkey: i'm still studying the wonders of LOOP 05:39:37 that only works for globally defined functions 05:39:53 defuns and stuff 05:39:54 Grahack [~chri@ACaen-156-1-66-56.w90-51.abo.wanadoo.fr] has joined #lisp 05:40:14 but that's ok, not my macro 05:40:59 syntard: again, the version i just linked to works on lambdas for me 05:41:30 and on global functions 05:41:34 caelan: not if you bind lambda in let 05:41:36 not sure about flets 05:42:05 caelan: it could be a beginning of a long macro with many special cases 05:42:39 syntard: and i haven't even made it work with keylists :) 05:43:07 syntard: another benefit of mine: works with local functions. 05:43:26 i'll try it 05:43:50 Though if you much further down this path, you'll probably want an anophoric version. 05:44:10 Is it really so bad to just write (cond ((evenp x) ...) ((oddp x) ...)) ? 05:44:27 prip [~foo@host243-124-dynamic.35-79-r.retail.telecomitalia.it] has joined #lisp 05:44:40 gigamonkey: i mainly was doing this for fun 05:44:40 However, if you insist, dynamic-case might not be a bad name. 05:44:47 bored on a saturday, etc. 05:45:22 *schmrkc* suggests WSOD for curing boredom. 05:45:31 eh 05:45:33 WSOB 05:46:24 what's once-only? 05:46:31 i was wondering too 05:46:51 where'd @rest come from? 05:46:52 *humasect* too 05:46:55 clhs once-only 05:46:55 Sorry, I couldn't find anything for once-only. 05:47:09 Salamander__ [~Salamande@ppp118-210-10-118.lns20.adl2.internode.on.net] has joined #lisp 05:47:28 (defmacro once-only ((&rest names) &body body) 05:47:28 (let ((gensyms (loop for n in names collect (gensym)))) 05:47:28 `(let (,@(loop for g in gensyms collect `(,g (gensym)))) 05:47:28 `(let (,,@(loop for g in gensyms for n in names collect ``(,,g ,,n))) 05:47:28 ,(let (,@(loop for n in names for g in gensyms collect `(,n ,g))) 05:47:31 ,@body))))) 05:47:33 ;) 05:47:59 that's not too long 05:49:13 eep 05:49:17 caelan, syntard: have you looked into Practical Common Lisp ? 05:49:27 and i thought my nested backquotes were incomprehensible :P 05:49:38 schmrkc: some places 05:49:55 schmrkc: not much time, really 05:49:56 -!- Salamander_ [~Salamande@ppp121-45-109-41.lns20.adl6.internode.on.net] has quit [Ping timeout: 240 seconds] 05:49:57 psilord [~psilord@adsl-76-204-94-189.dsl.mdsnwi.sbcglobal.net] has joined #lisp 05:50:00 ok 05:50:06 -!- psilord [~psilord@adsl-76-204-94-189.dsl.mdsnwi.sbcglobal.net] has left #lisp 05:50:13 it does explain what once-only does. 05:50:15 I guess that's the default place to look 05:50:31 *schmrkc* mostly looks in the hyperspec as default. 05:50:31 my default place for looking for stuff is cltl, then the hyperspec 05:50:54 I meant, as in switch statement, default is last 05:51:08 but if i have slime up, i use the documentation feature in it 05:51:08 schmrkc: re once-only, mine is shorter: http://github.com/gigamonkey/macro-utilities/blob/master/macro-utilities.lisp ;-) 05:51:21 *schmrkc* looks and fears he will go insane. 05:51:23 schmrkc: what 05:51:36 what's WSOB? i only saw World Series of Backgammon 05:51:36 oh 05:51:42 that wasn't bad at all. 05:51:56 caelan: Yes. it's great. world class backgammon on vimeo 05:52:05 I haven't been so excited for years. 05:52:30 Salamander_ [~Salamande@ppp118-210-154-147.lns20.adl6.internode.on.net] has joined #lisp 05:52:30 thanks all, night 05:52:46 gigamonkey: Very nice :) 05:52:47 nope, no vimeo 05:52:50 *caelan* hates flash 05:53:08 oh 05:53:13 *schmrkc* forgot caelan was unreasonable. 05:53:14 schmrkc: ;-) 05:53:16 -!- Salamander__ [~Salamande@ppp118-210-10-118.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 05:53:40 caelan: yet another version, with the benefit of anophora with out the inherent problem of anophora http://paste.lisp.org/display/116080#3 05:55:37 i'm getting too tired to parse backquotes 05:55:39 night, all 05:55:45 night 05:55:46 Oh, and you'd probably want to special case T as a default indicator. 05:55:54 Goodnight. 05:56:20 hope i haven't been too newby 05:56:33 no worries. 05:56:41 we're very newbie friendly. 05:57:11 thanks 05:57:13 -!- caelan [~caelan@65.122.170.251] has quit [Quit: Leaving] 06:00:21 Salamander__ [~Salamande@ppp121-45-56-2.lns20.adl2.internode.on.net] has joined #lisp 06:02:16 -!- Salamander_ [~Salamande@ppp118-210-154-147.lns20.adl6.internode.on.net] has quit [Ping timeout: 240 seconds] 06:02:55 -!- srolls [~user@c-76-126-221-48.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 06:07:32 -!- gigamonkey [~user@adsl-99-2-148-187.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 06:07:41 gigamonkey [~user@adsl-99-2-148-187.dsl.pltn13.sbcglobal.net] has joined #lisp 06:11:07 Fullma [~fullma@ram94-2-82-66-69-246.fbx.proxad.net] has joined #lisp 06:14:19 -!- gigamonkey [~user@adsl-99-2-148-187.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 06:14:43 -!- kvsari [~kvsari@203.171.93.21.static.rev.aanet.com.au] has quit [Quit: leaving] 06:14:50 rTypo [~rTypo@pc54.clicknet.iasi.rdsnet.ro] has joined #lisp 06:15:30 Salamander_ [~Salamande@ppp118-210-255-4.lns20.adl6.internode.on.net] has joined #lisp 06:15:43 kvsari [~kvsari@203.171.93.21.static.rev.aanet.com.au] has joined #lisp 06:17:36 -!- Salamander__ [~Salamande@ppp121-45-56-2.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 06:21:30 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 06:24:08 stassats [~stassats@wikipedia/stassats] has joined #lisp 06:27:30 Salamander__ [~Salamande@ppp118-210-163-7.lns20.adl6.internode.on.net] has joined #lisp 06:29:02 -!- Salamander_ [~Salamande@ppp118-210-255-4.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 06:30:08 -!- Edward_ [~ed@AAubervilliers-154-1-12-254.w86-212.abo.wanadoo.fr] has quit [Ping timeout: 245 seconds] 06:30:38 -!- Mn [~form@219-70-161-110.cable.dynamic.giga.net.tw] has quit [Ping timeout: 264 seconds] 06:33:56 -!- Grahack [~chri@ACaen-156-1-66-56.w90-51.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 06:34:34 Grahack [~chri@ACaen-156-1-66-56.w90-51.abo.wanadoo.fr] has joined #lisp 06:37:09 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 06:43:18 Mn [~form@219-70-161-110.cable.dynamic.giga.net.tw] has joined #lisp 06:46:23 -!- LaPingvino [~LaPingvin@187.87.224.70] has quit [Ping timeout: 245 seconds] 06:48:02 Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has joined #lisp 06:49:16 -!- xyxxyyy [~xyxu@218.82.22.43] has quit [Ping timeout: 252 seconds] 06:49:55 -!- p_l|home [~pl@hgd210.internetdsl.tpnet.pl] has quit [Ping timeout: 265 seconds] 06:50:08 xyxxyyy [~xyxu@218.82.22.43] has joined #lisp 06:58:37 -!- Jubb [~ghost@129.21.86.102] has quit [Quit: Jubb] 06:59:02 -!- lune [~claire@97.76.48.98] has quit [Ping timeout: 276 seconds] 07:01:07 lune [~claire@97.76.48.98] has joined #lisp 07:01:47 -!- rTypo [~rTypo@pc54.clicknet.iasi.rdsnet.ro] has quit [Ping timeout: 276 seconds] 07:03:55 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 07:06:03 daniel [~daniel@p5B327276.dip.t-dialin.net] has joined #lisp 07:08:02 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 255 seconds] 07:10:10 -!- daniel_ [~daniel@p5B326EA7.dip.t-dialin.net] has quit [Ping timeout: 252 seconds] 07:15:00 iNtERrUpT [~interrupt@61.43.139.4] has joined #lisp 07:16:41 -!- slyrus__ [~chatzilla@adsl-75-36-215-204.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 07:19:26 gravicappa [~gravicapp@ppp85-140-118-43.pppoe.mtu-net.ru] has joined #lisp 07:30:44 p_l|home [~pl@hgd210.internetdsl.tpnet.pl] has joined #lisp 07:39:41 -!- katofiad [~k2t0f12d@121.98.185.20] has quit [Ping timeout: 255 seconds] 07:39:59 katofiad [~k2t0f12d@121.98.185.20] has joined #lisp 07:46:52 -!- hefner [~hefner@ppp-61-90-102-107.revip.asianet.co.th] has quit [Read error: Connection reset by peer] 07:48:07 hefner [~hefner@ppp-61-90-102-107.revip.asianet.co.th] has joined #lisp 07:55:13 gemelen [~shelta@shpd-95-53-177-104.vologda.ru] has joined #lisp 07:56:17 pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has joined #lisp 08:03:18 -!- _nix00 [~Adium@58.33.111.187] has left #lisp 08:08:01 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Quit: Leaving.] 08:09:32 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 08:13:42 kushal [~kdas@fedora/kushal] has joined #lisp 08:14:58 xyxxyyy1 [~xyxu@218.82.22.43] has joined #lisp 08:16:37 -!- xyxxyyy [~xyxu@218.82.22.43] has quit [Ping timeout: 250 seconds] 08:21:15 Hm...the indentation provided by emacs is like a law of the universe, right? 08:22:38 I don't like how in a cond the condition and the commands are all indented the same. 08:25:04 ska` [~user@ppp-58-11-98-174.revip2.asianet.co.th] has joined #lisp 08:25:19 paredit~ 08:26:07 cYmen: try to adjust your likes 08:26:09 -!- ramus [~ramus@adsl-99-23-150-74.dsl.chcgil.sbcglobal.net] has quit [Ping timeout: 250 seconds] 08:27:31 -!- jsoft [~jsoft@60.234.231.122] has quit [Quit: Lost terminal] 08:28:05 ramus [~ramus@adsl-99-23-148-35.dsl.chcgil.sbcglobal.net] has joined #lisp 08:30:19 Athas [~athas@82.211.209.226] has joined #lisp 08:33:13 kk 08:35:35 i just indent 4 spaces uniformly :) 08:36:16 enupten [~neptune@117.254.153.96] has joined #lisp 08:37:00 pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has joined #lisp 08:38:15 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Client Quit] 08:43:39 nha [~prefect@2001:6f8:1c57:24:219:d2ff:fe2a:1d01] has joined #lisp 08:45:31 (:USE "EXT") -- is this ok ? 08:45:48 ok for what? 08:46:08 stassats, I mean how to import the package EXT ? 08:46:33 Kad_k_LaP [~LaPingvin@187.87.224.70] has joined #lisp 08:46:42 why do you want to? 08:46:43 -!- peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has quit [Read error: Operation timed out] 08:47:44 and yes, what you showed is right 08:47:51 stassats, http://paste.lisp.org/display/116086 08:48:05 though using a string may be suboptimal 08:48:06 stassats, trying to fix this error 08:48:29 kushal: that's not the right way to fix it 08:48:48 stassats, ok , what should I do , pasting the full file 08:48:59 that code depends on an implementation dependent package 08:49:49 stassats, ok 08:50:08 stassats, here is the file http://paste.lisp.org/display/116088 I am trying out examples from "Land of Lisp" 08:50:11 s/dependent/specific/ 08:51:07 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 08:51:15 What's slime for "comment selected region"? 08:51:21 what else should I write in that file ? 08:51:24 M-; 08:51:46 stassats: Thank you! 08:52:03 you can replace (ext:shell (concatenate 'string "dot -Tpng -O " fname)) with (sb-ext:run-program "dot" (list "-tPng" "-O" fname) :search t) 08:52:13 cYmen: and that's universal 08:52:28 kushal: that is for sbcl 08:52:29 What do you mean? 08:52:37 cYmen: it's not for slime 08:52:43 -!- Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 08:53:38 kushal: does land of lisp advice to use Clisp only? 08:54:49 stassats, the author showed how to install clisp and using it 08:54:56 it mentions that the ext:shell is a clisp-ism and you'll have to do something different in sbcl or another CL flavor 08:55:21 but also that that bit is the only clisp-specific stuff 08:55:21 stassats, he said only after chapter 12 clisp is required 08:55:28 znutar, ok 08:56:08 how hard could be to make it work on more lisps 08:56:19 -!- Grahack [~chri@ACaen-156-1-66-56.w90-51.abo.wanadoo.fr] has quit [Quit: WeeChat 0.3.2] 08:56:23 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 245 seconds] 08:56:42 -!- enupten [~neptune@117.254.153.96] has quit [Quit: quitting...] 08:56:43 it's just a matter of adding #+sbcl etc and to change ext to sb:ext etc... 08:56:54 now getting: Symbol "SHELL" not found in the SB-EXT package 08:56:58 homie: it is not 08:57:32 kushal: oh maybe I misread "chapter 7" for "chapter 7 and on" at some point 08:57:51 kushal: did you see what i said about sb-ext:run-program? 08:57:58 you of course have to substitue all occurences and uses of clisp specific stuff! 08:58:08 stassats, oh, missed that line , sorry 08:58:41 it maybe referred to shell in clisp, but in sbcl it is something else 08:58:55 loxs [~loxs@78.90.124.179] has joined #lisp 08:59:03 homie: that's very helpful of you 08:59:11 zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has joined #lisp 08:59:28 i hope that was not meant ironically! 08:59:30 lol 09:00:08 -!- iNtERrUpT [~interrupt@61.43.139.4] has quit [Remote host closed the connection] 09:00:57 iNtERrUpT [~interrupt@61.43.139.4] has joined #lisp 09:01:53 ramus_ [~ramus@99.23.136.99] has joined #lisp 09:02:23 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 09:03:03 good morning 09:06:24 -!- ramus [~ramus@adsl-99-23-148-35.dsl.chcgil.sbcglobal.net] has quit [Ping timeout: 272 seconds] 09:07:52 -!- xyxxyyy1 [~xyxu@218.82.22.43] has quit [Ping timeout: 252 seconds] 09:07:56 nikodemus, good morning 09:08:08 stassats, finally the whole code is working :) 09:08:53 Sulimo [~angel@host209-237-dynamic.20-87-r.retail.telecomitalia.it] has joined #lisp 09:09:05 hi 09:10:31 xyxxyyy [~xyxu@218.82.22.43] has joined #lisp 09:13:09 slyrus__ [~chatzilla@adsl-75-36-215-204.dsl.pltn13.sbcglobal.net] has joined #lisp 09:13:26 HET2 [~diman@91.106.90.2] has joined #lisp 09:13:56 splittist [~John@118.143.4.5] has joined #lisp 09:13:59 morning 09:16:32 rasterbar [~user@unaffiliated/rasterbar] has joined #lisp 09:18:05 enupten [~neptune@117.254.153.96] has joined #lisp 09:19:33 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #lisp 09:20:15 has anyone written anything similar to the CSS selectors for CXML? 09:21:44 delYsid` [~user@chello084115136207.3.graz.surfer.at] has joined #lisp 09:22:50 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 264 seconds] 09:24:56 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 240 seconds] 09:25:33 -!- delYsid [~user@chello084115136207.3.graz.surfer.at] has quit [Ping timeout: 245 seconds] 09:26:01 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 252 seconds] 09:26:05 -!- mulander [mulander@078088239019.lubin.vectranet.pl] has quit [Ping timeout: 276 seconds] 09:26:21 -!- kleppari [~spa@bitbucket.is] has quit [Remote host closed the connection] 09:26:23 mulander [mulander@078088239019.lubin.vectranet.pl] has joined #lisp 09:26:29 kleppari [~spa@bitbucket.is] has joined #lisp 09:27:56 pavelludiq [~quassel@87.246.61.65] has joined #lisp 09:28:38 Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has joined #lisp 09:29:03 -!- rootzlevel [~hpd@91-66-217-160-dynip.superkabel.de] has quit [Ping timeout: 265 seconds] 09:37:07 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 240 seconds] 09:38:49 morphling [~stefan@gssn-5f757188.pool.mediaWays.net] has joined #lisp 09:40:50 -!- theBlackDragon [~dragon@83.101.80.15] has quit [Ping timeout: 264 seconds] 09:41:31 -!- iNtERrUpT [~interrupt@61.43.139.4] has quit [Remote host closed the connection] 09:41:43 homie` [~user@xdsl-87-79-41-213.netcologne.de] has joined #lisp 09:41:45 wbooze` [~user@xdsl-87-79-41-213.netcologne.de] has joined #lisp 09:42:19 lichtblau [~user@port-92-195-112-216.dynamic.qsc.de] has joined #lisp 09:42:28 theBlackDragon [~dragon@83.101.63.17] has joined #lisp 09:43:18 -!- homie` [~user@xdsl-87-79-41-213.netcologne.de] has quit [Client Quit] 09:43:25 -!- wbooze` [~user@xdsl-87-79-41-213.netcologne.de] has quit [Client Quit] 09:43:29 rootzlevel [~hpd@91-66-217-160-dynip.superkabel.de] has joined #lisp 09:43:40 kleppari [~spa@bitbucket.is] has joined #lisp 09:43:55 -!- wbooze [~user@xdsl-84-44-249-110.netcologne.de] has quit [Ping timeout: 240 seconds] 09:44:09 -!- homie [~user@xdsl-84-44-249-110.netcologne.de] has quit [Ping timeout: 250 seconds] 09:44:26 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 09:47:36 homie [~user@xdsl-87-79-41-213.netcologne.de] has joined #lisp 09:48:12 wbooze [~user@xdsl-87-79-41-213.netcologne.de] has joined #lisp 09:52:22 adu [~ajr@64.134.100.32] has joined #lisp 09:52:49 -!- The_Fellow [~spider1@glida.mooo.com] has quit [Ping timeout: 250 seconds] 09:55:59 Yuuhi [benni@p54839E83.dip.t-dialin.net] has joined #lisp 09:59:43 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 10:10:35 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 10:16:52 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 10:16:52 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 10:16:52 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 10:24:36 ramus [~ramus@99.23.139.202] has joined #lisp 10:25:45 -!- ramus_ [~ramus@99.23.136.99] has quit [Ping timeout: 250 seconds] 10:26:27 -!- moah [~gnu@188.109.167.0] has quit [Quit: Leaving] 10:28:43 -!- adu [~ajr@64.134.100.32] has quit [Ping timeout: 252 seconds] 10:37:43 colbseton` [~colbseton@AClermont-Ferrand-156-1-8-223.w81-251.abo.wanadoo.fr] has joined #lisp 10:44:16 jeti [~user@p548EB6AF.dip.t-dialin.net] has joined #lisp 10:44:54 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 10:46:36 adu [~ajr@nmd.sbx11130.silvemd.wayport.net] has joined #lisp 10:48:16 -!- HET2 [~diman@91.106.90.2] has quit [Quit: This computer has gone to sleep] 10:51:44 -!- adu [~ajr@nmd.sbx11130.silvemd.wayport.net] has quit [Ping timeout: 276 seconds] 10:57:20 ziarkaen [~ziarkaen@stu225.queens.ox.ac.uk] has joined #lisp 10:57:37 adu [~ajr@64.134.40.4] has joined #lisp 10:59:12 kenanb [~user@95.14.60.39] has joined #lisp 11:00:41 The_Fellow [~spider1@glida.mooo.com] has joined #lisp 11:05:44 -!- kenanb [~user@95.14.60.39] has quit [Remote host closed the connection] 11:13:09 abeaumont [~abeaumont@90.165.165.246] has joined #lisp 11:14:20 -!- adu [~ajr@64.134.40.4] has quit [Ping timeout: 272 seconds] 11:20:17 HET2 [~diman@91.106.90.2] has joined #lisp 11:22:31 -!- jhuni [~jhuni@udp217774uds.hawaiiantel.net] has quit [Remote host closed the connection] 11:26:07 drdo [~user@98.192.108.93.rev.vodafone.pt] has joined #lisp 11:26:38 -!- jeti [~user@p548EB6AF.dip.t-dialin.net] has quit [Quit: bye] 11:27:28 -!- konr [~user@187.106.38.106] has quit [Ping timeout: 265 seconds] 11:31:40 _danb_` [~user@124-169-4-124.dyn.iinet.net.au] has joined #lisp 11:31:56 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 11:32:35 -!- _danb_ [~user@124-169-4-124.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 11:33:17 dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 11:33:19 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: No route to host] 11:33:56 -!- dto1 is now known as dto 11:35:32 -!- _danb_` is now known as _danb_ 11:36:55 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 11:40:44 dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has joined #lisp 11:41:35 -!- enupten [~neptune@117.254.153.96] has quit [Ping timeout: 240 seconds] 11:44:10 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 11:46:02 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 11:48:32 chittoor [~chittoor@117.204.52.22] has joined #lisp 11:55:05 aintme [~Miranda@142.36.221.87.dynamic.jazztel.es] has joined #lisp 11:55:27 aDuck [~aduck@bl13-129-160.dsl.telepac.pt] has joined #lisp 11:57:01 enupten [~neptune@117.254.149.66] has joined #lisp 12:04:57 cutedave [gpbtro@69.41.179.202] has joined #lisp 12:06:45 anybody here today 12:07:23 -!- cutedave [gpbtro@69.41.179.202] has quit [Client Quit] 12:09:27 oh ^_^ 12:10:05 hehe 12:19:39 emma_ [~em@unaffiliated/emma] has joined #lisp 12:20:00 -!- Davsebamse [~davse@82.103.143.161] has left #lisp 12:23:00 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #lisp 12:24:44 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 12:24:46 -!- Kad_k_LaP [~LaPingvin@187.87.224.70] has quit [Ping timeout: 252 seconds] 12:41:44 -!- pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has quit [Quit: pdo] 12:42:54 _danb_` [~user@124-149-55-13.dyn.iinet.net.au] has joined #lisp 12:43:47 -!- chittoor [~chittoor@117.204.52.22] has quit [Quit: Leaving] 12:44:27 -!- aintme [~Miranda@142.36.221.87.dynamic.jazztel.es] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 12:44:29 -!- Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 12:44:43 -!- _danb_ [~user@124-169-4-124.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 12:48:05 phrixos [~clarkema@gnu/webmaster/phrixos] has joined #lisp 12:48:07 stassats [~stassats@wikipedia/stassats] has joined #lisp 12:52:00 clerb [~admin@148.Red-79-148-241.staticIP.rima-tde.net] has joined #lisp 12:56:21 bougyman [bougyman@pdpc/supporter/gold/bougyman] has joined #lisp 12:56:29 -!- emma_ [~em@unaffiliated/emma] has quit [Quit: As a wild ass in the desert go I forth to my work] 12:57:30 emma_ [~em@unaffiliated/emma] has joined #lisp 12:58:43 does someone know the guys from cliki.net? it appears to be down, or very slow for me, i wanted to install clx through asdf-install, but apparantly cliki.net is down 12:59:36 b-man_ [~b-man@189.34.54.19] has joined #lisp 12:59:42 -!- enupten [~neptune@117.254.149.66] has quit [Quit: quitting...] 12:59:54 -!- emma [~em@unaffiliated/emma] has quit [Disconnected by services] 13:00:02 -!- emma_ is now known as emma 13:00:30 ddevaal: get on the quicklisp bangwagon 13:01:20 asdf-install sucks, and as on last month nobody has any real incentive to keep fixing it (not that anybody had such incentive before) 13:01:27 *of 13:02:25 -!- MoALTz [~no@92.10.171.11] has quit [Quit: Leaving] 13:03:57 cmm: yeah i know 13:04:36 ddevaal: yes, I do know those guys. 13:04:43 ddevaal: actually, I'm trying to fix it. 13:04:44 anyway, "cliki.net guys" would be drewc 13:05:00 cmm: right. and since a few weeks, me. 13:05:01 oh, ok, so I'm out of date :) 13:05:07 np. 13:05:20 it's not like we made a public announcement. 13:05:22 glad to be, btw :) 13:05:39 -!- morphling [~stefan@gssn-5f757188.pool.mediaWays.net] has quit [Remote host closed the connection] 13:06:20 unfortunately, I'm a little bit unfamiliar with the code base yet. 13:07:38 ehu: isn't it another one of those danb quickies that everyone criticizes but no-one actually fixes for half a decade (meanwhile doing a much better job than what was there before)? 13:07:43 I understand it's a little fearsome 13:08:14 -!- Beetny [~Beetny@ppp118-208-25-78.lns20.bne1.internode.on.net] has quit [Ping timeout: 276 seconds] 13:08:41 -!- aDuck [~aduck@bl13-129-160.dsl.telepac.pt] has left #lisp 13:09:22 -!- billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has quit [Quit: Leaving.] 13:10:58 splittist: I'm actually not sure. 13:11:21 the problem now is not that the site is down, but that it ends up in the debugger over-and-over. 13:11:44 when I fix it, it doesn't take more than 2 minutes to get back into the debugger. 13:12:18 and since araneida dispatches on unnamed functions, it's a bit hard to diagnose. 13:12:20 maybe 2 mins is enough for me to fetch clx 13:12:24 :p 13:13:28 ddevaal: it seems to answer some requests again 13:13:49 ddevaal: fetch it from darcs http://common-lisp.net/~crhodes/clx/ 13:13:58 -!- loxs [~loxs@78.90.124.179] has quit [Quit: Leaving] 13:14:04 stassats: cool, thanks 13:14:12 or as was said above, use quicklisp, or at least clbuild 13:16:04 yes i will do that 13:16:34 ddevaal: it's working now. 13:16:37 dunno how long. 13:17:07 -!- Zhuangzi [~user@unaffiliated/zhuangzi] has quit [Remote host closed the connection] 13:17:21 Zhuangzi [~user@unaffiliated/zhuangzi] has joined #lisp 13:17:24 ehu: awesome, thanks for your time. 13:20:42 Where can I find of lisp related events/conferences throughout the year? 13:20:51 find a list of* 13:23:06 -!- Salamander__ is now known as Salamander 13:23:57 -!- Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has quit [Ping timeout: 265 seconds] 13:24:28 -!- Zhuangzi [~user@unaffiliated/zhuangzi] has quit [Remote host closed the connection] 13:24:40 Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has joined #lisp 13:24:43 Zhuangzi [~user@unaffiliated/zhuangzi] has joined #lisp 13:27:31 antifuchs: what's franz's excuse this time? earthquake? 13:27:53 the lisp internet is going to hell in a handbasket 13:29:55 -!- hefner [~hefner@ppp-61-90-102-107.revip.asianet.co.th] has quit [Ping timeout: 240 seconds] 13:30:48 -!- Yuuhi [benni@p54839E83.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:31:34 Xach: heh. I can't imagine Franz taking a large chunk of that. 13:31:38 Xach: What happened with Franz? 13:31:48 *ehu* recently had to talk to Franz about their pricing 13:32:16 -!- Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has quit [Ping timeout: 240 seconds] 13:32:27 Yuuhi [benni@p54839E83.dip.t-dialin.net] has joined #lisp 13:32:31 hi 13:32:50 I'd like to use clisp for an embedded project :) 13:33:28 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 13:34:02 Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has joined #lisp 13:34:30 I was just getting an empty response from www.franz.com. Seems to be working now. 13:35:27 Xach: ehi you comment is on http://www.gigamonkeys.com/book/ 13:35:45 kingless [~kingless@adsl-162-136-191.rmo.bellsouth.net] has joined #lisp 13:35:59 MoALTz [~no@92.0.15.8] has joined #lisp 13:36:31 Sulimo: http://twitpic.com/2z3rdb 13:36:38 -!- emma [~em@unaffiliated/emma] has quit [Read error: Operation timed out] 13:37:15 Xach: lol is it a book on lisp? 13:37:19 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 13:37:44 -!- _danb_` is now known as _danb_ 13:37:58 Sulimo: it's more of a book of interviews. peter has a lispy perspective. 13:38:12 -!- _danb_ [~user@124-149-55-13.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:39:55 i read it, awesome book 13:41:03 emma [~em@unaffiliated/emma] has joined #lisp 13:43:33 -!- kingless [~kingless@adsl-162-136-191.rmo.bellsouth.net] has quit [Remote host closed the connection] 13:46:51 Bronsa [~bronsa@host16-185-dynamic.1-79-r.retail.telecomitalia.it] has joined #lisp 13:47:30 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Quit: Leaving] 13:55:29 -!- mulander [mulander@078088239019.lubin.vectranet.pl] has quit [Ping timeout: 250 seconds] 13:57:13 new-lisper [~daniel@c95334ae.virtua.com.br] has joined #lisp 14:02:25 kenanb [~user@78.174.117.132] has joined #lisp 14:02:26 -!- dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has quit [Ping timeout: 264 seconds] 14:04:05 -!- drdo [~user@98.192.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 14:04:18 ace4016 [~ace4016@adsl-32-15-21.mia.bellsouth.net] has joined #lisp 14:09:42 timack [~tim@hlfx55-2b-81.ns.sympatico.ca] has joined #lisp 14:10:43 hmh 14:10:48 I have a problem 14:10:52 (defmacro othersign (sign) 14:10:52 `(let ((other (if (equal '+ ',sign) 14:10:52 '- 14:10:52 '+))) 14:10:52 `(defun arccot,',sign nil (format t "~a" arccot,other)))) 14:11:08 mulander [mulander@078088239019.lubin.vectranet.pl] has joined #lisp 14:11:11 CL-USER> (othersign +) 14:11:11 (DEFUN ARCCOT + NIL (FORMAT T "~a" ARCCOT -)) 14:11:28 why is it generating arccot + instead of arccot+ ? 14:13:20 dabd [~dabd@a79-169-210-76.cpe.netcabo.pt] has joined #lisp 14:13:57 dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has joined #lisp 14:14:19 -!- upward [~upward@modemcable004.209-80-70.mc.videotron.ca] has quit [Ping timeout: 240 seconds] 14:14:46 -!- tcleval [~funnyguy@187.114.115.30] has quit [Ping timeout: 252 seconds] 14:17:55 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 14:18:50 -!- MoALTz [~no@92.0.15.8] has quit [Quit: Leaving] 14:19:50 because you told it so 14:19:54 Bronsa: quasiquote is a notation for list manipulation. If you want to create a symbol use INTERN and explicit string manipulation. 14:19:58 and don't paste here 14:20:01 Bronsa: because it's dealing with symbols, not strings. You want something like a (intern (format nil "~A~A" 'arcot ',sign)) in there 14:20:25 (although I don't really understand what you're trying to do) 14:20:29 hmh 14:20:29 ok 14:20:41 comma not inside a backquote? (defpsmacro _ (fun &body body) `((chain _ ,fun)) ,@body) 14:21:19 are there good ways to collect things in arrays with loop? 14:21:26 collect 14:21:43 -!- b-man_ [~b-man@189.34.54.19] has quit [Remote host closed the connection] 14:21:53 humasect: ,@body is not inside the ` 14:21:59 (loop for x from 1 to 5 for y = (* x 2) collect y) 14:22:13 fe[nl]ix: oh, oops. i see it ... thanks =) 14:22:25 fisxoj: I like to use an extendable vector, vector-push-extend, and, if necessary, coerce to a simple-array afterward. 14:22:26 (its 8am and still no sleep) 14:23:05 may i undefine a symbol with slime ? 14:23:08 fisxoj: or, if you really don't care about performance, then collect and coerce the list to a vector. 14:23:42 sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 14:23:46 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has quit [Read error: Connection reset by peer] 14:23:54 MoALTz [~no@92.0.15.8] has joined #lisp 14:24:32 skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 14:25:54 humasect: there is no such thing as "defining symbol", hence you can't undefine it 14:25:55 pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has joined #lisp 14:25:58 but you can unintern it 14:26:00 clhs unintern 14:26:00 http://www.lispworks.com/reference/HyperSpec/Body/f_uninte.htm 14:26:04 yeah that =) 14:26:09 okay thanks. 14:26:30 urandom__ [~user@p548A726D.dip.t-dialin.net] has joined #lisp 14:27:42 there are also makunbound and fmakunbound 14:28:28 the latter is bound to C-c C-u in slime 14:28:32 hm ok, because i have run into trouble with having to restart slime by having accidentally interned a symbol in the wrong package. =) 14:28:35 ohh 14:29:04 f/makunbound won't help here 14:29:34 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 14:29:36 Xach: do you know: AI: a modern approach by Russel et al? 14:29:46 hmm yeah so it seems. restarting slime. 14:29:47 minion: AIMA? 14:29:48 AIMA: AIMA is Artificial Intelligence: A Modern Approach, http://aima.cs.berkeley.edu 14:30:09 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 250 seconds] 14:30:24 humasect: UNITERN would have helped, but sometimes just doing ,restart is quicker 14:31:38 ah, the comma-preceded commands dont work for me. "comma not inside backquote", so i have been using M-x slime-cd, but i didnt think slime-restart did anything. i will try it next time 14:32:14 huh, where do you enter it? 14:32:30 in slime, at the blue/cyan asterisk =) 14:32:55 it can't possibly answer with "comma not inside backquote" 14:33:13 it should prompt you in the minibuffer 14:33:18 stassats: from the inferior lisp buffer? 14:33:35 yeah this happens from *inferior-lisp* 14:33:53 asterrisk, i took it as ">", and bad at colors 14:34:07 ^_^ 14:34:17 humasect: well, you need slime-repl contrib for that 14:34:40 ahh. will i be able to use some form of command history with that too? =) 14:34:46 sure 14:35:17 ouu 14:35:22 just put/replace (slime-setup '(slime-fancy)) in your .emacs 14:35:33 -!- jewel [~jewel@196-215-88-29.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 14:35:57 though command history should work in the inferior-lisp too, but i see now that it's broken 14:36:25 kleppari [~spa@bitbucket.is] has joined #lisp 14:37:21 ohh this is nice~ 14:39:10 sbcl question: both on cliki and a bot of my own, I see errors where output is being generated on an ascii encoded stream, even though the default output-format is UTF8 (and the output being produced seems to be UTF8). 14:39:21 does anybody see this too, or have an idea what it could be? 14:39:46 it seems to have become an issue ever since SBCL grew Unicode support and enabled it by default. 14:39:52 ohh!! with completion and paredit and all sorts of things. shame it was not slime-fancy earlier 14:40:06 ehu: it opens the stream with a different external-format? 14:40:33 stassats: well, definitely not in my bot. 14:40:49 paste backtrace? 14:40:56 hold on. 14:41:25 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 250 seconds] 14:42:16 http://paste.lisp.org/display/116093 14:43:07 kleppari [~spa@bitbucket.is] has joined #lisp 14:43:10 and what is (stream-external-format sb-sys:*stdout*)? 14:44:20 slime-fancy is *beautiful* 14:44:24 :UTF-8 14:44:43 TomJ_ [~tomj@89.241.152.194] has joined #lisp 14:45:24 ehu: is that the entire backtrace? 14:45:45 -!- TomJ- [~tomj@89.241.148.58] has quit [Ping timeout: 250 seconds] 14:45:53 stassats: well, I couldn't get more. 14:46:02 I may need to monitor the bots to get more. 14:46:07 I'll contact you when I do. 14:46:22 humasect: and more, it has many relatively obscure features 14:47:08 wvdschel_ [~wim@78-20-14-180.access.telenet.be] has joined #lisp 14:47:08 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 14:47:08 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 14:47:08 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 14:47:13 "an average lisper uses only 10% of slime capabilities" 14:48:56 ok, i seem to have fixed command history in inferior-lisp 14:49:20 *humasect* sweats 14:49:37 carlocci [~nes@93.37.207.219] has joined #lisp 14:49:50 *new-lisper* uses 1% of slime capabilities 14:49:53 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 14:49:58 hi peeps. 14:50:11 humasect: do you have a screenshot of slime-fancy? 14:50:12 *new-lisper* prefers vim 14:50:35 dto: screenshot wouldn't show you much, you need a video at least 14:50:38 oh ok. 14:50:43 i think i might be using it already. 14:50:44 i do now! 14:51:07 well it uses paredit and completion and colors and those comma commands. humasect is quite exstatic(sp) 14:51:43 :) 14:51:49 http://imgur.com/nH6Fr.png 14:51:50 s/x/c 14:51:54 thanks= 14:51:55 ) 14:51:57 :) 14:52:15 humaweb :) interesting 14:52:45 hehe. it is used for both a work project and the 4drl. =) 14:52:49 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 14:53:11 and also relates to the idea i had with you the other day but never told you about --- xiomacs for the web 14:53:41 oh interesting. 14:53:57 i wonder. 14:54:02 can you explain more :) ? 14:54:16 it looks like ericbb has shown something today with some web lisp stuff.. 14:54:27 yes =) 14:54:41 -!- boyscared [~bm3719@muze.x.rootbsd.net] has quit [Ping timeout: 255 seconds] 14:54:47 where xe2 and xiomacs would have sdl backend as well as web backend 14:55:09 splittist: i needed it because of this http://github.com/Bronsa/cl-picalc/blob/master/pi.lisp 14:55:17 -!- new-lisper [~daniel@c95334ae.virtua.com.br] has quit [Quit: leaving] 14:55:21 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 14:55:36 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 240 seconds] 14:55:45 humasect: wow,,,, do we have the tech to substitute web backend for SDL? 14:56:00 it looks like it =) except low level audio synth stuff. 14:56:06 interesting. 14:56:08 there is sockets, pixels, GL, input, and so on 14:56:23 wow. USB joysticks? 14:56:31 how does it perform? 14:56:48 hmm. with a keyboard mapper, i dont think joystick is possible with the web but i have not looked =) 14:57:07 it performs amazingly -- have a poke around at chromeexperiments.com (with any html5 browser) 14:57:44 i have been playing around for a few months now, many reasons, and just as many others are also doing 14:58:11 with the hipster web tech stuff that i used to dislke so much. =) 14:58:30 boyscared [~bm3719@muze.x.rootbsd.net] has joined #lisp 14:59:32 bigjust [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 14:59:45 -!- Bronsa [~bronsa@host16-185-dynamic.1-79-r.retail.telecomitalia.it] has quit [Quit: Lost terminal] 14:59:57 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 15:00:08 -!- benny [~benny@i577A2E92.versanet.de] has quit [Ping timeout: 265 seconds] 15:01:58 -!- Vivitron [ad4c080a@gateway/web/freenode/ip.173.76.8.10] has quit [Ping timeout: 265 seconds] 15:02:14 enupten [~neptune@117.254.154.73] has joined #lisp 15:03:06 humasect: i'll check it out :) 15:03:13 =) 15:03:15 d-c [~DC@58.30.13.11] has joined #lisp 15:05:01 krl [~krl@port-87-193-235-133.static.qsc.de] has joined #lisp 15:06:22 attila_lendvai [~attila_le@adsl-89-135-206-125.monradsl.monornet.hu] has joined #lisp 15:07:05 -!- krl [~krl@port-87-193-235-133.static.qsc.de] has quit [Read error: Connection reset by peer] 15:07:57 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 15:11:54 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #lisp 15:14:28 boscop [~boscop@f055253058.adsl.alicedsl.de] has joined #lisp 15:15:49 -!- kleppari [~spa@bitbucket.is] has quit [Read error: Operation timed out] 15:16:14 -!- gemelen [~shelta@shpd-95-53-177-104.vologda.ru] has quit [Ping timeout: 276 seconds] 15:17:20 -!- abeaumont [~abeaumont@90.165.165.246] has quit [Remote host closed the connection] 15:17:26 gemelen [~shelta@shpd-95-53-210-72.vologda.ru] has joined #lisp 15:17:38 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 245 seconds] 15:18:08 why is it possible to specify Lisp's semantics in terms of a lisp interpreter written in Lisp, doesn't Gödel's theorem apply here? 15:18:32 Madsy [~madman@ti0207a340-0394.bb.online.no] has joined #lisp 15:18:32 -!- Madsy [~madman@ti0207a340-0394.bb.online.no] has quit [Changing host] 15:18:32 Madsy [~madman@fu/coder/madsy] has joined #lisp 15:20:25 boscop: not until you try to prove something about the semantics. 15:26:12 jewel [~jewel@196-215-88-116.dynamic.isadsl.co.za] has joined #lisp 15:29:57 pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has joined #lisp 15:33:15 -!- _3b [foobar@cpe-72-179-19-4.austin.res.rr.com] has quit [Ping timeout: 240 seconds] 15:40:21 Xach: I'm reading "Pratical Common Lisp" (Siebel) :) 15:40:51 -!- syntard [~quassel@fl-74-4-76-189.dhcp.embarqhsd.net] has quit [Remote host closed the connection] 15:41:12 Sulimo: good choice 15:41:49 boscop: without proving certain semantics, you can rely on Turing-completeness 15:42:47 beware of Turing tarpit 15:43:04 syntard [~quassel@fl-74-4-76-189.dhcp.embarqhsd.net] has joined #lisp 15:43:34 Sulimo: excellent 15:44:08 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 15:44:35 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 15:44:35 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 15:44:35 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 15:45:09 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Quit: Leaving.] 15:46:18 gigamonkey [~user@adsl-99-2-148-187.dsl.pltn13.sbcglobal.net] has joined #lisp 15:47:59 Not an absolute pathname #P"~/.clc/systems/" 15:48:17 should I reinstall sbcl? 15:49:12 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 15:49:48 abeaumont [~abeaumont@90.165.165.246] has joined #lisp 15:50:06 sometimes I can't tell when you're joking, syntard. 15:50:43 -!- attila_lendvai [~attila_le@adsl-89-135-206-125.monradsl.monornet.hu] has quit [Quit: Leaving.] 15:50:45 syntard: bug in common-lisp-controller 15:50:58 fgump [~gauthamg@188.74.82.177] has joined #lisp 15:50:58 I powered off vm, now quicklisp seems corrupt 15:51:19 syntard: see the release notes of quicklisp http://www.quicklisp.org/beta/release-notes.html for that exact message and a suggested fix. 15:51:24 syntard: I don't think ~ expansion is built in. (Although not hard to (defun ~ (path) (merge-pathnames path (user-homedir-pathname))) then (foo (~ "Desktop/")) etc. [perhaps I have missed the point] 15:51:29 -!- splittist [~John@118.143.4.5] has quit [Quit: to bed] 15:51:41 yukito [~wim@unaffiliated/yukito] has joined #lisp 15:51:48 upward [~upward@modemcable004.209-80-70.mc.videotron.ca] has joined #lisp 15:51:49 ~ is going in shortly 15:51:56 -!- wvdschel_ [~wim@78-20-14-180.access.telenet.be] has quit [Read error: Connection reset by peer] 15:51:58 speaking of which, isn't it release o'clock? 15:52:06 woot! 15:52:06 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 15:52:25 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 15:53:09 Xach: I believe jsnell was travelling, hence no freeze yet (and so certainly no release) 15:54:32 -!- galdor [galdor@def92-10-88-162-192-107.fbx.proxad.net] has quit [Ping timeout: 255 seconds] 15:55:09 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 15:55:12 -!- yukito [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 15:55:17 kleppari [~spa@bitbucket.is] has joined #lisp 15:55:35 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 15:55:40 yukito [~wim@unaffiliated/yukito] has joined #lisp 15:56:22 stassats: full backtrace: http://paste.lisp.org/display/116093#1 15:56:33 oh. 15:56:35 sorry, 15:56:40 stassats: different error. sorry. 15:57:21 morphling [~stefan@gssn-5f757188.pool.mediaWays.net] has joined #lisp 15:58:35 -!- drforr [~drforr@pool-173-58-135-135.lsanca.fios.verizon.net] has quit [Ping timeout: 255 seconds] 15:59:44 galdor [~galdor@def92-10-88-162-192-107.fbx.proxad.net] has joined #lisp 16:00:35 drforr [~drforr@pool-173-58-135-135.lsanca.fios.verizon.net] has joined #lisp 16:03:32 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 16:04:48 -!- gravicappa [~gravicapp@ppp85-140-118-43.pppoe.mtu-net.ru] has quit [Ping timeout: 265 seconds] 16:06:48 -!- hugod [~hugod@bas1-montreal50-1279633486.dsl.bell.ca] has quit [Quit: hugod] 16:06:57 -!- TomJ_ [~tomj@89.241.152.194] has quit [Read error: Operation timed out] 16:09:49 ehu: but it uses ascii i/o routines as well 16:10:34 SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has joined #lisp 16:11:54 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 16:16:59 pmd [~user@2001:690:2100:4:200:1aff:fe19:daa8] has joined #lisp 16:20:34 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 16:22:49 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 250 seconds] 16:22:57 Xach: COMMON LISP: A Gentle Introduction to Symbolic Computation 16:23:41 Xach: do you know people using lisp in embedded systems? 16:27:12 NASA uses lisp on embedded systems. 16:27:24 or has. i don't know if any of their current projects involve lisp. 16:29:44 gonzojive [~red@c-24-23-182-253.hsd1.ca.comcast.net] has joined #lisp 16:32:16 -!- rasterbar [~user@unaffiliated/rasterbar] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:32:36 _6502_ [4e0cf907@gateway/web/freenode/ip.78.12.249.7] has joined #lisp 16:33:01 <_6502_> Hello. Are callable objects standard in CL ? 16:33:35 -!- tokenrove [~julian@miranda.org] has left #lisp 16:34:02 -!- kenanb [~user@78.174.117.132] has quit [Remote host closed the connection] 16:34:06 _6502_: sure. (defmethod call (object &rest args) (apply (object-function object) args)) 16:34:34 but funcallable-instances are from MOP 16:34:57 stassats: yesh, but you don't need them to get callable objects ;) 16:35:29 an EQ hash table + FUNCTION is enough really 16:35:45 if you're willing to define CALL and skip FUNCALL :) 16:36:56 <_6502_> hmm 16:38:05 <_6502_> indeed it doesn't make such a difference for a lisp-2 ... 16:38:25 sharps` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has joined #lisp 16:38:43 <_6502_> i was hoping to trade (gethash key hashtable) for (hashtable key) ... but it just doesn't make sense in CL 16:39:07 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 16:39:35 sharps`` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has joined #lisp 16:39:37 kleppari [~spa@bitbucket.is] has joined #lisp 16:41:11 -!- sharps [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has quit [Read error: Operation timed out] 16:41:33 gravicappa [~gravicapp@ppp85-140-146-11.pppoe.mtu-net.ru] has joined #lisp 16:43:28 -!- sharps` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has quit [Ping timeout: 265 seconds] 16:43:43 sharps``` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has joined #lisp 16:43:58 _6502_: (defun hashtable (value) (gethash *hashtable* value)) or (defmacro with-callable-hashtable (table) `(flet ((,table (key) 16:44:01 .... 16:44:28 heheh 16:45:41 of course, if your code calls gethash more then once so that you actually feel the need for hash table syntax... you're doing it wrong 16:46:36 <_6502_> drewc: you mean i should use symbol-macrolet ? 16:47:05 _6502_: no, i mean GETHASH should probably appear only once, inside the function that abstracts your data type : (defun get-my-foo-value (my-foo key) ....) 16:47:26 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 276 seconds] 16:47:41 you are working at the wrong level of abstraction.. there are no hash tables in a well written lisp program ;) 16:47:49 -!- sharps`` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has quit [Ping timeout: 265 seconds] 16:48:16 -!- sharps``` [~user@ip-118-90-124-109.xdsl.xnet.co.nz] has quit [Ping timeout: 240 seconds] 16:49:23 <_6502_> drewc: i've an hash table mapping players to player history (that is a record with a few fields)... so i end up writing things like (player-history-score (gethash p history)) 16:50:07 _6502_: well, like i said, you're doing it wrong 16:50:14 -!- dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has quit [Ping timeout: 265 seconds] 16:50:53 _6502_: (player-history-score (player-history player)) 16:51:18 make your code real like what it actually does, not what data type you decided to use for the implementation 16:51:51 Lisper [~Lisper@87.209.144.213] has joined #lisp 16:52:12 this way, when you realize you should have stored player history in the filesystem or a database, you haven't scattered 100's of GETHASH's around your code... define abstractions and use them! 16:52:44 fmeyer [~fmeyer@186.220.219.6] has joined #lisp 16:52:45 <_6502_> drewc: player-history accessor would need also to get an hold to the history ... 16:54:08 <_6502_> so player-history cannot be a function... 16:54:10 _6502_: (defun player-history (player &key (history *history-table*)) (get-history player history)) 16:54:25 that's what special variables are for 16:54:31 <_6502_> hmmmm 16:54:56 <_6502_> specials! ... that's the answer 16:55:54 Lis [~Lis@business-092-079-130-087.static.arcor-ip.net] has joined #lisp 16:56:45 *drewc* always knows the answer to 'why is there no syntax for hash tables or arrays' :P 16:57:33 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #lisp 16:57:43 kushal [~kdas@fedora/kushal] has joined #lisp 16:57:44 drewc: what's that? 16:58:30 do you mean syntax like c's [] or syntax like macro characters like #2a((1 2) (3 4))? 16:59:26 *sykopomp* has a handy-dandy mkhash function that accepts a plist in &rest. 16:59:32 Reader macros are overrated. 16:59:50 Edward_ [ed@AAubervilliers-154-1-12-213.w86-212.abo.wanadoo.fr] has joined #lisp 17:00:09 sykopomp: but they're there and they're useful 17:00:42 pmd: i meant syntax for accessing, not syntax for literals. 17:00:46 Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has joined #lisp 17:00:53 drewc: oh ok. i agree then 17:01:20 jhuni [~jhuni@udp217774uds.hawaiiantel.net] has joined #lisp 17:01:41 pmd: though looking through the last 7 years of lisping, i've never used an array literal outside of testing, so i don't think they'd be a big loss either 17:03:11 drewc: I can see them generated by macros or for some specific data, though 17:03:24 drewc: indeed, literal arrays and structures were never part of my code either, but some hash-tables with initial values were, and i had to (defvar *whatever* (let ((hash (make-hash-table))) #|init hash table here|# hash)) 17:03:45 p_l|home: if they are generated by macros, why bother with reader syntax? 17:03:46 -!- Lis [~Lis@business-092-079-130-087.static.arcor-ip.net] has quit [Quit: Nettalk6 - www.ntalk.de] 17:03:47 drewc: http://wry.me/misc/peval.html btw 17:03:58 Found that in my searches. 17:04:02 drewc: true, unless one plays with embedding something like SNG 17:04:14 Lis [~Lis@business-092-079-130-087.static.arcor-ip.net] has joined #lisp 17:04:16 and having it dynamically generate a PNG bitstream 17:04:21 Well, with load-time-values ... 17:04:22 sykopomp: an oldie but a goodie 17:04:30 -!- Lis [~Lis@business-092-079-130-087.static.arcor-ip.net] has quit [Client Quit] 17:04:31 indeed! 17:04:43 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Quit: Leaving.] 17:04:51 it would look much better like, say, (defvar *whatever* #h(eql :a 1 :b 2)), or more realistically, (defvar *native-to-http-encoding* #h(eql :utf-8 "UTF-8" ...)) 17:04:52 *drewc* does not know what SNG is or how it uses CL reader syntax 17:05:01 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 17:05:07 drewc: SNG is a textual representation of PNG data 17:05:20 pmd: that doesn't need to be a reader macro. 17:05:21 I figure an extreme crazy idea of using it might fit :P 17:05:32 pmd: i don't think that looks better then (defvar *foo* (hash 'eql :a 1 :b 2)) 17:05:34 -!- enupten [~neptune@117.254.154.73] has quit [Quit: quitting...] 17:05:37 pmd: (mkhash :a 1 :b 2 :c 3) <-- and that's a good ol' function. 17:05:52 true 17:05:55 pmd: in fact, i think it a signifcantly _worse_ solution 17:06:06 because i like functions, and i like explicitness 17:06:10 personally, I was recently more interested in building perfect-hashed mmap()able databases a'la CDB, preferably with serialized or unboxed lisp data 17:06:22 Am I the only one that's found dealing with readtables a complete pain? 17:06:43 *p_l|home* usually uses a macro just to wrap a function that does the actual processing 17:06:49 kleppari [~spa@bitbucket.is] has joined #lisp 17:06:49 No. They're an ancient and horrible efficiency hack. 17:06:53 sykopomp: what about named-readtables? 17:06:59 p_l|home: ok, and what does that _textual_ representation have to do with literal array syntax 17:07:10 p_l|home: Why bother? 17:07:35 drewc: ah... I apparently managed to drop the ball here. 17:07:43 *p_l|home* curses bad time management leading to insomnia 17:07:57 Zorky [~Zorky@dsl-149-100-225.hive.is] has joined #lisp 17:07:59 drewc: well, ok, i'm biased towards having a bit of syntax sugar here and there, like #p for parse-namestirng 17:08:00 -!- Zorky [~Zorky@dsl-149-100-225.hive.is] has left #lisp 17:08:24 i'm trying to solve an exercise problem: http://paste.lisp.org/display/116096 17:08:31 this is the text and my attempted solution 17:08:46 how do I put a literal ' before the result of (second l) ? 17:09:20 the macro expands to (progn (setq a b) ..) , which is obviously wrong (missing ' before b) 17:09:46 pmd: i don't mind #p, but i wouldn't miss it much if it were gone. I tend to use namestrings anyway 17:09:55 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #lisp 17:10:57 zvrba: `(foo ',bar) 17:11:36 wuhu! thanks :-) 17:11:36 -!- colbseton` [~colbseton@AClermont-Ferrand-156-1-8-223.w81-251.abo.wanadoo.fr] has quit [Read error: Connection reset by peer] 17:11:46 peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has joined #lisp 17:12:05 colbseton` [~colbseton@AClermont-Ferrand-156-1-8-223.w81-251.abo.wanadoo.fr] has joined #lisp 17:12:37 ikki [~ikki@189.247.169.55] has joined #lisp 17:16:01 should logical pathnames be translated automatically when used in merge-pathnames? 17:19:27 3o i really ceel intereswtkng 17:19:31 ah 17:19:32 haha 17:19:35 -!- fmeyer [~fmeyer@186.220.219.6] has quit [Ping timeout: 255 seconds] 17:19:36 i really feel interesting 17:19:43 -!- rdd [~user@c83-250-48-164.bredband.comhem.se] has quit [Ping timeout: 265 seconds] 17:19:44 everything is spinny and my teeth are numb 17:19:56 don't take painkillers to IRC 17:20:00 -!- colbseton` [~colbseton@AClermont-Ferrand-156-1-8-223.w81-251.abo.wanadoo.fr] has quit [Read error: Connection reset by peer] 17:20:08 oops, im sorry! wrong channel! 17:20:13 don't drink and IRC 17:20:23 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 17:20:27 colbseton` [~colbseton@AClermont-Ferrand-156-1-8-223.w81-251.abo.wanadoo.fr] has joined #lisp 17:20:41 stassats: drinking is nothing 17:20:45 painkillers kill 17:20:48 ;-) 17:20:58 kill pain? 17:22:19 stassats: no, the ones sold over-the-counter are quite stupid way to kill yourself in a rather certain way 17:22:31 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 276 seconds] 17:22:42 -!- humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has quit [Remote host closed the connection] 17:23:04 unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 17:23:39 apparently, people think that if something doesn't have giant warnings or wasn't warned about for all their life (like alcohol), they can take it every time they feel pain... 17:24:11 and unlike the prescription-only, hardcore stuff, the over-the-counter ones don't have very visible symptoms of overdose till you are critical 17:24:38 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Quit: Leaving.] 17:24:40 *_6502_* loves specials :-) 17:24:56 *p_l|home* recalls being on a max dosage of the prescription-only stuff... maaan, that was week-long high. Not something I'd like to repeat >_< 17:26:11 p_l|home: as long as you don't mix logical and true ones, it should be agnostic 17:26:12 merge-pathname, that is 17:26:35 pmd: yeah, unfortunately I wanted to mix them both. Oh well, not a big loss 17:27:13 I can define the necessary stuff in functional style :) 17:27:54 b-man_ [~b-man@189.34.54.19] has joined #lisp 17:31:00 krl [~krl@port-87-193-235-133.static.qsc.de] has joined #lisp 17:31:16 SYS is a reserved logical host in common-lisp; how do you refer to an actual machine called SYS? 17:32:07 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 17:32:43 grumps [~user@c-71-194-138-249.hsd1.il.comcast.net] has joined #lisp 17:33:45 kleppari [~spa@bitbucket.is] has joined #lisp 17:34:52 is there a way to bind both the current & next var in a sequence using iterate, ala (loop for (item . next) ... ? 17:35:01 pmd: you ask yourself where the heck did you got VaxLisp 17:35:09 askatasuna [~askatasun@190.97.33.72] has joined #lisp 17:35:52 technically windows would have the same issue but implementations seem to ignore UNC syntax. 17:36:12 -!- kleppari [~spa@bitbucket.is] has quit [Read error: Operation timed out] 17:37:03 ok, cliki seems to be working again. if anyone notices anything wierd, please ping me or email drewc at tech dot co-op 17:37:16 grumps: only for lists 17:37:36 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Ping timeout: 265 seconds] 17:38:02 <_6502_> statssats: you mean maplist and then using car/cadr ? 17:38:27 _6502_: i thought grumps was asking about iterate 17:38:54 kleppari [~spa@bitbucket.is] has joined #lisp 17:39:11 yeah - specifically regarding iterate 17:39:35 grumps: for lists, it's the same as in LOOP, but i don't see anything for sequences 17:39:51 sorry - my use of "sequence" might be misleading 17:40:04 simple list of string in this particular use case 17:40:08 clhs sequence 17:40:08 http://www.lispworks.com/reference/HyperSpec/Body/t_seq.htm 17:40:49 yes, thank you 17:41:03 for lists: (iter (for (item . next) on list) ...) 17:41:18 _3b [foobar@cpe-72-179-19-4.austin.res.rr.com] has joined #lisp 17:41:27 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 17:41:28 ah!' 17:41:31 on 17:41:50 well, you have ON in LOOP too 17:42:16 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 17:42:26 and rather (item next), for just single next element 17:42:52 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 17:43:41 stassats: just realized the boneheaded mistake - thanks 17:44:06 -!- abeaumont [~abeaumont@90.165.165.246] has quit [Remote host closed the connection] 17:44:58 You could use DO instead of LOOP. 17:45:27 or series 17:46:51 <_6502_> hmmm iterate 17:48:12 hi everyone - I have a bit of a question 17:48:52 I started going through the exercise in the practical common lisp book, know which one I'm talking about? 17:49:03 benny` [~benny@i577A1DF2.versanet.de] has joined #lisp 17:49:11 yes, the sexy one 17:49:18 of course, the one with the lisp code. 17:49:44 I didn't like having fixed fields on that 'cd database', so I did a macro that makes a function with an arbitrary number or fileds 17:50:04 ok :) 17:51:20 now it works but the little problem is that the function is going in a loop to select rows etc; I find it ugly that the variable for 'row' has to be in the function at all 17:51:59 I wanted to decouple the condition from the data it's applied to, know what I mean? 17:52:43 clerb: not entirely.. do you have a question or some example code that shows what you are trying to do? 17:52:44 p_l|home: acl parses unc's 17:52:53 titinono_ [~gaelle@ARennes-257-1-72-242.w81-53.abo.wanadoo.fr] has joined #lisp 17:52:55 -!- benny` is now known as benny 17:55:07 drewc: the macro is at http://pastebin.com/prLy0d5a 17:55:22 abeaumont [~abeaumont@90.165.165.246] has joined #lisp 17:55:28 hello 17:56:11 LiamH [~nobody@pool-141-156-214-211.washdc.east.verizon.net] has joined #lisp 17:56:12 It's used like (where :url "http://abc" :descr "blah blah" :rating 3) 17:56:25 -!- pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has quit [Ping timeout: 252 seconds] 17:56:41 I need some help about a macro function http://paste.lisp.org/+2HKY , it's the push macro-function, it works only one time, after it gives me the same result, i don't understand why it doesn't work.. thanks :-) 17:56:51 clerb: are you short on vowels? 17:57:00 Sorry, scratch that, I mean (where rsrc (:url "http://abc" :descr "blah blah" :rating 3)) 17:57:36 titinono_: because it doesn't expand to what you think it expands 17:57:49 stassats: yeah, they told me they are expensive, arent't they? 17:58:36 titinono_: try doing (macroexpand-1 '(mypush 10 list)) 17:59:01 Fade: Mars rover? 17:59:11 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Read error: Connection reset by peer] 17:59:22 pmd: does it passes Long UNC forms to WinAPI? 17:59:30 wvdschel_ [~wim@78-20-14-180.access.telenet.be] has joined #lisp 17:59:30 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 17:59:30 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 17:59:30 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 17:59:41 clerb: ok, that's a macro.. what is your question exactly? 18:00:09 p_l|home: i don't know, never tried 18:00:41 -!- yukito [~wim@unaffiliated/yukito] has quit [Ping timeout: 255 seconds] 18:01:16 drewc: I put it into a loop to select rows based on the condition. This works, but I'd like to take out tha 'rsrc' parameter, I think it should be decoupled from the conditions 18:01:39 kenanb [~user@78.174.117.132] has joined #lisp 18:02:16 thanks for your help. I have to pop the quote near the parenthese, like setq liste ('cons element liste) or something in this way ? 18:02:17 minion: what does RSRC stand for? 18:02:18 Runby Stolidity Repetitional Cate 18:02:32 pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has joined #lisp 18:02:35 clerb: that's not a question! 18:02:57 titinono_: you have to return the form you want it to expand to 18:03:03 clerb: s/I'd like to/How do I/ 18:03:12 *grumps* chuckles 18:03:27 s/.$/?/ 18:03:57 clerb: i'm not sure what you mean.. you don't want to pass the rsrc parameter to your macro? 18:04:18 -!- bigjust [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Read error: Connection reset by peer] 18:04:19 bigjust` [~user@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 18:04:21 clerb: my suggestion is to forget macros for now, and write you selector as a function 18:04:27 -!- b-man_ [~b-man@189.34.54.19] has quit [Remote host closed the connection] 18:05:22 clerb: once you have it working without needing new evaluation semantics, and if you decide you still need a macro, then you know what your macro expands to 18:05:23 drewc: exactly: I think it's ugly to have that extra parameter there, but then how will it know where are the data? 18:05:49 i don't know.. how? 18:05:57 -!- wvdschel_ [~wim@78-20-14-180.access.telenet.be] has quit [Ping timeout: 250 seconds] 18:05:57 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Ping timeout: 250 seconds] 18:07:32 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 18:07:32 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 18:07:32 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 18:07:32 wvdschel_ [~wim@78-20-14-180.access.telenet.be] has joined #lisp 18:08:07 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 18:09:05 clerb: there are a number of ways to avoid having something appear in a function lambda list, but you're passing something to a macro-expansion, which needs that value in order to expand the macro. 18:09:10 it looks like to me RSRC is inly ending up the the parameter to the lambda -- if that is so, why not jus replace it with a gensym? 18:09:18 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 18:09:46 -!- pdo [~pdo@dyn-62-56-60-2.dslaccess.co.uk] has quit [Quit: pdo] 18:10:08 yukito [~wim@unaffiliated/yukito] has joined #lisp 18:11:33 is there a tutorial about creating non-sexp DSLs in (any) Lisp? 18:12:24 loop M-. 18:13:00 it doesn't work... 18:13:03 -!- wvdschel_ [~wim@78-20-14-180.access.telenet.be] has quit [Ping timeout: 245 seconds] 18:13:12 what doesn't work? 18:13:16 pmd: Long UNC is kinda important, as it avoids the old 16bit API 18:13:18 unkanon: this is not something one really needs a specific tutorial for. If you learn lisp, you'll know how to do it. 18:13:39 unkanon: but, of course, you wont want to. 18:13:49 we _like_ sexps, especially for DSL's 18:13:53 -!- wvdschel [~wim@unaffiliated/yukito] has quit [Ping timeout: 245 seconds] 18:13:57 drewc: i don't dislike sexps 18:13:59 :) 18:14:00 and then there's LOOP. 18:14:01 wvdschel [~wim@78-20-14-180.access.telenet.be] has joined #lisp 18:14:10 i've read about loop 18:14:10 -!- wvdschel [~wim@78-20-14-180.access.telenet.be] has quit [Changing host] 18:14:10 wvdschel [~wim@unaffiliated/yukito] has joined #lisp 18:14:14 (note that external representation does not a sexp make) 18:14:23 i just wanted to see if i could write a haskell-lish language 18:14:32 how about haskell? 18:14:36 but i needed help of a tutorial 18:14:41 drewc: I get that, but if I redo it as a function I still don't see how to avoid putting rsrc in there, it's going to be needed when looping over the data... maybe it's not possible, if I want to compare something to something I'll need both things together sometime. I was trying to delay that because it's ugly the way it's now. 18:14:41 unkanon: you can use reader macros to add different kind of scoping, you can build code objects based on treating lists as a stack, etc. etc. 18:14:48 unkanon: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/syntax/haskell/0.html 18:14:54 yes i've been googling "reader macros" like crazy :) 18:15:14 clerb: you could curry out the parameter, or use a special variable. 18:15:30 what do you mean? 18:15:38 (defun where (clauses) (lambda (resource) .....)) 18:15:55 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 240 seconds] 18:15:57 drewc: that link looks cool but like, are there no preview / examples / etc 18:15:58 ? 18:16:08 unkanon: that's original haskell implementation 18:16:14 beware time-travel I/O 18:16:22 it works only one time. the form i want to return to expand is (cons 'element liste) 18:16:36 Sulimo: iirc, deepspace1 and the hubble scheduling software 18:16:40 unkanon: that is one of the first implementations of haskell, not a tutorial for newbies. 18:16:49 unkanon: use the source luke 18:16:57 p_l|home: but the page is nothing but a link to a tgz? that's weird, no examples 18:17:01 drewc: I still don't see what you mean 18:17:17 unkanon: it's an old-style code repository (release, not version control) 18:17:49 meandi [~meandi@dyndsl-178-142-059-006.ewe-ip-backbone.de] has joined #lisp 18:17:51 p_l|home: i understand, it's just that i keep hitting these old pages when looking for the stuff i'm looking for, it's frustrating 18:18:11 clerb: then i don't understand what your issue is. 18:18:27 unkanon: lisp is probably not for you then.. can i suggest clojure? 18:19:00 unkanon: CL is an old language, and it's the evolution of an even older language. If age frustrates you, then CL is not ideal. 18:19:09 If I read logs for the past N hours will I be up to speed with the status of cliki? 18:19:15 *Xach* just woke up 18:19:21 drewc: i've had immense difficulties with lisp, but not scheme 18:19:27 Sulimo: DeepSpace 1 supposedly had lisp on board, Mars rover used code generated from lisp (lisp itself didn't run on the rover, afaik, not a "full" lisp at least). Hubble Scheduler runs on the ground. There was at least one project that ran in embedded-like conditions (it was actually related to malware and bots - small VM, controlling a giant swarm of machines, capable of hiding in kernel mode) 18:19:34 Xach: "cliki should be working" is the latest 18:19:44 drewc: what does 'curry out' mean, and exactly how do you plan to use the special variable? 18:19:46 drewc: What about the "database is from november 2009" bit? 18:19:52 Xach: oh? 18:20:03 cliki works for me 18:20:09 drewc: http://cliki.net/quicklisp for example doesn't exist, but it did yesterday 18:20:27 bloody hell... that's odd 18:20:32 ehu: there? 18:20:38 -!- phrixos [~clarkema@gnu/webmaster/phrixos] has quit [Remote host closed the connection] 18:20:48 yes. 18:20:59 huh? 18:21:02 phrixos [~clarkema@bs0176.nerc-bas.ac.uk] has joined #lisp 18:21:15 kleppari [~spa@bitbucket.is] has joined #lisp 18:22:51 -!- phrixos [~clarkema@bs0176.nerc-bas.ac.uk] has quit [Changing host] 18:22:51 phrixos [~clarkema@gnu/webmaster/phrixos] has joined #lisp 18:24:33 faux` [~user@c-199f70d5.035-128-67626713.cust.bredbandsbolaget.se] has joined #lisp 18:24:45 -!- unkanon [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has left #lisp 18:28:52 -!- Joreji [~thomas@78-056.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 252 seconds] 18:29:20 -!- phrixos [~clarkema@gnu/webmaster/phrixos] has quit [Ping timeout: 276 seconds] 18:30:07 phrixos [~clarkema@194.66.0.176] has joined #lisp 18:30:19 clhs macroexpand-hook 18:30:19 Sorry, I couldn't find anything for macroexpand-hook. 18:30:30 tcleval [~funnyguy@187.114.114.186] has joined #lisp 18:30:34 clhs *macroexpand-hook* 18:30:34 http://www.lispworks.com/reference/HyperSpec/Body/v_mexp_h.htm 18:30:35 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 18:30:59 hi, can anyone show me examples of embedded DSL made in CL? 18:31:11 clhs loop 18:31:12 http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm 18:31:18 tcleval: see there 18:32:16 *stassats* in the meantime hates LOOP for not being able to do (loop for x in list while x for y = (1+ x) ...) 18:32:25 <_6502_> is it ugly to have something like (defun player-score (p) (player-score p)) where player-score is a macro defined just the line above ? 18:32:49 _6502_: it's simply impossimble 18:33:01 unless your macro is a compiler-macro 18:33:09 which isn't guaranteed to expand anyway 18:33:37 <_6502_> no... it's a regular macro (the easy way to get a setf-able place), but i need also #'player-score 18:33:55 _6502_: youre doing it wrong 18:33:55 _6502_: I think you're doing it wrong. 18:33:59 stassats: I was thinking of something that compiles to asm, C, C++ or maybe Java. Maybe it is not EDSL but DSL 18:34:20 tcleval: what's wrong with compiling into Lisp? 18:34:46 <_6502_> i have (defmacro player-score (x) `(player-history-score (gethash ,p *history*))) 18:34:58 hugod [~hugod@bas1-montreal50-1279633486.dsl.bell.ca] has joined #lisp 18:35:06 why is it a macro? 18:35:12 <_6502_> sorry... ,x 18:35:17 <_6502_> to have it setf-able 18:35:24 _6502_: (defun (setf player-score) (v p) (set-player-score v p)) 18:35:38 stop using macros until you understand what they are used for 18:35:41 stassats: nothing, I guess. But I am looking for more examples, and loop is just one :-) 18:36:07 minion: parenscript? 18:36:09 parenscript: Parenscript is a translator from a small Lispy language to JavaScript. http://www.cliki.net/parenscript 18:36:11 minion: cl-python? 18:36:12 Sorry, I couldn't find anything in the database for ``cl-python''. 18:36:18 minion: clpython? 18:36:18 Sorry, I couldn't find anything in the database for ``clpython''. 18:36:21 hey! 18:36:24 minion: yaclml 18:36:25 yaclml: Yet Another Common Lisp Markup Language is a collection common lisp library for generating XML/HTML from lisp code or templates. http://www.cliki.net/yaclml 18:36:37 that's a dsl that compiles to HTML 18:36:45 minion: postmodern? 18:36:46 postmodern: Postmodern is a library for interacting with PostgreSQL databases through SQL. http://www.cliki.net/postmodern 18:36:56 contains a DSL that compiles to SQL 18:37:14 parentscript is more like what I am looking for. thx 18:37:37 there was CLPython page at cliki, according to google cache 18:37:50 who stole it? 18:38:01 not me :-) 18:38:31 i did 18:38:38 (seriously, my fault) 18:39:47 we moved cliki to a new server yesterday, but seem to have somehow only rsync'ed the db from november 18:40:03 it's a bit of a process to fix, because we've got to convert everything to utf-8 first 18:40:09 ouf 18:40:57 cliki thinks it runs on ASCII, but everyone else was pretty sure it was latin-1, so a move to utf-8 is not exactly trivial 18:41:10 HET3 [~diman@91.105.196.61] has joined #lisp 18:41:28 *drewc* will keep this channel informed 18:41:31 drewc: speaking of yaclml, do you know if there are any plans with ucw to move add support for HTML 5 tags and attributes? 18:42:09 <_6502_> in my toy lisp implementation there is no problem in having both a macro and a function bound to the same symbol... of course the function is accessible only with symbol-function 18:42:14 _s1gma [~herpderp@77.107.164.131] has joined #lisp 18:42:29 phrixos: i have no such plans, i don't use UCW anymore except in legacy code, so it's not likely to see new features unless somebody else picks up the mantle 18:42:38 yaclml might see html5 stuff though. 18:43:17 -!- _s1gma [~herpderp@77.107.164.131] has quit [Client Quit] 18:43:29 what are you using instead of ucw drewc 18:43:38 pr: FTW. 18:43:47 drewc: Is the ftw source available somewhere btw? 18:43:58 _s1gma [~herpderp@77.107.164.131] has joined #lisp 18:44:20 -!- HET2 [~diman@91.106.90.2] has quit [Ping timeout: 255 seconds] 18:44:33 BTW is some other drewc technology? 18:44:42 drewc, k, I talked to atilla about it the other day, and he seemed to think you were the only other person who might know 18:44:55 so it's not looking like anyone is actively developing yaclml at the moment 18:45:01 phrixos: he's correct, and there's not. 18:45:22 yacml doesn't really need active development as such... it's stable and works fine. 18:45:37 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 18:45:43 i would accept definitions for html5 5 tags or course. 18:45:55 redline6561: nope, not yet 18:46:03 drewc: Cool. Thanks. 18:46:08 syntard: FTW is my new web stuff, yeah 18:47:09 would you accept patched for html5 stuff just added to html4.lisp? The filename becomes a bit of a misnomer in that case, but the alternative is adding some kind of mechanism whereby the user can chose between different html tag sets 18:47:18 s/patched/patches/ 18:47:51 and, largely, they are the same 18:47:55 i'd much prefer an html5.lisp for html5, because html4.lisp is either xml or html4. 18:47:58 phrixos: Why not add a new file? 18:48:24 ok, i'll have more of a rummage around in the source 18:48:32 they can share the package named "<" 18:48:43 -!- MoALTz [~no@92.0.15.8] has quit [Ping timeout: 240 seconds] 18:48:46 as long as there are no forms that are incompatible with xhtml/html4 18:48:56 p_l|home: small VM? 18:49:12 drewc: is there a way to output conditional comments in YACLML? 18:49:20 it should just be a case of adding some new elements and templates 18:49:22 Kad_k_LaP [~LaPingvin@187.87.233.11] has joined #lisp 18:49:48 of course, some of the html 4 stuff is invalid in 5, so in that case it would still allow you to output invalid html5 if you wanted to 18:49:53 -!- Kad_k_LaP [~LaPingvin@187.87.233.11] has left #lisp 18:49:54 Sulimo: doable for limited devices, though nowadays you can easily grab quite powerful ones. Another issue is GC and how big pauses it causes 18:50:05 p_l|home: (format *yaclml-stream* "