00:04:13 -!- jao [n=jao@187.Red-83-50-68.dynamicIP.rima-tde.net] has quit [Connection timed out]
00:04:15 serichse1 [n=harleqin@xdsl-81-173-146-41.netcologne.de] has joined #lisp
00:09:17 How can I code a prompt that will return the first two alpha-numeric characters entered (without waiting for a )? Let'n say the first two characters entered are aa; the prompt should return 'aa .
00:10:07 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit [Read error: 113 (No route to host)]
00:10:27 -!- morganb [n=user@ip24-136-41-126.ga.at.cox.net] has quit [Read error: 60 (Operation timed out)]
00:11:03 lat_: what implementation?
00:11:42 Xach, sbcl
00:12:14 lat_: when i wanted to do that, i did some foreign function stuff to change the input mode of the terminal to raw.
00:12:38 i don't know if there is an easier way, though, sorry. clisp has some builtin stuff called EXT:WITH-KEYBOARD iirc
00:14:05 and it wouldn't work with slime, for example
00:14:15 mdavid [n=mdavid@ita4fw1.itasoftware.com] has joined #lisp
00:14:17 right
00:14:26 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit []
00:14:32 -!- bdowning [n=bdowning@mnementh.lavos.net] has quit [Read error: 60 (Operation timed out)]
00:14:41 so it's more interface specific
00:16:07 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp
00:16:52 fvw [n=sdfpme@59.39.243.127] has joined #lisp
00:19:08 Xach, and stassats` , I'm trying to make a menu to use with the stumpwm. I will hit C-M-m to bring up the menu, then hit 2 characters to launch a program using the execv function stassats` made for me.
00:19:29 bdowning [n=bdowning@mnementh.lavos.net] has joined #lisp
00:20:06 -!- serichsen [n=harleqin@xdsl-81-173-157-99.netcologne.de] has quit [Read error: 110 (Connection timed out)]
00:21:02 ManateeLazyCat [n=user@113.77.50.61] has joined #lisp
00:22:34 menu for starting programs? why do you need execv only (without fork)?
00:22:39 Hmm, anybody remember what John Fremlin's nickname is?
00:22:48 Thanks again for that function, stassats`
00:23:22 luis: cmell
00:24:57 I came across his TPD2 presentation on youtube and he claims what SBCL doesn't expand compiler macros recursively. Not sure what he means.
00:25:12 luis pasted "seems to work" at http://paste.lisp.org/display/83890
00:25:25 Anybody know what he's talking about?
00:26:06 stassats`, I want the menu to immediately exit from memory leaving the program it launched running. If the menu stays in memory it clutters up stumpmw with a useless window.
00:27:13 -!- Kickaha [n=jadawin@240.137.54.77.rev.vodafone.pt] has quit ["leaving"]
00:27:21 lat_: so you implement menu as an external program relative to stumpwm?
00:27:33 why not implement it by means of stumpwm?
00:28:59 -!- dys [n=andreas@krlh-5f72ff67.pool.einsundeins.de] has quit [Connection timed out]
00:29:50 stassats`, if I do that won't it kill stumpwm once it launches a program?
00:30:11 -!- jlf` [n=user@unaffiliated/jlf] has quit [Read error: 110 (Connection timed out)]
00:30:41 well, in that case, use RUN-PROGRAM, which uses fork+execv under the hood
00:30:50 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)]
00:31:06 http://www.sbcl.org/manual/Running-external-programs.html
00:31:37 -!- mdavid [n=mdavid@ita4fw1.itasoftware.com] has quit ["Leaving"]
00:38:15 stassats`, will run-program exit immediately after launching a program? or does it wait for the launched program to finish?
00:38:34 yes!
00:38:38 there is :wait option
00:39:26 OK, great!
00:40:18 Now, what about my prompt question;
00:40:47 is there an easy way to make such a prompt?
00:43:48 -!- meingbg [n=user@173-45-238-108.slicehost.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"]
00:43:49 bighouse [n=bighouse@modemcable239.238-202-24.mc.videotron.ca] has joined #lisp
00:44:43 -!- mrsolo [n=mrsolo@nat/yahoo/x-8b0784766d40773d] has quit ["Leaving"]
00:45:28 -!- tic [n=tic@c83-249-194-117.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)]
00:45:39 tic [n=tic@c83-249-194-117.bredband.comhem.se] has joined #lisp
00:47:10 -!- faux [n=user@1-1-4-21a.gkp.gbg.bostream.se] has quit [Remote closed the connection]
00:47:40 meingbg [n=user@173-45-238-108.slicehost.net] has joined #lisp
00:48:33 -!- photon is now known as Guest82724
00:49:09 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp
00:50:28 photon [n=photon@unaffiliated/photon] has joined #lisp
00:51:41 When resolving symbol conflicts during use-package, slime does not seem to catch the menu - it shows up in the lisp terminal instead.
00:51:44 -!- tic [n=tic@c83-249-194-117.bredband.comhem.se] has quit [Remote closed the connection]
00:51:47 tic [n=tic@c83-249-194-117.bredband.comhem.se] has joined #lisp
00:51:47 -!- jyujin [n=jyujin@d221-88-81.commercial.cgocable.net] has quit [Read error: 60 (Operation timed out)]
00:51:58 jyujin [n=jyujin@d221-88-81.commercial.cgocable.net] has joined #lisp
00:52:11 meingbg: i wish slime was aware of it. that would be cool!
00:52:26 -!- Soulman [n=kvirc@154.80-202-254.nextgentel.com] has quit [Read error: 110 (Connection timed out)]
00:52:29 Xach: What do you mean?
00:52:47 You wish it would catch that meu?
00:53:17 *menu
00:53:41 The prompt is the only thing holding me back. Xach , do you have some sample code you would be willing to share?
00:53:42 i believe someone had a slime contrib for dealing with package conflicts
00:54:02 syamajala [n=syamajal@97-95-190-124.dhcp.oxfr.ma.charter.com] has joined #lisp
00:54:05 meingbg: yes. that is the implementation's handler, not slime's.
00:54:22 stassats`: it's been a wishlist of mine for a while. i thought someone (antifuchs?) looked at it once.
00:54:26 lat_: no.
00:55:22 Oh, so the prompts that actually show up in slime are errors thrown that can be catched or something, a standard CL thing?
00:55:47 meingbg: yes.
00:57:55 -!- tic [n=tic@c83-249-194-117.bredband.comhem.se] has quit [Remote closed the connection]
00:58:12 tic [n=tic@c83-249-194-117.bredband.comhem.se] has joined #lisp
00:58:58 Maybe this wishlist item can be implemented on the SBCL side instead of the SLIME side? By implementing the conflict resolver as a continuable error, perhaps? Maybe it could be an option *package-resolver-as-continuable-error* that is set to t by the swank loader?
01:00:44 Xach: http://common-lisp.net/pipermail/slime-devel/2008-August/015283.html
01:01:48 dnm_ [n=dnm@c-68-49-47-248.hsd1.va.comcast.net] has joined #lisp
01:04:27 stassats`: thanks
01:04:34 good old michaelw
01:04:38 -!- Guest82724 [n=photon@unaffiliated/photon] has quit [Connection timed out]
01:06:06 luis: The only scenario that comes to mind that fits "not expanding compiler macros recursively" is the possibility of a compiler-macro expanding to a slightly different call to the same function. I could see that not causing the macro to re-trigger. The obvious workaround if that is indeed the case is to expand to a progn with only one form in the body.
01:06:58 tic_ [n=tic@c83-249-194-117.bredband.comhem.se] has joined #lisp
01:06:58 -!- tic [n=tic@c83-249-194-117.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)]
01:07:07 -!- kmels is now known as kmels-cena
01:07:27 -!- saikat_ [n=saikat@adsl-99-50-122-218.dsl.pltn13.sbcglobal.net] has quit []
01:07:56 *nyef* heads off to bed.
01:10:23 krumholt_: is that excercise you mentioned from a book or a class? I've seen a few people asking for help with it, and i've never come across the need to do so in all my years of programming, so i've curious :)
01:11:01 -!- kleppari [n=spa@bitbucket.is] has quit [Read error: 54 (Connection reset by peer)]
01:11:07 drewc: you've curious, I have george
01:11:08 stassats`: so it seems my suggestion was possible... since already implemented.
01:11:26 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"]
01:11:46 i've _become_ curious :)
01:14:37 kleppari [n=spa@bitbucket.is] has joined #lisp
01:14:39 drewc: it's one of the l99 problems
01:14:58 Ralith: project euler?
01:15:19 no
01:15:21 l99
01:15:47 minion, chant
01:15:47 MORE PROBLEMS
01:15:52 Ralith: ah, I saw 199, not l99.
01:16:21 you need a better font
01:16:31 *hefner* doesn't understand how folks can have so little of interest to hack on that they go looking for silly programming problems
01:17:09 hefner: I'm sure you can come up with interesting projects for such people
01:17:32 saikat_ [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has joined #lisp
01:18:20 probably not.
01:18:40 drewc, neither it's something i actually need for a project
01:19:12 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [Remote closed the connection]
01:19:15 *Fare* waits as ASDF-DEPENDENCY-GROVEL goes through 276003 lines of code...
01:21:07 ... scary
01:21:16 -!- saikat_ [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has quit [Remote closed the connection]
01:21:16 QinGW [n=wangqing@203.86.81.2] has joined #lisp
01:21:29 saikat_ [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has joined #lisp
01:22:27 Adamant [n=Adamant@66.213.192.210] has joined #lisp
01:23:28 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Read error: 113 (No route to host)]
01:23:30 -!- tic_ [n=tic@c83-249-194-117.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)]
01:24:15 -!- kmels-cena is now known as kmels
01:24:34 gko [n=Keca@211.21.137.140] has joined #lisp
01:24:34 tic [n=tic@c83-249-194-117.bredband.comhem.se] has joined #lisp
01:25:28 big thanks to antifuchs, and to msteele
01:35:13 krumholt_: just what are you doing in this project?
01:36:26 Ralith, it's a lexer. The result is somewhat like (symbol symbol string string symbol) and i wan to know how many symbols in a row and how many strings etc
01:36:58 cool
01:37:21 rtoym [n=chatzill@user-0c8hpll.cable.mindspring.com] has joined #lisp
01:37:54 krum: That might fit nicely with reduce, btw.
01:38:44 krumholt__ [n=krumholt@port-92-193-49-64.dynamic.qsc.de] has joined #lisp
01:38:49 -!- krumholt_ [n=krumholt@port-92-193-123-83.dynamic.qsc.de] has quit [Read error: 60 (Operation timed out)]
01:42:00 ugh, EQUAL compares numbers with EQL?
01:42:18 I've never noticed that part, and it sounds rather stupid
01:42:21 would you prefer to conpare numbers a different way?
01:42:25 yes, with =
01:42:36 ah.
01:42:53 performance-sensitive code?
01:43:07 Ralith: eql will likely be faster than =.
01:43:14 if I go all the way to compare things structurally, failing to consider equal values of different numeric types as equal is dumb
01:43:16 mathrick: if we're ignoring type information, we might also consider all sequence types equivalent.
01:43:56 ajhager_ [n=ajhager@c-98-223-251-77.hsd1.in.comcast.net] has joined #lisp
01:44:19 mathrick: treating 1 and 1.0 as equal is not what you want in many algorithms
01:44:23 pkhuong: uh, equal already compares structures. Numbers don't have any structure, so insisting on having them artificially unequal because of types is terribly counter-intuitive
01:44:31 it makes a lot of sense to me
01:45:02 then why isn't there a predicate that compares with = and doesn't munge character cases at the same time?
01:45:23 mathrick: because the set of equality class definitions is uncountable.
01:46:01 you're welcome to write one!
01:46:16 pkhuong: that doesn't make them equal
01:47:00 no, it makes exhaustive enumeration obviously impractical.
01:48:28 obviously, but there are certain things that are more sensible/useful than others. Considering similiar lists, but not similar numbers equal strikes me as neither
01:48:54 so does adding case-munging to the version that doesn't show this behaviour
01:48:57 it's a matter of opinion
01:49:03 go write your own equality predicate and be happy :P
01:49:29 Ralith: I wonder what kind of perf hit that will be
01:49:34 the standard is not supposed to cover every possible need; this is Lisp. The standard offers convenience functions such that you might have an easier time fulfilling your needs on your own.
01:49:52 mathrick: insignificant, I'm sure, especially if you optimize it correctly.
01:50:01 premature optimization is the greatest of sins, etc.
01:52:03 mathrick: Why do you say that numbers don't have any structure?
01:52:37 pkhuong: do the SSE3 instructions help with complex float implementation?
01:52:48 -!- kgn [n=kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit ["Ex-Chat"]
01:52:49 Zhivago: because they don't. They don't have parts which would make them up
01:53:09 mathrick: That's obviously nonsense. Things have whatever structure that you destructure them with.
01:53:20 mathrick: What is the structure of a complex number?
01:53:25 Zhivago: please show subparts of 4
01:53:47 mathrick: real:4, imaginary:0
01:54:06 mathrick: integer:4, fractional:0
01:54:08 why aren't you destructuring them as quaternions?
01:54:22 mathrick: Because I don't feel like it -- but go ahead.
01:54:36 mathrick, feel free to write your own equality predicate
01:54:37 -!- ajhager [n=ajhager@c-98-223-251-77.hsd1.in.comcast.net] has quit [Read error: 110 (Connection timed out)]
01:54:41 -!- Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has quit ["Leaving"]
01:54:48 mathrick: This is one of the basic lessons that lisp should have taught you -- structure is all about how you access things.
01:54:53 slava: they would for multiplication.
01:54:53 Zhivago: but that's exactly what I said. Numbers have values, not parts, and their values can be compared for equality in meaningful ways
01:55:12 mathrick: Values have parts.
01:55:12 ADDSUB is clearly meant for complex mult.
01:55:56 -!- erg [n=erg@li13-154.members.linode.com] has quit [Read error: 60 (Operation timed out)]
01:56:22 mathrick: dually, and sequences only have parts. The rest are just an implementation details that affect performance.
01:56:36 mathrick: Yes, and you can write predicates which compare for the meaningful ways that you're interested in today.
01:57:02 mathrick: Complaining that the ways people did it yesterday aren't those is just silly.
01:57:22 mathrick: You might as well complain that you're not comparing it in the traditional ways.
01:58:38 Zhivago: well, if numbers have parts, then you should compare them structurally just like you do with lists in EQUAL. 4 decomposes to 4:0, so does 4.0. Clearly their structure is similar (in the spec sense)
01:58:48 matherick: Nonsense.
01:59:20 Adlai` [n=user@adsl-69-228-190-230.dsl.snfc21.pacbell.net] has joined #lisp
01:59:28 matherick: You've ignored the code-char part of 4 -- that's not the same as the code-char part of 4.0
01:59:43 Zhivago: deliberately distorting my nickname is just childish, do you expect me to start calling you names now or something?
01:59:47 matherick: They're clearly structurally different :)
02:00:08 mathrick: Well, I didn't ask you to pick a stupid name. Stop getting upset about typos.
02:02:31 erg [n=erg@li13-154.members.linode.com] has joined #lisp
02:03:47 manuel_ [n=manuel@HSI-KBW-091-089-172-094.hsi2.kabel-badenwuerttemberg.de] has joined #lisp
02:07:21 -!- fvw [n=sdfpme@59.39.243.127] has quit [Remote closed the connection]
02:07:38 -!- erg [n=erg@li13-154.members.linode.com] has quit [Remote closed the connection]
02:08:11 wakeup [n=wakeup@koln-5d81711a.pool.einsundeins.de] has joined #lisp
02:08:15 ianmcorvidae|alt [n=ianmcorv@fsf/member/ianmcorvidae] has joined #lisp
02:08:42 erg [n=erg@li13-154.members.linode.com] has joined #lisp
02:09:55 -!- dreish_ [n=dreish@minus.dreish.org] has quit []
02:11:59 -!- blackened` [n=blackene@89.102.28.224] has quit []
02:13:43 gigamonkey [n=user@adsl-99-184-205-111.dsl.pltn13.sbcglobal.net] has joined #lisp
02:14:33 -!- lat_ [n=lat@125.167.140.159] has quit [Operation timed out]
02:16:55 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"]
02:20:31 -!- ManateeLazyCat [n=user@113.77.50.61] has quit [Remote closed the connection]
02:21:32 -!- syamajala [n=syamajal@97-95-190-124.dhcp.oxfr.ma.charter.com] has quit [Read error: 104 (Connection reset by peer)]
02:21:54 -!- hefner [n=hefner@c-69-140-128-97.hsd1.md.comcast.net] has quit [Remote closed the connection]
02:22:06 ManateeLazyCat [n=user@113.77.50.61] has joined #lisp
02:23:00 hefner [n=hefner@c-69-140-128-97.hsd1.md.comcast.net] has joined #lisp
02:24:06 -!- wakeup_vanuber [n=wakeup@koln-4db43a39.pool.einsundeins.de] has quit [Read error: 113 (No route to host)]
02:24:32 -!- ianmcorvidae [n=ianmcorv@fsf/member/ianmcorvidae] has quit [Nick collision from services.]
02:24:36 -!- ianmcorvidae|alt is now known as ianmcorvidae
02:27:25 -!- lat [n=lat@125.167.140.159] has quit [Read error: 110 (Connection timed out)]
02:27:38 lat_ [n=lat@125.167.140.159] has joined #lisp
02:28:05 lat [n=lat@125.167.140.159] has joined #lisp
02:32:10 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"]
02:32:37 -!- ajhager_ is now known as ajhager
02:37:31 nerdshark [n=dorkfish@74-131-32-72.dhcp.insightbb.com] has joined #lisp
02:39:19 -!- konr [n=konrad@189.96.93.228] has quit [Read error: 110 (Connection timed out)]
02:40:32 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit []
02:42:44 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."]
02:42:48 -!- ManateeLazyCat [n=user@113.77.50.61] has quit [Read error: 104 (Connection reset by peer)]
02:47:26 -!- legumbre_ is now known as legumbre
02:51:26 fvw [n=sdfpme@59.39.243.127] has joined #lisp
02:51:56 ManateeLazyCat [n=user@113.77.50.61] has joined #lisp
02:54:04 -!- gigamonkey [n=user@adsl-99-184-205-111.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)]
02:55:38 hawkbill [n=pradyus@nat/yahoo/x-ecda8930098ec53d] has joined #lisp
02:55:38 konr [n=konrad@189.96.68.133] has joined #lisp
02:58:10 WarWeasle [n=brad@98.220.168.14] has joined #lisp
02:59:47 -!- yango [n=yango@unaffiliated/yango] has quit [Remote closed the connection]
03:00:04 yango [n=yango@unaffiliated/yango] has joined #lisp
03:01:07 Hello, I want to call a *long* set of commands. Then I want to see if I defined a function, if so call the function, if not just return what the commands gave me. I don't want to duplicate the commands or make a new function. I know there must be a way. Any ideas?
03:02:26 Also a (funcall (if (exists func) func quote) seems bad for some reason.
03:05:34 Oh well, I'll just use a variable...
03:06:19 -!- xristos [n=x@dns.suspicious.org] has quit [Read error: 54 (Connection reset by peer)]
03:07:32 WarWeasle: you could use prog1 and return-from, but it'd be simpler to just use a variable.
03:08:56 Ralith: Thanks. I was thinking there had to be a "Lisp Way"
03:09:11 Ralith: Something I hadn't figured out yet.
03:10:08 jlf` [n=user@netblock-208-127-247-82.dslextreme.com] has joined #lisp
03:11:12 -!- bighouse [n=bighouse@modemcable239.238-202-24.mc.videotron.ca] has left #lisp
03:13:22 What seems bad about using if like that?
03:14:06 Apart from you probably wanting #'identity rather than quote
03:14:09 Zhivago: It doesn't seems to flow like the rest of lisp does. But I could "write a macro"(TM)
03:15:25 Zhivago: I didn't even know about identity. I like that
03:16:10 Zhivago: Anyway, I assumed I missed something clever.
03:17:58 -!- manuel_ [n=manuel@HSI-KBW-091-089-172-094.hsi2.kabel-badenwuerttemberg.de] has quit []
03:18:48 I don't see why you'd need a macro -- wouldn't a function be sufficient?
03:19:12 ManateeL` [n=user@113.77.29.199] has joined #lisp
03:19:50 Zhivago: The macro would be a wrapper around (funcall (if exists func #'identity) &rest ...)
03:20:39 konr1 [n=konrad@189.0.4.217] has joined #lisp
03:20:39 Or you could just write a function like (maybe func)
03:21:15 Zhivago: Oh yeah. At run time. That makes more sense.
03:21:23 tes1236 [i=cea9e224@gateway/web/freenode/x-12d3bde2d3bca6b9] has joined #lisp
03:25:49 -!- saikat_ [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has quit []
03:26:02 Or (if exists (funcall fn args) args), if I'm understanding the question.
03:27:10 -!- tes1236 [i=cea9e224@gateway/web/freenode/x-12d3bde2d3bca6b9] has left #lisp
03:30:47 -!- rpg [n=rpg@216.243.156.16.real-time.com] has quit []
03:34:16 dwh [n=dwh@eth2.vic.adsl.internode.on.net] has joined #lisp
03:35:23 -!- ManateeLazyCat [n=user@113.77.50.61] has quit [Success]
03:35:23 -!- konr [n=konrad@189.96.68.133] has quit [Connection timed out]
03:36:49 -!- konr1 is now known as konr
03:37:29 pinterface: That's what I'm doing. I just didn't want to use a variable.
03:38:48 WarWeasle: Ah. I assumed your data was already in a variable.
03:40:11 pinterface: (setf me (NOT (super (lisp (programmer (133t))))))
03:41:01 WarWeasle: using a macro would be the simplest way to not appear to use a variable.
03:41:14 the fact that it actually does use a variable when compiled shouldn't matter.
03:41:21 krumholt_ [n=krumholt@port-92-193-113-36.dynamic.qsc.de] has joined #lisp
03:41:53 Ralith: I'm just using a variable now. I can write the macro later if I use the idea a lot.
03:42:13 that's best, of course.
03:42:36 -!- ManateeL` [n=user@113.77.29.199] has quit [Read error: 54 (Connection reset by peer)]
03:43:05 danlei` [n=user@pD9E2C2BD.dip.t-dialin.net] has joined #lisp
03:43:15 ManateeLazyCat [n=user@113.77.29.199] has joined #lisp
03:43:19 *sykopomp* wonders what's wrong with making a macro that auto-quotes its argument, and does an (fdefinition 'arg) lookup.
03:43:38 mrsolo [n=mrsolo@adsl-68-126-177-41.dsl.pltn13.pacbell.net] has joined #lisp
03:43:43 -!- krumholt_ [n=krumholt@port-92-193-113-36.dynamic.qsc.de] has quit [Remote closed the connection]
03:44:01 actually
03:44:03 although if you wouldn't feel offended by just doing (lookup-command 'name) instead of (lookup-command name), a macro isn't really necessary.
03:44:03 WarWeasle: why not
03:44:11 or maybe I misunderstand the problem here?
03:44:29 WarWeasle: (funcall (or #'yourfunc #'identity) args)?
03:44:44 oh, wait
03:44:50 #'undefined is an error
03:44:51 damn
03:45:04 could handler-case it to nil but that's just getting silly
03:45:13 ignore-errors? :P
03:45:15 Ralith: that's why you wrap (fdefinition foo) in HANDLER-CASE
03:45:32 I'll take the 70% solution. It may not be lispy but it works.
03:45:36 Ralith: that's not really silly, if what he wants to do is look up whether a function exists, or not, right?
03:45:55 sykopomp: it's silly to go to that amount of effort to not use let.
03:46:24 I guess I'm not quite clear on what the problem is.
03:46:32 from reading the backlog, it's confusing.
03:46:50 I'll put $2 down and bet that macros and variables are most likely not the solution, though.
03:47:48 I'm not sure of the details but the gist I got was that he wanted to avoid using a variable in code that normally would require one
03:48:37 he should use the Y combinator, if variables offend him.
03:48:39 ;)
03:49:02 Ralith: Yeah. I'm just OMG....the Y combinator...It's way to late to learn about those.
03:49:09 the what
03:49:37 hydrapheetz: fixed-point combinator. Recursion for anonymous functions, basically. It's a joke :)
03:49:43 Oh
03:50:16 WarWeasle: why do you find 'variables' offensive?
03:50:19 sykopomp: how does the Y combinator help you eliminate variables?
03:50:19 did they bully you or something?
03:50:35 slava: by not having to do labels!
03:50:46 waste of namespace, you know.
03:50:49 I was attacked by variables in C and Visual Basic. And Perl. It was scary.
03:51:26 WarWeasle: I'm mostly just unclear on exactly what you're trying to achieve. Maybe take a step back and explain the problem itself, instead of the solutions you've tried?
03:51:26 sykopomp: seems like the Y combiantor replaces a function reference with a variable reference essentially
03:52:02 I have a list of functions that act as transforms. If they exist I want to apply them in order.
03:52:32 slava: right.
03:52:42 slava: bad example, then? :(
03:53:02 lol
03:53:15 WarWeasle: okay. You have functions in a list. How are you expecting to find those functions? What's your ideal interface?
03:54:28 sykopomp: A class with a list of named event-handlers and then a pre-handler, a post hander and a default handler.
03:55:07 WarWeasle: sounds like you're reimplementing CLOS methods.
03:55:09 you mean, :before, :after, and primary methods?
03:55:23 Ralith: he might have been referring to them...
03:55:36 coffeemug [n=coffeemu@c-69-181-142-8.hsd1.ca.comcast.net] has joined #lisp
03:55:50 sykopomp: doesn't sound like it to me.
03:56:08 :(
03:56:13 saikat_ [n=saikat@c-98-210-13-214.hsd1.ca.comcast.net] has joined #lisp
03:56:16 -!- dwh [n=dwh@eth2.vic.adsl.internode.on.net] has left #lisp
03:56:18 I need to add and remove handler functions on the fly.
03:56:32 dwh [n=dwh@eth2.vic.adsl.internode.on.net] has joined #lisp
03:56:47 -!- dwh [n=dwh@eth2.vic.adsl.internode.on.net] has left #lisp
03:56:59 dwh [n=dwh@eth2.vic.adsl.internode.on.net] has joined #lisp
03:57:31 Anyway. It's bed time and wife is glaring at me.
03:58:13 -!- ManateeLazyCat [n=user@113.77.29.199] has quit [Read error: 54 (Connection reset by peer)]
03:58:21 I'll look at the CLOS closer, but it seems like it would be harder.
03:58:23 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [Read error: 60 (Operation timed out)]
03:58:25 -!- krumholt__ [n=krumholt@port-92-193-49-64.dynamic.qsc.de] has quit [Read error: 110 (Connection timed out)]
03:58:37 -!- WarWeasle [n=brad@98.220.168.14] has quit [Remote closed the connection]
03:58:48 Ralith: sounds like he needs sheeple, amirite?
03:58:50 ;D
03:58:59 pizzledizzle [n=pizdets@pool-96-250-220-91.nycmny.fios.verizon.net] has joined #lisp
03:59:00 :D
03:59:20 Ralith: bookmark my blog, yo.
03:59:27 hello sirs
03:59:33 pizzledizzle: hello.
03:59:40 sykopomp: whar
03:59:52 --> other channel
04:00:23 -!- danlei [n=user@pD9E2FC5B.dip.t-dialin.net] has quit [Network is unreachable]
04:00:34 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp
04:00:55 faure [n=moe@CPE001217e40caa-CM0018c0c09832.cpe.net.cable.rogers.com] has joined #lisp
04:03:15 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Read error: 113 (No route to host)]
04:03:41 kgn_ [n=kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has joined #lisp
04:05:18 mikezor_ [n=mikael@c-4fe070d5.04-404-7570701.cust.bredbandsbolaget.se] has joined #lisp
04:08:28 -!- WaGE [n=WaGE@pool-70-18-18-20.ny325.east.verizon.net] has quit ["leaving"]
04:09:32 -!- authentic [n=authenti@85-127-20-145.dynamic.xdsl-line.inode.at] has quit [SendQ exceeded]
04:10:03 -!- fvw [n=sdfpme@59.39.243.127] has quit [Remote closed the connection]
04:10:43 -!- coffeemug [n=coffeemu@c-69-181-142-8.hsd1.ca.comcast.net] has quit []
04:11:49 sunwukong [n=vukung@ortros.den.rcast.u-tokyo.ac.jp] has joined #lisp
04:15:59 -!- mikezor [n=mikael@c-4fe070d5.04-404-7570701.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)]
04:21:02 Good morning.
04:21:18 gut evenink
04:24:05 What did I miss?
04:26:06 Ah, at least one more newbie I see: pizzledizzle!
04:26:13 splittist [n=dmurray@63-55.5-85.cust.bluewin.ch] has joined #lisp
04:26:15 morning
04:26:19 hello splittist
04:27:24 splittist: Whatever happened to that dired thing (the name of which I keep forgetting) for McCLIM that you were working on?
04:29:04 FTD. It ran into issues with the then CFI
04:29:31 splittist: I see. What was the problem?
04:29:41 s/CFI/CFFI and CFFI-Unix projects, languished sufficiently to get out of sync with McCLIM, and I haven't touched it since.
04:29:45 -!- kgn_ [n=kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit ["Ex-Chat"]
04:30:00 What did you need CFFI for?
04:30:56 beach: to get the directory information by calling the underlying c/os listing primitives.
04:31:32 splittist: Would't it be possible to use the Posix extension? Or was it a portability issue?
04:31:47 beach: trying to parse the output of /bin/ls was Too Difficult given the ways LANG and a million other env vars and dotfiles could alter it.
04:32:21 -!- Adlai` [n=user@adsl-69-228-190-230.dsl.snfc21.pacbell.net] has quit [Connection timed out]
04:32:28 beach: I was trying to be portable at the time. CFFI-UNIX worked well for a second, but it was a project in flux that eventually was absorbed into CFFI, really.
04:32:47 splittist: What made you choose to use /bin/ls as opposed to some API to the OS?
04:34:13 beach: I started with /bin/ls, then switched to C cals when it didn't work for you, if I remember correctly.
04:34:26 The stuff in darcs is (I'm pretty sure) all OS.
04:34:43 -!- spacebat_ is now known as spacebat
04:34:50 beach: other stuff in the app calls grep and find anyway.
04:36:00 What it needs (I think) is: (a) update the Tab code to use the cleaned-up Tab stuff now in McClim; (b) update the CFFI stuff to use the current CFFI implementation; (d) Profit!
04:36:24 Sounds plausible.
04:36:28 beach: I don't have a working McClim setup on my 'dev' machine at the moment, so I can't see myself doing that.
04:37:01 beach: FTD is very small, but has a surprising number of features (all cribbed from dired, obviously)
04:37:10 It just doesn't work (:
04:38:04 splittist: I'll suggest it to my Vietnamese students!
04:41:45 how similar is common lisp and emacs' lisp?
04:41:51 luke [n=luke@ppp58C1.dsl.pacific.net.au] has joined #lisp
04:42:01 beach: they should feel free to take it! If they want a different licence, I can do that, too. (I think it's MIT at the moment.)
04:42:22 pizzledizzle: Superficially very similar, but semantically very different. Emacs Lisp uses dynamic scoping in the pre-Scheme tradition.
04:42:43 splittist: OK, I'll keep that in mind. Nothing will happen until August anyway.
04:55:50 QinGW1 [n=wangqing@203.86.81.2] has joined #lisp
04:56:17 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit []
04:56:29 drafael [n=tapio@ip-118-90-135-127.xdsl.xnet.co.nz] has joined #lisp
04:57:05 pizzledizzle: did you faint?
05:01:03 fvw [n=sdfpme@59.39.243.127] has joined #lisp
05:03:16 good morning.
05:03:32 still on track for August, beach?
05:03:54 tic: Yep. I have no ticket yet though, and I haven't decided the exact dates.
05:04:14 beach, that's alright. I'll be on vacation anyway.
05:04:53 (I do hope you are coming, though! Unlike me, heh. :-))
05:05:22 tic: Yes, I am.
05:05:24 err. Vacation as in "I'll met up whenever you decide to come."
05:05:31 tic: Sure.
05:05:32 good!
05:08:30 Oh, this is bad! When it is 20°C at 7:00, the day is going to be very hot.
05:09:44 Ouch.
05:13:05 -!- QinGW [n=wangqing@203.86.81.2] has quit [Read error: 110 (Connection timed out)]
05:13:10 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit []
05:14:13 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [""I am going to a commune in Vermont and will deal with no unit of time shorter than a season.""]
05:17:14 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection]
05:23:25 rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp
05:25:02 -!- kmels [n=kmels@190.148.229.252] has left #lisp
05:26:42 kmels [n=kmels@190.148.229.252] has joined #lisp
05:26:43 -!- rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Read error: 104 (Connection reset by peer)]
05:29:41 rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp
05:30:51 -!- benny [n=benny@i577A1FF0.versanet.de] has quit [Read error: 113 (No route to host)]
05:30:54 benny` [n=benny@i577A1FF0.versanet.de] has joined #lisp
05:31:13 -!- benny` is now known as benny
05:33:54 Ogedei [n=user@e178211057.adsl.alicedsl.de] has joined #lisp
05:37:21 -!- hawkbill [n=pradyus@nat/yahoo/x-ecda8930098ec53d] has quit [Read error: 60 (Operation timed out)]
05:39:07 roidrage [n=roidrage@dslb-084-058-155-099.pools.arcor-ip.net] has joined #lisp
05:39:47 s0ber [i=pie@118-160-171-119.dynamic.hinet.net] has joined #lisp
05:40:08 xinming_ [n=hyy@125.109.244.251] has joined #lisp
05:41:20 -!- ajhager [n=ajhager@c-98-223-251-77.hsd1.in.comcast.net] has quit ["A way a lone a last a loved a long the..."]
05:41:37 ajhager [n=ajhager@c-98-223-251-77.hsd1.in.comcast.net] has joined #lisp
05:42:11 -!- rread_ [n=rread@nat/sun/x-41a099b76bbe037a] has quit [Read error: 110 (Connection timed out)]
05:42:42 hawkbill [n=pradyus@nat/yahoo/x-289db3d10b7d2d90] has joined #lisp
05:48:11 -!- pizzledizzle [n=pizdets@pool-96-250-220-91.nycmny.fios.verizon.net] has quit [Read error: 60 (Operation timed out)]
05:56:09 -!- xinming [n=hyy@218.73.138.194] has quit [Read error: 110 (Connection timed out)]
05:59:17 -!- luke [n=luke@ppp58C1.dsl.pacific.net.au] has quit [Client Quit]
05:59:36 pizzledizzle [n=pizdets@pool-96-250-220-91.nycmny.fios.verizon.net] has joined #lisp
05:59:49 luke [n=luke@ppp58C1.dsl.pacific.net.au] has joined #lisp
06:00:10 hey
06:00:15 *p_l* starts to think he might have some vague understanding of how CPS works, at least in web-framework/GUI kind of thingy
06:00:55 -!- nerdshark [n=dorkfish@74-131-32-72.dhcp.insightbb.com] has quit [Read error: 110 (Connection timed out)]
06:01:29 hey luke
06:01:45 this is my first time on irc and stuff
06:01:56 I'm just learning lisp and have a question or two, is that alright?
06:03:46 luke: alright, as long as they are not REALLY stupid (but that requires usually lack of common sense, so go ahead)
06:04:31 well I've been reading practical common lisp, its very nice but I'm up to the chapter on variables and I just don't get it
06:04:50 I'm using clisp on ubuntu and for some reason I get errors when using (let (x 10)) for example
06:05:04 unless I'm not understanding how you define a variable
06:05:19 I'm fluent in most python and php if that helps, from a web developer background
06:05:29 -!- fvw [n=sdfpme@59.39.243.127] has quit [Remote closed the connection]
06:06:06 -!- roidrage [n=roidrage@dslb-084-058-155-099.pools.arcor-ip.net] has quit []
06:06:48 luke: that's because it should be something like (let ((x 10)) (some code that uses x))
06:07:13 x is defined only in scope of the code included in (let
06:07:43 clhs let
06:07:44 http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm
06:08:28 Reav__ [n=Reaver@h15a2.n2.ips.mtn.co.ug] has joined #lisp
06:08:30 so (defvar is for global, acessible in all while (let is just for a variable say inside a function
06:09:23 that's for lexical (iirc, don't ask me on terminology) variables - which can be optimized away etc - they are simply placeholders for some internal reference. If symbol that you're binding is declared "special" (which is what defvar/defparameter does by default), you can locally override it with let
06:09:47 Ok I think i'm getting it
06:09:52 thanks :)
06:10:00 -!- kmels [n=kmels@190.148.229.252] has quit []
06:10:16 for Python/PHP/etc. style, you can simply try (setf symbol-name data), but obviously it's not recommended :)
06:10:34