00:00:19 wbooze [~wbooze@xdsl-78-35-152-169.netcologne.de] has joined #lisp 00:00:33 S11001001 [~sirian@fsf/member/S11001001] has joined #lisp 00:02:00 -!- kenanb [~user@94.54.237.227] has quit [Remote host closed the connection] 00:03:46 I can't see a reason for it, perhaps what I am reading was left half refactored. 00:04:15 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 00:05:15 cmm [~cmm@bzq-79-183-207-200.red.bezeqint.net] has joined #lisp 00:07:18 Vivitron: hmm is that followed by a declarations form? 00:07:42 it also seems odd to me 00:09:44 superflit_ [~superflit@75-171-248-45.hlrn.qwest.net] has joined #lisp 00:10:59 -!- superflit [~superflit@71-218-200-111.hlrn.qwest.net] has quit [Ping timeout: 246 seconds] 00:11:00 -!- superflit_ is now known as superflit 00:12:05 -!- cmm [~cmm@bzq-79-183-207-200.red.bezeqint.net] has quit [Ping timeout: 248 seconds] 00:12:55 phadthai: It's followed by a let* 00:13:46 cmm [~cmm@bzq-79-183-207-200.red.bezeqint.net] has joined #lisp 00:14:34 maybe those macros were automatically generated, or the author used an uncommon style 00:17:39 -!- Ralith [~ralith@static-209-139-215-92.gtcust.grouptelecom.net] has quit [Ping timeout: 265 seconds] 00:18:26 -!- cmm [~cmm@bzq-79-183-207-200.red.bezeqint.net] has quit [Ping timeout: 244 seconds] 00:19:16 cmm [~cmm@bzq-79-181-209-243.red.bezeqint.net] has joined #lisp 00:24:18 gffa [~unknown@unaffiliated/gffa] has joined #lisp 00:26:09 lebro [~monx@ool-18bc4a28.dyn.optonline.net] has joined #lisp 00:26:42 -!- cmm [~cmm@bzq-79-181-209-243.red.bezeqint.net] has quit [Ping timeout: 244 seconds] 00:28:15 krrrcks [~krrrcks@krrrcks.de] has joined #lisp 00:28:47 cmm [~cmm@bzq-79-177-204-14.red.bezeqint.net] has joined #lisp 00:32:44 -!- ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has quit [Quit: ynniv] 00:33:08 -!- bobbysmith007 [~russ@216.155.103.30] has quit [Quit: Leaving.] 00:33:50 bobbysmith007 [~russ@216.155.103.30] has joined #lisp 00:35:58 -!- cmm [~cmm@bzq-79-177-204-14.red.bezeqint.net] has quit [Ping timeout: 276 seconds] 00:36:53 -!- krrrcks [~krrrcks@krrrcks.de] has quit [Ping timeout: 246 seconds] 00:37:18 cmm [~cmm@109.65.199.254] has joined #lisp 00:42:46 cafesofie [~user@ool-18e4c9a0.dyn.optonline.net] has joined #lisp 00:45:00 -!- cmm [~cmm@109.65.199.254] has quit [Ping timeout: 252 seconds] 00:46:47 cmm [~cmm@109.65.199.254] has joined #lisp 00:50:28 -!- gigamonkey_ [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has quit [Quit: gigamonkey_] 00:51:11 gigamonkey [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has joined #lisp 00:52:42 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #lisp 00:53:27 -!- CrazyEddy [~receptacu@wrongplanet/CrazyEddy] has quit [Ping timeout: 244 seconds] 00:54:32 -!- cmm [~cmm@109.65.199.254] has quit [Ping timeout: 252 seconds] 00:54:42 sezo [~yhiselamu@lap.ee] has joined #lisp 00:56:19 cmm [~cmm@bzq-79-176-214-183.red.bezeqint.net] has joined #lisp 00:57:01 -!- davlaps [~davlaps@pool-108-49-122-166.bstnma.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 00:57:09 -!- gigamonkey [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has quit [Quit: gigamonkey] 00:57:15 Vivitron: the avantage of using flet or labels in a macro is that you don't have to wrap them with (eval-when (:compile-toplevel :load-toplevel :execute) ). 00:57:54 Otherwise, using a labels forms without any function indeed is probably due to the generation algorithm. 00:58:53 madnificent: you just cannot use/write in your SOURCE code references to a package that is created at RUN-TIME! 00:59:40 The name P8 cannot designate any package because next time I run it, I will type WHATCHAMACALLITAPACKAGE! 01:00:52 davlaps [~davlaps@pool-108-49-122-166.bstnma.fios.verizon.net] has joined #lisp 01:01:09 (if I'm nice, I could also type it in lowercase, which would require references to it typed in the supplied-expression to be typed as (|lowercasepackage|:hotpo 42). 01:01:41 -!- lars_t_h [~lars_t_h@002129194179.mbb.telenor.dk] has quit [Quit: Leaving] 01:02:39 Nauntilus [~NickServ@71-223-5-151.phnx.qwest.net] has joined #lisp 01:04:15 -!- cmm [~cmm@bzq-79-176-214-183.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 01:05:54 cmm [~cmm@109.65.201.247] has joined #lisp 01:06:43 Ralith [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 01:09:47 -!- robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Ping timeout: 246 seconds] 01:12:57 -!- mensch [~mensch@c-67-189-240-148.hsd1.ma.comcast.net] has quit [Quit: leaving] 01:14:01 -!- diginet [~diginet@ppp-70-246-16-75.dsl.hstntx.swbell.net] has quit [Read error: Connection reset by peer] 01:14:26 diginet [~diginet@ppp-70-246-16-75.dsl.hstntx.swbell.net] has joined #lisp 01:22:25 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 265 seconds] 01:24:50 is it safe to store flet function and use it outside of it's block? 01:25:19 -!- Beetny [~Beetny@ppp118-208-9-49.lns20.bne1.internode.on.net] has quit [Ping timeout: 265 seconds] 01:25:31 Yes. 01:26:25 thanks 01:27:54 It's a closure. 01:28:56 -!- cmm [~cmm@109.65.201.247] has quit [Ping timeout: 265 seconds] 01:30:42 cmm [~cmm@109.65.201.247] has joined #lisp 01:34:58 theos [~theos@unaffiliated/theos] has joined #lisp 01:36:00 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 01:44:26 -!- cmm [~cmm@109.65.201.247] has quit [Ping timeout: 246 seconds] 01:46:18 cmm [~cmm@109.67.207.87] has joined #lisp 01:50:07 python functions, haha! http://symbo1ics.com/blog/?p=1292 01:50:34 IIRC, even javascript does better there. 01:52:12 -!- cmm [~cmm@109.67.207.87] has quit [Read error: Connection reset by peer] 01:54:47 cmm [~cmm@109.65.218.217] has joined #lisp 01:55:04 javascript is ersatz scheme 01:55:49 It's more like the logical progression of scheme. 01:56:18 Regarding modern costs, and converging toward the consensus on syntax. 01:58:40 logical progression of scheme in the direction of php you mean? 01:58:40 Does anyone else call it 'see-moo-cil' 01:58:54 adeht: php didn't exist at the time 01:59:07 scombinator, note I didn't say chronological 02:01:15 also, according to wikipedia both were created in 1995.. o cursed year 02:12:53 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Quit: leaving] 02:13:31 rme [~rme@50.43.137.11] has joined #lisp 02:13:33 -!- adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 02:14:05 dek5 [~eugene@mail.quickpay.ru] has joined #lisp 02:14:13 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #lisp 02:14:50 -!- cmm [~cmm@109.65.218.217] has quit [Ping timeout: 260 seconds] 02:16:28 cmm [~cmm@109.65.198.249] has joined #lisp 02:22:04 -!- cmm [~cmm@109.65.198.249] has quit [Ping timeout: 246 seconds] 02:22:04 -!- ihyoyoung is now known as hyoyoung 02:23:04 krrrcks [~krrrcks@krrrcks.de] has joined #lisp 02:23:38 xyxu [~xyxu@58.41.1.67] has joined #lisp 02:23:59 cmm [~cmm@109.65.198.249] has joined #lisp 02:27:06 -!- airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has quit [] 02:27:25 -!- krrrcks [~krrrcks@krrrcks.de] has quit [Ping timeout: 252 seconds] 02:27:58 -!- xyxu [~xyxu@58.41.1.67] has quit [Read error: Connection reset by peer] 02:30:46 LiamH [~healy@pool-74-96-16-203.washdc.east.verizon.net] has joined #lisp 02:32:58 xyxu [~xyxu@58.41.1.67] has joined #lisp 02:33:44 -!- cmm [~cmm@109.65.198.249] has quit [Ping timeout: 260 seconds] 02:33:58 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 02:35:33 cmm [~cmm@bzq-79-183-194-225.red.bezeqint.net] has joined #lisp 02:36:25 -!- S11001001 [~sirian@fsf/member/S11001001] has quit [Quit: bye bye] 02:37:49 -!- em [~em@unaffiliated/emma] has quit [Ping timeout: 246 seconds] 02:39:31 -!- davlaps [~davlaps@pool-108-49-122-166.bstnma.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 02:39:46 emma [~em@unaffiliated/emma] has joined #lisp 02:40:32 comments welcome http://symbo1ics.com/blog/?p=1321 02:43:08 SidH__ [~heroor@122.172.45.7] has joined #lisp 02:52:21 -!- p_l [~pl@089-101-208053.ntlworld.ie] has quit [Read error: Connection reset by peer] 02:52:44 when macro expands to let with some variables that user may or may not use, how to avoid "variable not used" warnings? if I do (declare (ignore ..)) I'll get variable x not ignored. 02:53:02 ..when it's used 02:53:12 Yuuhi` [benni@p5483AEC9.dip.t-dialin.net] has joined #lisp 02:54:28 (declare (ignorable ...)) 02:54:35 nice thanks 02:54:47 -!- Yuuhi [benni@p54839C91.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 02:55:23 -!- cmm [~cmm@bzq-79-183-194-225.red.bezeqint.net] has quit [Ping timeout: 244 seconds] 02:56:49 -!- __main__ [~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 02:56:56 nialo- [~nialo@ool-182d5684.dyn.optonline.net] has joined #lisp 02:57:18 cmm [~cmm@bzq-79-183-217-229.red.bezeqint.net] has joined #lisp 02:57:26 __main__ [~main@c-67-180-22-241.hsd1.ca.comcast.net] has joined #lisp 02:58:50 p_l [~pl@089-101-208053.ntlworld.ie] has joined #lisp 02:58:53 ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has joined #lisp 02:59:52 -!- bubzer [~user@ool-45736d6b.dyn.optonline.net] has left #lisp 03:03:43 Quadrescence: it starts badly: "the biggest, most glaring thing that causes problems is the lack of static typing."; Have you watched Ron Garret's presentation about RAX? 03:03:47 Or read the paper? 03:04:32 pjb: linky, linky? 03:04:39 *didi* <3 papers 03:04:40 They proved formally that the system was good, which is even better than what a mere compiler can do with type check. And they still missed a bug. 03:05:13 RAX? 03:05:39 http://ti.arc.nasa.gov/m/pub-archive/176h/0176%20(Havelund).pdf 03:06:12 pjb: Thank you. 03:06:35 Here is a presentation: https://www.youtube.com/watch?v=_gZK0tW8EhQ 03:06:40 pjb, no I havent 03:07:04 is this guaranteed to work? (getf '(1 foo 2 bar) 2) => BAR 03:07:28 -!- SidH__ [~heroor@122.172.45.7] has left #lisp 03:07:28 getf expects a place as the second operand 03:07:33 thought it can be only used with keywords 03:07:45 *first operand 03:08:26 pjb, I'll read the paper, but can you give me an idea of what you suggest I would get out of it? 03:09:07 -!- cmm [~cmm@bzq-79-183-217-229.red.bezeqint.net] has quit [Ping timeout: 264 seconds] 03:10:51 adeht: no, getf takes a plist as second argument. 03:10:53 cmm [~cmm@bzq-79-179-213-215.red.bezeqint.net] has joined #lisp 03:10:57 It's (setf getf) that expects a place. 03:11:36 sezo, also GETF uses EQ comparison, and two integers that are the "same" may not be "identical" 03:11:43 sezo: this is not guaranteed to work. identical adj. the same under eq. 03:12:05 ah 03:12:22 sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has joined #lisp 03:12:38 sezo: indeed, getf is only useful with keywords, or with non number non character objects of which you have a reference. 03:12:54 That's the reason why plist are not prefered to alist in general. 03:13:00 assoc takes a :test parameter. 03:13:05 yes 03:13:14 pjb, yes I see that now (though it's the first arg, not second) 03:13:25 that said nothing prevents you to implement plist functions taking a :test parameter and using eql by default. 03:15:27 -!- cmm [~cmm@bzq-79-179-213-215.red.bezeqint.net] has quit [Ping timeout: 245 seconds] 03:16:34 Quadrescence: ok, the second sentence is indeed worse than the first: "It happens that when the compiler is unable to detect these issues, the end user is left to find them." 03:16:50 So he doesn't test his software before sending it to the users. 03:17:23 cmm [~cmm@bzq-79-177-204-169.red.bezeqint.net] has joined #lisp 03:17:24 pjb, I didn't think I'd need to elaborate this point. Some software has a number of paths that explodes combinatorially. 03:17:38 And, yes, in a perfect world, tests would avoid this. 03:17:44 All typing problems will be discovered if your test covers 100% of your code. 03:17:49 teggi [~teggi@123.21.175.173] has joined #lisp 03:17:53 I don't even mean typing problems. 03:18:03 That's a separate issue entirely. 03:19:44 One thing that late typing will do, is to avoid crashes like Ariane 5 or Mars Climate Orbiter. 03:20:51 pjb, How does late typing avoid a crash? 03:21:11 It can drop you into a debugger instead. :) 03:21:21 Well, :) yes 03:21:37 Because lisp automatically changes the "type" of the numbers when they "overflow" going from fixnum to bignums (and bignums of variable size), that Ariane 5 wouldn't have failed catastrophically. Granted, suddenly adding two numbers may take twice the time, but you'd still get a result, and it's better to control at half the frequency than not control at all. 03:21:53 will it also halt the world waiting for you to fix the program? 03:22:37 In the case of Mars Climate Orbiter, instead of sending a IEEE754 word, they should have sent a list such as (meter 3.14), so the receiving module could have converted the number into inches. 03:22:53 Again, a tad slower, but that would have avoided a crash. 03:24:29 pjb, is this really an argument though? Lisp won't avoid a crash if I pass "123" to 1+ 03:24:50 Furthermore, like C doesn't prevent you to use a garbage collector and a REPL, Lisp doesn't prevent yo to do global static analysis. 03:25:20 that is correct, and I think I addressed that 03:25:45 Quadrescence: if you're in static "typing" you can write such a tool for CL. It would be hooked just before saving a lisp image, when all the code has been loaded, along with the tree pruner. 03:26:11 handler-case/handler-bind and restarts! 03:26:25 That's also something you don't have in C. 03:26:52 By the way, if you write C code as you should, given absence of conditions, you would be as slow as lisp. 03:27:37 pjb, Anyone could, but no one has. I am outlining pragmatic issues. Additionally, a static type checker for Lisp will fail on valid programs. This is well known about type checkers. 03:27:55 Quadrescence: contracts, gradual typing or intersection/refinement types. 03:28:06 pkhuong, what about them? 03:28:34 Quadrescence, I have reservations about all of your points.. but I do not care to elaborate because it's all been chewed to death already 03:28:45 Quadrescence: they're all ways to bring together most of what's good about static typing and inference on dynamically-typed languages. 03:29:00 -!- cmm [~cmm@bzq-79-177-204-169.red.bezeqint.net] has quit [Read error: Operation timed out] 03:29:37 Eg. before each int addition, you would have to check the arguments: if(((0<=a)&&(0<=b)&&(MAX_INT-a<=b))||((a<0)&&(b<0)&&(MIN_INT-a>=b))||((a<0)&&(b>=0))||((0<=a)&&(b<0))){ c=a+b } else { do_something_for_overflow("+",a,b); } 03:29:48 pjb, yes that is totally true 03:30:06 That's a lot of characters... 03:30:06 I can guarantee you that doing that for each addition will be slower than lisp adding fixnums, checking for overflow and switching to bignums. 03:30:20 adeht, Well, a good amount is opinion, and coming from experience using lisp code in a group with other lisp developers, on a highly non-trivial project. 03:30:21 That's what you have to write to do a int add in C. 03:30:42 (unless you have formally proven a+b doesn't overflow. 03:30:44 ) 03:30:57 cmm [~cmm@bzq-79-179-217-117.red.bezeqint.net] has joined #lisp 03:31:31 adeht, perhaps I should qualify at the start that this is my opinion and from my experience 03:34:15 perhaps your most original claim, and one I find most ridiculous, is "As a result, it’s hard to find someone who is both good at Lisp and at least has more than an hour’s worth of experience in other languages—in turn making him or her more productive in Lisp itself." 03:35:20 Beetny [~Beetny@ppp118-208-9-49.lns20.bne1.internode.on.net] has joined #lisp 03:35:35 adeht, There might be fair objections to that. 03:36:47 adeht: I was about to raise the same issue; the from reading lispers comments they seem to typically have a fairly wide range of language experience 03:37:31 adeht: Most are forced at some point to use something else to earn their bread 03:37:32 Vivitron: lispers might have more experience implementing than using languages, though. 03:37:35 Take a look at Vsevolod Dyomkin's recent Lisp Hackers interview series, for example 03:37:41 Quadrescence: in the end, compared with the pitfalls of C or C++, (and there are probably a lot of pitfalls in Java too), the pitfalls he identifies for lisp are pitfalls you'd be happy to have. 03:37:52 pjb, and I totally agree! 03:37:53 -!- cmm [~cmm@bzq-79-179-217-117.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 03:37:53 pkhuong: Implementing a language involves using a language 03:38:12 scombinator: not necessarily the one you're implementing, and certainly not in an idiomatic manner. 03:38:12 scombinator, that is debatable 03:38:27 Spion_ [~spion@unaffiliated/spion] has joined #lisp 03:38:31 I know someone implementing SML with only cursory knowledge of functional programming and no use of SML 03:38:31 Quadrescence: tests! 03:38:57 pjb, yes indeed, tests tests tests 03:38:58 Well, a lot of people try to learn lisp or scheme implementing it in their current language. 03:39:00 The only correction I'll accept is implementing a language in hardware... which *can* and *would* (these days) be done in a language 03:39:01 I certainly have much more experience implementing scheme than using it. Same (but to a larger extent) with ML-style languages. 03:39:06 Vivitron, my perception of the general population of Lisp programmers confirms Erik Naggum's point about Lisp being the language you graduate to 03:39:40 Lisp is the language that makes me complain about other languages 03:39:44 I'd say "trapped by". 03:40:34 -!- dek5 [~eugene@mail.quickpay.ru] has quit [Ping timeout: 245 seconds] 03:41:27 adeht, compare your findings about applicable Lisp programmers to what recruiters are typically used to when looking for Java applicants. Also intersect the above with someone who has knowledge of the problem domain. Intersect further with those who write (and can prove they write) good code. Intersect that with people who are very good at working in teams. 03:41:44 -!- Spion [~spion@unaffiliated/spion] has quit [Ping timeout: 252 seconds] 03:42:53 So, does your team have open positions? 03:43:19 At one point, yes. Not at the moment. 03:43:58 dek5 [~eugene@mail.quickpay.ru] has joined #lisp 03:44:08 -!- LiamH [~healy@pool-74-96-16-203.washdc.east.verizon.net] has quit [Ping timeout: 246 seconds] 03:44:20 Quadrescence, I see your "hard to find" rebuttal and raise you a "#lisp regulars are easy to find" wisecrack 03:44:37 -!- dek5 [~eugene@mail.quickpay.ru] has left #lisp 03:44:46 cmm [~cmm@bzq-79-180-208-18.red.bezeqint.net] has joined #lisp 03:44:53 adeht, furthermore intersect that with people who are willing to move, intersect that with people who are willing to be paid what they'd get offered 03:45:46 *scombinator* is unwilling to relocate to the States, but perhaps willing to relocate to Europe, how much do this affect my chances of getting a lisp job? 03:45:48 And people you'd actually like to work with. 03:46:00 adeht, I am not saying it's impossible. It's not at all. I am just comparing it to the competition. 03:46:46 Quadrescence, with all these intersectin', I think choice of Java vs. Lisp becomes irrelevant.. anyway, I was talking about your suggestion that there's a significant group of good Lispers that are unexperienced with other languages 03:47:08 adeht, I see. 03:47:32 I suspect that the biggest problem is that lisp programmers tend to be unreasonable, which is why they're using lisp. 03:47:41 Quadrescence: I should say that enjoyed your posts 03:47:50 *I enjoyed 03:47:55 Zhivago, :) 03:48:01 Vivitron, well that is nice to hear 03:48:57 s/lisp/java/ s/unreasonable/unreasoning/ 03:48:59 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Quit: brb] 03:49:30 Axioplase [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has joined #lisp 03:50:03 Is there a ¬loop alternative to this (loop for i from 1 to 42 collect (make-foo 2)). Nothing against loop, mind you, just wondering. 03:50:50 there are many 03:51:12 didi: I usually have a version of seq/range, do that I'd (mapcar (lambda () (make-foo 2)) (seq 1 42)) 03:51:32 didi: loop/repeat. 03:52:12 (map-into (make-list 42) (lambda () (make-foo 2))) 03:52:46 Nice! 03:52:54 Thank you, guys. 03:56:21 -!- Axioplase [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Quit: brb again, sorry!] 03:56:39 Axioplase [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has joined #lisp 03:57:42 -!- cmm [~cmm@bzq-79-180-208-18.red.bezeqint.net] has quit [Ping timeout: 272 seconds] 03:58:16 -!- impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has quit [Quit: leaving] 03:59:21 cmm [~cmm@bzq-79-180-194-150.red.bezeqint.net] has joined #lisp 04:01:49 -!- benny [~benny@i577A16A4.versanet.de] has quit [Ping timeout: 260 seconds] 04:05:48 -!- lebro [~monx@ool-18bc4a28.dyn.optonline.net] has quit [Remote host closed the connection] 04:10:49 angavrilov [~angavrilo@217.71.227.190] has joined #lisp 04:11:11 -!- wtetzner [~wtetzner@c-24-218-217-69.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 04:12:20 m7d [~lriley@pool-71-102-212-31.snloca.dsl-w.verizon.net] has joined #lisp 04:12:21 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 04:13:13 impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has joined #lisp 04:13:41 -!- mjonsson [~mjonsson@38.109.95.176] has quit [Quit: Leaving] 04:13:58 -!- cmm [~cmm@bzq-79-180-194-150.red.bezeqint.net] has quit [Ping timeout: 252 seconds] 04:15:38 scombinator: the european market for lisp jobs is even thinner than the us one. 04:15:58 cmm [~cmm@bzq-79-180-198-225.red.bezeqint.net] has joined #lisp 04:16:44 you can always target doing projects instead of steady employment, and take clients who don't care about language 04:18:10 og 04:18:12 p_l: right. but then, if you need to find such clients, it is probably best to stay in where you are and come from. 04:18:14 s/og/oh 04:19:57 leo2007 [~leo@61.148.242.110] has joined #lisp 04:26:43 -!- xan_ [~xan@80.174.78.224.dyn.user.ono.com] has quit [Ping timeout: 276 seconds] 04:27:36 -!- ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has quit [Quit: ynniv] 04:28:03 -!- cmm [~cmm@bzq-79-180-198-225.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 04:29:33 cmm [~cmm@bzq-79-183-219-97.red.bezeqint.net] has joined #lisp 04:30:51 sigjuice [~sigjuice@184-106-98-73.static.cloud-ips.com] has joined #lisp 04:31:33 -!- rme [rme@8CB7B04A.47C9A248.699BA7A6.IP] has quit [Quit: rme] 04:31:33 -!- rme [~rme@50.43.137.11] has quit [Quit: rme] 04:31:55 gigamonkey [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has joined #lisp 04:35:30 -!- cmm [~cmm@bzq-79-183-219-97.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 04:36:15 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has quit [Ping timeout: 244 seconds] 04:37:01 cmm [~cmm@bzq-79-180-209-81.red.bezeqint.net] has joined #lisp 04:38:06 xan_ [~xan@80.174.78.196.dyn.user.ono.com] has joined #lisp 04:42:38 -!- cmm [~cmm@bzq-79-180-209-81.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 04:42:40 -!- BigHugeDog [~QQ@218.58.12.164] has quit [Read error: Connection reset by peer] 04:44:31 cmm [~cmm@bzq-79-180-199-57.red.bezeqint.net] has joined #lisp 04:44:34 What does it mean for a symbol to start with % (percent sign)? Is it a convention of some sort? 04:44:43 Yes. It indicates magic. 04:46:37 attila_lendvai [~attila_le@87.247.56.142] has joined #lisp 04:46:37 -!- attila_lendvai [~attila_le@87.247.56.142] has quit [Changing host] 04:46:37 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 04:50:16 -!- cmm [~cmm@bzq-79-180-199-57.red.bezeqint.net] has quit [Read error: Connection reset by peer] 04:52:22 sigjuice: basically, if it starts with %, it's a warning from developer that it's really, really internal thing with contains lots of magic 04:52:24 asvil [~asvil@178.124.160.180] has joined #lisp 04:53:14 What magic is going on here with %make-queue? http://darcs.informatimago.com/darcs/lisp/_darcs/pristine/common-lisp/queue.lisp 04:54:00 cmm [~cmm@bzq-79-183-206-85.red.bezeqint.net] has joined #lisp 04:54:31 sigjuice: the magic is that %make-queue is a constructor, so you could call it with (%make-queue :head 1 :tail 2) and you would have broken the invariant of queue objects. 04:54:58 sigjuice: So the % is here to tell you you shouldn't call it. Instead, you call (make-queue), and it ensures the invariant is not broken. 04:55:49 thanks! 04:56:36 Demosthenes [~demo@m9b2c36d0.tmodns.net] has joined #lisp 04:56:36 sigjuice: notice the current repository is https://gitorious.org/com-informatimago/com-informatimago/blobs/master/common-lisp/cesarum/queue.lisp 04:58:58 pjb: thanks again. I just clicked on what turned up in google. 05:02:17 -!- rtoym [~chatzilla@24.130.4.105] has quit [Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643]] 05:02:31 -!- cmm [~cmm@bzq-79-183-206-85.red.bezeqint.net] has quit [Ping timeout: 252 seconds] 05:04:31 cmm [~cmm@bzq-109-65-204-180.red.bezeqint.net] has joined #lisp 05:05:49 benny` [~benny@i577A773E.versanet.de] has joined #lisp 05:07:43 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 05:08:58 BigHugeDog [~QQ@221.0.11.215] has joined #lisp 05:09:13 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 245 seconds] 05:11:16 I should redirect darcs to git 05:12:35 Do people still work on darcs? 05:12:43 -!- skulls [~user@gateway/tor-sasl/skulls] has quit [Remote host closed the connection] 05:13:41 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 05:13:49 -!- cafesofie [~user@ool-18e4c9a0.dyn.optonline.net] has quit [Remote host closed the connection] 05:14:35 -!- m7d [~lriley@pool-71-102-212-31.snloca.dsl-w.verizon.net] has quit [Quit: m7d] 05:14:38 scombinator: I think yes. But I switched to git, and I also use fossil now. 05:14:39 -!- cmm [~cmm@bzq-109-65-204-180.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 05:15:03 darcs and fossil have the advantage over git to have a much simplier user interfasce. 05:15:08 -!- ace4016 [~ace4016@cpe-024-074-197-085.ec.res.rr.com] has quit [Ping timeout: 240 seconds] 05:15:12 You cannot use git without google. 05:15:22 kornshell [~user@gateway/tor-sasl/skulls] has joined #lisp 05:15:46 But just ask JordiGH on #emacs ;-) 05:16:02 cmm [~cmm@bzq-79-182-222-221.red.bezeqint.net] has joined #lisp 05:16:40 rtoym [~chatzilla@24.130.4.105] has joined #lisp 05:17:13 -!- benny` is now known as benny 05:17:39 ace4016 [~ace4016@cpe-024-074-197-085.ec.res.rr.com] has joined #lisp 05:19:16 geek [~geek@unaffiliated/geek] has joined #lisp 05:20:49 kushal [kdas@nat/redhat/x-cttyubywvplduwqt] has joined #lisp 05:20:49 -!- kushal [kdas@nat/redhat/x-cttyubywvplduwqt] has quit [Changing host] 05:20:49 kushal [kdas@fedora/kushal] has joined #lisp 05:21:19 -!- killown [~geek@unaffiliated/killown] has quit [Ping timeout: 276 seconds] 05:22:51 attila_lendvai [~attila_le@87.247.57.134] has joined #lisp 05:22:56 -!- attila_lendvai [~attila_le@87.247.57.134] has quit [Changing host] 05:22:56 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 05:24:53 -!- adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 05:25:08 -!- scombinator [~user@203.171.40.170] has quit [Quit: Going HOME] 05:25:34 -!- cmm [~cmm@bzq-79-182-222-221.red.bezeqint.net] has quit [Ping timeout: 245 seconds] 05:25:34 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #lisp 05:26:29 -!- adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 05:26:30 adu_ [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #lisp 05:26:44 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has quit [Ping timeout: 250 seconds] 05:27:33 cmm [~cmm@109.67.224.243] has joined #lisp 05:28:28 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Ping timeout: 276 seconds] 05:29:02 tomodo [~tomodo@gateway/tor-sasl/tomodo] has joined #lisp 05:29:04 -!- EyesIsServer [~eyes@WiseOS/Founder/EyesIsMine] has quit [Read error: Connection reset by peer] 05:29:38 -!- ace4016 [~ace4016@cpe-024-074-197-085.ec.res.rr.com] has quit [Ping timeout: 265 seconds] 05:29:38 -!- BrianRice [~water@174-21-120-125.tukw.qwest.net] has quit [Read error: Connection reset by peer] 05:29:47 BrianRice [~water@174-21-120-125.tukw.qwest.net] has joined #lisp 05:32:07 -!- gigamonkey [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has quit [Quit: gigamonkey] 05:32:35 mcsontos [mcsontos@nat/redhat/x-ylhzvhjhdjfpupnp] has joined #lisp 05:33:16 -!- cmm [~cmm@109.67.224.243] has quit [Ping timeout: 265 seconds] 05:33:36 Is there a more up-to-date version of XREF than the one found in the AILab Repository? 05:35:04 cmm [~cmm@bzq-79-182-221-253.red.bezeqint.net] has joined #lisp 05:37:37 the version distributed with slime has about 20 more lines, although I'm not sure what they are 05:38:16 pjb: do you mean that google is necessary for looking up syntax, or to allow indexing and searching the repository? 05:38:24 ramkrsna [ramkrsna@nat/redhat/x-wpmtcumsypuqmcvr] has joined #lisp 05:38:38 my git experience is somewhat limited 05:38:48 -!- Demosthenes [~demo@m9b2c36d0.tmodns.net] has quit [Ping timeout: 245 seconds] 05:43:30 -!- Kron_ [~Kron@206.126.93.212] has quit [Quit: Kron awayyy!] 05:44:23 -!- Nauntilus [~NickServ@71-223-5-151.phnx.qwest.net] has quit [Ping timeout: 265 seconds] 05:45:11 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 05:45:34 -!- cmm [~cmm@bzq-79-182-221-253.red.bezeqint.net] has quit [Ping timeout: 245 seconds] 05:45:38 EyesIsServer [~eyes@WiseOS/Founder/EyesIsMine] has joined #lisp 05:46:15 kiuma [~kiuma@static-217-133-17-91.clienti.tiscali.it] has joined #lisp 05:46:31 gaidal [~gaidal@h164n1-m-sp-d4.ias.bredband.telia.com] has joined #lisp 05:48:12 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 05:50:46 mcox [~user@140.253.50.113] has joined #lisp 05:51:51 BrotherRufus [~BrotherRu@75-101-113-49.dynamic.adsl.fea.net] has joined #lisp 05:56:40 -!- leo2007 [~leo@61.148.242.110] has quit [Quit: do something more productive] 05:58:42 -!- adu_ [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 05:59:19 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 05:59:19 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #lisp 06:00:38 -!- asvil [~asvil@178.124.160.180] has quit [Ping timeout: 246 seconds] 06:01:04 phadthai: google browses the web to index it. 06:01:19 So if you have darcs pages on the web, google will find them. 06:01:30 and return them. 06:01:44 sdemarre [~serge@91.176.127.180] has joined #lisp 06:01:48 I thought everybody knew how google works. 06:01:56 ah yes, I meant about the "git needs google to work" :) 06:02:02 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 246 seconds] 06:02:08 err that was misquoted 06:02:20 "you cannot use git without google" 06:02:28 for the same reason as darcs? 06:02:30 nikodemus [~nikodemus@188-67-156-31.bb.dnainternet.fi] has joined #lisp 06:02:30 Oh that. I mean that you cannot use git without using google. Well that's exactly what I wrote! 06:02:56 I just wondered why 06:02:58 To use git, you need to search on google how to use it, what options to give it, to do anything but the most trivial and common task. 06:03:08 Because the user interface of git is horrible. 06:03:10 ok 06:03:21 Linus is a kernel programmer, not an application programmer! 06:03:27 I have to use apropos and read various man pages often when I have to use it 06:03:40 The emacs mode is pretty good. 06:07:11 i.e. all that stuff https://p.boxnet.eu/79306/ shows there is online documentation, although it's often longer to use it than to google for a question, I admit 06:07:14 asvil [~asvil@178.124.160.180] has joined #lisp 06:07:26 pnathan [~Adium@75.87.255.164] has joined #lisp 06:11:10 slyrus [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has joined #lisp 06:12:08 -!- treyka [~treyka@85.234.199.185] has quit [Read error: Operation timed out] 06:14:24 -!- BrotherRufus [~BrotherRu@75-101-113-49.dynamic.adsl.fea.net] has quit [] 06:16:15 -!- kiuma [~kiuma@static-217-133-17-91.clienti.tiscali.it] has quit [Quit: Leaving] 06:21:36 -!- SHODAN [~shozan@c-a9b1e253.011-86-73746f30.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 06:23:23 -!- sdemarre [~serge@91.176.127.180] has quit [Ping timeout: 246 seconds] 06:23:31 Ragnaroek [~chatzilla@boccacio.fh-trier.de] has joined #lisp 06:24:54 Nauntilus [~NickServ@ip68-231-176-93.tc.ph.cox.net] has joined #lisp 06:26:03 SHODAN [~shozan@c-a9b1e253.011-86-73746f30.cust.bredbandsbolaget.se] has joined #lisp 06:27:23 ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has joined #lisp 06:27:24 -!- ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has quit [Client Quit] 06:27:55 jewel [~jewel@196-209-224-252.dynamic.isadsl.co.za] has joined #lisp 06:31:24 -!- jacius [~jacius@c-24-13-89-230.hsd1.il.comcast.net] has quit [Remote host closed the connection] 06:36:24 -!- adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Quit: adu] 06:39:32 kiuma [~kiuma@static-217-133-17-91.clienti.tiscali.it] has joined #lisp 06:39:40 I sent a patch to the flexi-streams mailing list, but it hasn't shown up in the archives. Do you have to subscribe? 06:43:58 CrazyEddy [~insurrect@wrongplanet/CrazyEddy] has joined #lisp 06:45:05 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 06:46:08 -!- jewel [~jewel@196-209-224-252.dynamic.isadsl.co.za] has quit [Ping timeout: 246 seconds] 06:54:23 ivan-kanis [~user@nantes.visionobjects.com] has joined #lisp 06:57:17 -!- xyxu [~xyxu@58.41.1.67] has quit [Ping timeout: 252 seconds] 06:57:39 -!- DataLinkDroid [~David@1.158.139.186] has quit [Quit: Bye] 07:00:47 jdz [~jdz@193.206.22.97] has joined #lisp 07:02:20 *attila_lendvai* is very much baffled by the git hype... whatever is exposed to the users is just horrible 07:03:18 pjb: FWIW, every software, including a kernel, has users, so that's not an excuse... 07:03:50 I like git because it sucks less than svn and doesn't require installing haskell. 07:03:55 -!- pnathan [~Adium@75.87.255.164] has quit [Quit: Leaving.] 07:06:15 pjb: i'm talking about the version which doesn't use read-line. if you remove the eval portion, and call (define-my-stuff p1) (p1:hotpo) and then try to load it through asdf, then it fails when you restart and load it again. i'm guessing due to compile-file but haven't confirmed yet. 07:07:02 hkBst [~marijn@79.170.210.172] has joined #lisp 07:07:03 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 07:07:03 hkBst [~marijn@gentoo/developer/hkbst] has joined #lisp 07:08:35 ferada [~ferada@dslb-088-068-129-237.pools.arcor-ip.net] has joined #lisp 07:08:38 mishoo [~mishoo@79.112.104.38] has joined #lisp 07:12:58 -!- jjkola_work [c064748e@gateway/web/freenode/ip.192.100.116.142] has quit [Quit: Page closed] 07:14:56 -!- mcox [~user@140.253.50.113] has quit [Remote host closed the connection] 07:16:24 pjb: on git, the manual package takes git-command for more information. for instance man git-push. that helps a bit. also pragmating version control using git was handy for me. 07:17:44 attila_lendvai: fast branching and merging is a plus from the systems that people used to use. i haven't seen people move from optimum to optimum, more from bad to slightly-less-bad. i think git is a step up from svn and personally don't find it (git) that complex to use for routine maintenance tasks. 07:18:19 i'll tell you a story 07:18:28 git is the best thing since sliced bread 07:18:30 end of story 07:18:45 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 248 seconds] 07:19:44 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 246 seconds] 07:20:28 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:21:26 jdz: quite a sad story, isn't it? ;) 07:21:50 madnificent: i don't know from what viewpoint you have to look at it for it to be so 07:22:23 jdz: i was joking, really 07:22:23 jdz: if you're invested in darcs's success 07:22:26 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Ping timeout: 252 seconds] 07:22:46 except: «after all these yearls I've finally learned to use SVN, and now they have come out with this GIT thing? Noooooooooooooo!» 07:23:34 i still have to use CVS 07:24:26 jdz: i was implying that git was an epic fail. but i'm not serious, i'm glad it's around. i haven't checked out the (distributed) alternatives though, so it may well not be my best option. 07:24:57 madnificent: git was an epic fail before it bacame an epic success you mean? 07:25:16 (i don't record git being a failure at any point in my experience) 07:25:29 s/record/recall 07:25:38 jdz: no, i mean that i was joking. really. i was not serious 07:25:43 jdz: it's not written in CL, for starters 07:26:36 yeah, i guess Linus is too lazy to learn CL 07:26:48 he already has his hammer (or, axe) 07:32:00 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 07:33:24 git in lisp? weird 07:33:36 is it? 07:34:22 what would it gain? 07:34:32 what would it lose? 07:34:50 it would be written in CL, that's enough for me 07:35:22 what would it take to roll back time, smack Linus on the head with the hardcopy of CL spec? 07:35:47 well, you can write cl-git without linus 07:36:08 sounds like an exercise in self-indulgence 07:36:13 minion: cl-darcs? 07:36:14 cl-darcs: cl-darcs is a client for the darcs version control system written in Common Lisp. http://www.cliki.net/cl-darcs 07:36:32 how far back are you talking? 07:37:01 ahinki [~chatzilla@212.99.10.150] has joined #lisp 07:37:28 minion: glitter? 07:37:29 glitter: glitter is a native Common Lisp library for working with git version control repositories. http://www.cliki.net/glitter 07:37:39 if you got linus to give up on making linux we'd all be poorer 07:38:24 -!- thom_logn [~thom@pool-173-60-243-134.lsanca.fios.verizon.net] has quit [Quit: This computer has gone to sleep] 07:38:52 tensorpudding: wrong. we'd be using bsd. or even something good, not just unix re-re-re-invented. 07:39:14 Hmm. I guess that bsd is only re-re-invented. 07:39:15 lies 07:39:23 wrong, you don't know what would happen 07:39:32 It would have failed horribly. 07:39:32 tanenbaum is to blame for not open sourcing linux. 07:39:43 minix i mean 07:39:48 Like it or not, lisp machines are a terrible idea. 07:40:15 unix is a terrible idea, too 07:40:26 Zhivago: but the stuff they had on lisp machines was not 07:40:27 Zhivago: it's an outdated idea 07:40:50 It was a terrible idea, briefly made possible by military funding. 07:41:12 Unfortunately it sounds like such a good idea that we've been stuck in a lisp-machine mind-set ever since. 07:42:08 Zhivago: mention some good ideas 07:42:24 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #lisp 07:42:37 burato [~groot@c-98-199-75-55.hsd1.tx.comcast.net] has joined #lisp 07:42:41 Machines. 07:43:31 Lots of separate, small machines. 07:43:44 connection machines? 07:43:49 No. 07:43:56 More like posix processes. 07:44:08 Which is why unix has won in the end. 07:44:25 -!- slyrus [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 07:44:30 Unix is all about VMs. 07:44:52 unix has won? what, exactly? 07:44:59 Pretty much every competitor to unix tried to avoid that, and died in the process, or adapted in its image. 07:45:04 Everything. 07:45:17 Have a look at the OSes in use today. Which ones aren't like unix? 07:45:42 none of them are very different 07:45:45 Zhivago: not even linux is "like unix" that much anymore. 07:45:54 Zhivago: i guess by your definition Windows is Unix, so I digress. 07:46:00 Zhivago: and you're not trying to say that process isolation is a "unix" idea, do you? 07:46:26 in what way are we stuck in a lisp machine mindset 07:46:32 No. I'm saying that it's one of the few core ideas of unix. 07:46:54 phadthai: Image based systems. 07:47:11 I agree about OSs borrowing a lot from unix 07:47:12 CL systems try to build a lisp-machine to live inside of. 07:47:34 sn0rri [~sn0rri@62.169.219.149] has joined #lisp 07:47:34 So they end up being fat and uncooperative as a result. 07:47:38 Zhivago: images are also a side effect of interactive programming though 07:47:44 No. 07:47:52 You don't need images for interative programming. 07:48:00 -!- BigHugeDog [~QQ@221.0.11.215] has quit [Quit: Leaving.] 07:48:05 And realistically, people don't use them for that -- they use slime, etc. 07:48:08 do you mean on-disk images? Then that's implementation dependent 07:48:11 xyxu [~xyxu@58.41.1.67] has joined #lisp 07:48:13 And slime doesn't give a damn about images. 07:48:26 phadthai: Sure, and what I'm talking about is why the implementations are like that. 07:48:39 ok 07:48:56 People use images instead of linkage, and badly at that, pretty much. 07:49:41 TimKack [~user@c-2ec20c45-74736162.cust.telenor.se] has joined #lisp 07:50:09 kilon [~kvirc@178.59.17.196] has joined #lisp 07:50:10 one of the things I like about ECL 07:50:21 (dynamic linking) 07:50:41 ECL by nature is more cooperative, and it avoids images. 07:51:16 BigHugeDog [~QQ@221.0.11.215] has joined #lisp 07:51:41 katspaugh [~katspaugh@195.93.246.10] has joined #lisp 07:51:49 -!- xyxu [~xyxu@58.41.1.67] has left #lisp 07:52:15 Hi! Are Common Lisp special variables different from JavaScript's global variables? 07:52:20 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 07:52:22 it's the only one which works here on arm..... 07:52:24 katspaugh: yes 07:52:29 i couldn't build any other.... 07:52:32 -!- burato [~groot@c-98-199-75-55.hsd1.tx.comcast.net] has quit [Quit: leaving] 07:53:00 katspaugh: https://en.wikipedia.org/wiki/Common_lisp#Dynamic 07:53:35 adz, phadthai6 thanks! I'll investigate further. 07:53:41 jdz * 07:54:08 phadthai * 07:54:15 katspaugh: Yes. Consider (defvar a 10) (defun b () (let ((a 20)) (c))) (defun c () a) 07:55:23 wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has joined #lisp 07:55:24 -!- wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has quit [Excess Flood] 07:55:26 Zhivago: will the let shadow the previous a value? 07:55:48 wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has joined #lisp 07:55:49 -!- wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has quit [Excess Flood] 07:56:28 wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has joined #lisp 07:58:37 -!- wbooze [~wbooze@xdsl-78-35-152-169.netcologne.de] has quit [Ping timeout: 260 seconds] 07:58:49 -!- wbooze| [~wbooze@xdsl-78-35-142-241.netcologne.de] has quit [Client Quit] 07:59:29 wbooze [~wbooze@xdsl-78-35-142-241.netcologne.de] has joined #lisp 07:59:40 gravicappa [~gravicapp@ppp91-77-180-143.pppoe.mtu-net.ru] has joined #lisp 08:00:15 question for the mac users around here. i was trying to help a friend install sbcl on the mac. everyone said it was very simple, though he needed to become a developer in order to install sbcl (run make), is thaht normal? is there some guide for installing sbcl really quickly on the mac (running it through run_sbcl was ok from the start) 08:00:59 become a developer? 08:01:27 killerboy [~mateusz@195.225.68.249] has joined #lisp 08:01:41 my guess: "become administrator" to run "make install"? 08:01:57 do we have make install? 08:02:48 it's just ./install.sh, but of course you would need some rights if you want to install it system-wide 08:03:47 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has quit [Remote host closed the connection] 08:03:54 -!- asvil [~asvil@178.124.160.180] has quit [Ping timeout: 252 seconds] 08:04:49 attila_lendvai [~attila_le@87.247.57.134] has joined #lisp 08:04:49 -!- attila_lendvai [~attila_le@87.247.57.134] has quit [Changing host] 08:04:49 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 08:05:51 c_arenz [arenz@nat/ibm/x-qymuswkswndkgobs] has joined #lisp 08:05:55 make install probably copies install.sh to install and chmod+xes it 08:06:20 stassats`: sh install.sh requires some developer tools, which in turns requires you to tell apple that you're a developer (not /for/ apple, but /on/ apple) 08:06:30 Jeanne-Kamikaze [~Jeanne-Ka@86.Red-88-11-22.dynamicIP.rima-tde.net] has joined #lisp 08:07:01 well, apple is crazy 08:07:29 if you are using sbcl, then you're likely to be a developer, no? 08:07:58 bas_ [~bas@89.184.179.185] has joined #lisp 08:07:58 -!- bas_ is now known as Skola 08:08:10 it was complaining that make wasn't installed. not that big of a deal, i guess. but it takes some time (which isn't cool if you're teaching a lisp introduction thing (nothing official, so it's not a big deal)). i often see tweets coming around that it only took 2 minutes to get sbcl and lisp up and running since quicklisp, so i wondered what the secret souce was. 08:08:50 a sane operating system? 08:08:52 i presume 08:08:53 Kryztof: true, but as sbcl can run without being a registered developer. or at least without the use of make and all, it could be nice if it wouldn't be necessary to run make. 08:09:34 stassats`: it's not my choice. if you're teaching someone lisp, you do not want to be bothered with the os they use 08:12:57 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 08:13:45 -!- sezo [~yhiselamu@lap.ee] has quit [Quit: #yhiselamu | www.yhiselamu.ee (Session timeout)] 08:14:20 kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #lisp 08:14:31 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 264 seconds] 08:17:26 you might try a different lisp, one that has a binary for mac 08:17:44 sbcl has a binary for mac 08:18:05 treyka [~treyka@77.109.79.57] has joined #lisp 08:18:20 if you have to run make, why bother with a binary? 08:18:35 tensorpudding: make is used to install the binary 08:18:55 i thought clozure was the one mac people used, anyway 08:19:53 *Ralith* is quite happy with clozure on linux 08:19:57 it's what i installed on windows as well 08:20:34 -!- DDR [~chatzilla@d99-199-14-2.bchsia.telus.net] has quit [Quit: for the love of god this is not safe for work] 08:21:10 you shouldn't need to have make installed, you're not going to use it yourself if you're not doing that kind of dev 08:21:45 and installing the whole toolchain just for make is a lot of work 08:22:01 if you don't want make installed, then write a patch for install.sh 08:25:08 -!- teggi [~teggi@123.21.175.173] has quit [Ping timeout: 240 seconds] 08:25:23 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 08:26:42 -!- kornshell [~user@gateway/tor-sasl/skulls] has quit [Remote host closed the connection] 08:29:10 madnificent: you could install brew and then it's just "brew install sbcl". 08:29:23 teggi [~teggi@123.21.175.173] has joined #lisp 08:29:38 bjonnh [~bjonnh@147.210.71.83] has joined #lisp 08:29:58 madnificent: it installs everything into /usr/local, so to avoid sudoing you just chown the directory once. 08:30:10 katspaugh: the problem is not that one cannot install it, the problem is that one cannot just install it without installing other stuff. 08:30:26 -!- tensorpudding [~michael@108.87.21.241] has quit [Ping timeout: 246 seconds] 08:30:49 H4ns: the /usr/local practice is still relevant. 08:31:21 i actually never install sbcl, i use it from the tree 08:31:34 i have an sbcl script in PATH which does relevant things 08:31:38 it used to be a reasonable expectation that anyone likely to use lisp would have make installed and usable. 08:31:44 -!- gffa [~unknown@unaffiliated/gffa] has quit [Ping timeout: 244 seconds] 08:31:56 maybe that expectation is no longer reasonable, and maybe the requirement to install make is too onerous 08:32:45 next thing you know, people will complain about not having /bin/sh 08:32:57 katspaugh: and that works? i mean, it's as sane as fetching it from sbcl.org? 08:33:18 but that is a little bit surprising to me. ("Apple insists that if you want to do something interesting on your computer, you tell them about it. You only have to do this once") 08:33:44 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 08:33:48 madnificent: if you're used to Linux package management systems, it would seem saner. 08:34:12 Or BSD ports for that matter. 08:34:14 Kryztof: I don't think that's quite true, you can install the gnu toolchain by other means 08:34:16 katspaugh: is it as up to date? on linux i always install manually as package managers and lisp aren't the best friends. 08:34:31 Let me see, madnificent. 08:35:31 cmm [~cmm@109.65.205.224] has joined #lisp 08:35:44 madnificent, by default it installs sbcl-1.0.55. 08:35:57 the problem with debian packaged SBCL is not because it's not recent, but because they infest with things like CLC and other horrors 08:36:16 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Quit: leaving] 08:36:49 -!- tr-808 [brambles@unaffiliated/contempt] has quit [Ping timeout: 245 seconds] 08:42:01 madnificent: you can also specify "brew install sbcl --HEAD" and at will build from the upstream. 08:43:42 stassats`: CLC is long gone 08:44:19 Ie. it still exists, but is not a required dependency any more. 08:47:26 nikodemus: thanks for the work. I'm not in a hurry, I can wait a few weeks until SBCL is a SSC for inlining recursive calls ;) 08:48:17 -!- cmm [~cmm@109.65.205.224] has quit [Ping timeout: 246 seconds] 08:49:14 LaPingvino [~LaPingvin@d54C06DE6.access.telenet.be] has joined #lisp 08:50:08 cmm [~cmm@bzq-109-65-231-228.red.bezeqint.net] has joined #lisp 08:50:40 katspaugh: that's cool 08:55:36 jjkola_work [c064748e@gateway/web/freenode/ip.192.100.116.142] has joined #lisp 08:56:32 -!- cmm [~cmm@bzq-109-65-231-228.red.bezeqint.net] has quit [Ping timeout: 244 seconds] 08:57:22 flip212: it's still in stable1 08:57:27 s/1// 08:57:49 well, I'm running testing/unstable, so I won't see that ;) 08:58:37 tr-808 [brambles@unaffiliated/contempt] has joined #lisp 08:58:41 cmm [~cmm@109.65.227.198] has joined #lisp 09:01:02 TimKack` [~user@c-2ec284b3-74736162.cust.telenor.se] has joined #lisp 09:02:52 -!- cmm [~cmm@109.65.227.198] has quit [Read error: Connection reset by peer] 09:03:25 chrisdone [~cin@unaffiliated/chrisdone] has joined #lisp 09:03:29 -!- TimKack [~user@c-2ec20c45-74736162.cust.telenor.se] has quit [Ping timeout: 245 seconds] 09:04:04 <|3b|> ah, maybe the reason i didn't remember how that part of slime-proxy works is because i didn't write that part 09:04:26 *|3b|* should just drop repl support again :p 09:05:16 some years ago marco baringer made some lisp videos. in at least one of them he somehow got emacs to display the key presses / bindings he was performing, and displayed within emacs. does anyone remember which video that was so i can look at how he did it, or does anyone actually know how he did it? 09:08:14 minion: slime.mov? 09:08:14 slime.mov: "using SLIME" video by Marco Baringer, http://common-lisp.net/project/movies/movies/slime.mov 09:11:35 it doesn't seem to be there on that video. i vaguely recall he said that he had gotten feedback, with people asking him to show the keybindings he was typing, so he added an on-screen display 09:12:13 cmm [~cmm@bzq-79-181-231-7.red.bezeqint.net] has joined #lisp 09:12:17 chrisdone: were the displayed in the minibuffer? 09:12:38 -!- TimKack` [~user@c-2ec284b3-74736162.cust.telenor.se] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 09:13:08 -!- gravicappa [~gravicapp@ppp91-77-180-143.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 09:13:10 stassats`: it was 7 ish years ago but i *think* it was a separate small buffer at the bottom, similar to regex-builder-mode, and you could see one or two lines of things that he had typed 09:13:13 TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has joined #lisp 09:14:11 that's not hard to do 09:14:50 stassats`: ah, how? 09:14:56 let me write it first! 09:15:13 () 09:15:56 stassats`: don't do iiiiiiit! he'll use your help to promote haskell! 09:16:28 jdz: °° sssssssshhhhh!! 09:17:51 stassats`: fwiw i do know elisp, but no idea how to pick up all key presses like that 09:18:14 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 244 seconds] 09:19:22 i'll write a sketch you can improve upon 09:20:33 sweet, thanks :-) 09:20:39 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 09:21:34 *maxm-* is looking for same thing, but needs entire system recording 09:21:37 -!- TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has quit [Remote host closed the connection] 09:21:48 coz it needs to show the qt app I'm driving 09:21:59 chrisdone: http://paste.lisp.org/display/128761 09:22:10 should be possible, coz xscreensaver manages to monitor keystrokes just fine 09:22:25 so, create a new frame and select *echo-key* buffer 09:22:48 maxm-: have you tried looking at xev source? 09:23:09 oh wait, that's not really relevant 09:24:04 xev requires focus. I think you'd need to have something with a keyboard grab which dispatches events to other windows, maybe using XTEST? 09:24:10 dunno, really 09:24:35 a hardware key-logger! 09:24:49 *maxm-* remember googling some xscreensaver bug, and reading jwz rant about intercepting events in x11, and how it was easy to do for keyboard but pain for mouse 09:24:52 stassats`: ohhh, nice. pre-hook-command + this-command-keys. excellent :D 09:25:13 in fact the bug is still tehre I think, that if you use mouse to scroll-wheel through web page, without moving it, xscreensaver does not detect it as activity, and will activate 09:25:33 stassats`: this solves my problem entirely, i can whip something up from here. thanks! 09:25:36 chrisdone: and key-description! 09:26:01 right. never heard of these two functions before :-) 09:27:02 i wrote statistics of keys before collection, so it was easy: https://gist.github.com/1153933 09:27:41 btw, reading from /dev/input/eventX (look up the correct one for your keyboard in /var/log/Xorg.0.log) seems to work 09:28:20 that's so completely cheating! 09:28:32 stassats`: i wanted something like that in the past actually :-) did you find anything interesting from using it for a long time? 09:28:59 i don't remember 09:30:00 -!- cmm [~cmm@bzq-79-181-231-7.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 09:31:54 cmm [~cmm@bzq-79-183-207-37.red.bezeqint.net] has joined #lisp 09:31:57 Kryztof: now after a bit of thinking, i'm sure it should not be very easy to intercept the keystrokes 09:33:29 flip212: well, you may have to wait a fair bit longer 09:33:45 i'm looking at it when i'm otherwise blocked, so... 09:34:22 (and the list of things i should be looking at when i'm otherwise blocked is ... not short) 09:34:39 nikodemus: well, that's fine. Can't complain, after all ... 09:35:05 -!- Modius [~Modius@cpe-70-123-128-240.austin.res.rr.com] has quit [Quit: Leaving] 09:35:27 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 09:39:12 nikodemus: did a follow-up on -devel, with another testcase - not using (first) and (rest) 09:40:43 -!- two- [~textual@c-67-171-131-23.hsd1.wa.comcast.net] has quit [Remote host closed the connection] 09:43:39 -!- cmm [~cmm@bzq-79-183-207-37.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 09:44:12 (and after ever a bit of more thought, it should probably be easy to intercept the keystrokes, but only with the user's consent) 09:44:57 Interception is easy, synthesis is hard. 09:45:10 -!- gaidal [~gaidal@h164n1-m-sp-d4.ias.bredband.telia.com] has quit [Quit: Leaving] 09:45:28 cmm [~cmm@bzq-79-183-220-135.red.bezeqint.net] has joined #lisp 09:55:28 -!- cmm [~cmm@bzq-79-183-220-135.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 09:55:54 -!- teggi [~teggi@123.21.175.173] has quit [Ping timeout: 260 seconds] 09:56:25 -!- impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has quit [Quit: leaving] 09:58:28 true. Synthesis is 2 times exponential in the length of the input specification :P 10:00:53 impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has joined #lisp 10:02:23 cmm [~cmm@bzq-109-65-233-99.red.bezeqint.net] has joined #lisp 10:02:34 -!- chrisdone [~cin@unaffiliated/chrisdone] has left #lisp 10:03:08 -!- klltkr [~klltkr@188-222-83-162.zone13.bethere.co.uk] has quit [Ping timeout: 272 seconds] 10:05:17 TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has joined #lisp 10:06:38 -!- cmm [~cmm@bzq-109-65-233-99.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 10:07:03 teggi [~teggi@123.21.175.173] has joined #lisp 10:08:07 gffa [~unknown@unaffiliated/gffa] has joined #lisp 10:11:21 gravicappa [~gravicapp@ppp91-77-184-245.pppoe.mtu-net.ru] has joined #lisp 10:13:40 cmm [~cmm@bzq-79-182-233-54.red.bezeqint.net] has joined #lisp 10:13:58 -!- TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has quit [Remote host closed the connection] 10:17:12 -!- katspaugh [~katspaugh@195.93.246.10] has quit [Quit: I've read the spec, which hadn't occured to me before.] 10:18:26 TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has joined #lisp 10:18:38 boyscare1 [~bm3719@muze.x.rootbsd.net] has joined #lisp 10:21:50 pjb` [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 10:21:50 jpanest_ [~jpanest@108-166-73-199.static.cloud-ips.com] has joined #lisp 10:21:58 Ralith_ [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 10:22:38 LAMMJohn1on [~JA@cpc3-nrwh9-2-0-cust336.4-4.cable.virginmedia.com] has joined #lisp 10:22:40 kpal_ [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #lisp 10:23:31 superflit_ [~superflit@75-171-248-45.hlrn.qwest.net] has joined #lisp 10:24:18 jjkola_ [~jjkola@xdsl-83-150-83-66.nebulazone.fi] has joined #lisp 10:25:40 -!- TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has quit [Remote host closed the connection] 10:25:55 vh0st [~vhost@robodance.kyleterry.com] has joined #lisp 10:27:00 TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has joined #lisp 10:27:08 -!- kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [*.net *.split] 10:27:08 -!- Ralith [~ralith@S010600221561996a.vc.shawcable.net] has quit [*.net *.split] 10:27:08 -!- CrazyEddy [~insurrect@wrongplanet/CrazyEddy] has quit [*.net *.split] 10:27:08 -!- superflit [~superflit@75-171-248-45.hlrn.qwest.net] has quit [*.net *.split] 10:27:08 -!- kanru` [~user@61-228-144-114.dynamic.hinet.net] has quit [*.net *.split] 10:27:08 -!- dmiles_afk [~dmiles@dsl-216-155-214-172.cascadeaccess.com] has quit [*.net *.split] 10:27:08 -!- [SLB] [~slabua@unaffiliated/slabua] has quit [*.net *.split] 10:27:08 -!- jpanest [~jpanest@108-166-73-199.static.cloud-ips.com] has quit [*.net *.split] 10:27:08 -!- jjkola [~jjkola@xdsl-83-150-83-66.nebulazone.fi] has quit [*.net *.split] 10:27:08 -!- LAMMJohnson [~JA@cpc3-nrwh9-2-0-cust336.4-4.cable.virginmedia.com] has quit [*.net *.split] 10:27:09 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [*.net *.split] 10:27:09 -!- ski_ [~slj@c80-216-142-165.bredband.comhem.se] has quit [*.net *.split] 10:27:09 -!- vhost- [~vhost@unaffiliated/vhost-] has quit [*.net *.split] 10:27:09 -!- Zhivago [~zhivago@li49-59.members.linode.com] has quit [*.net *.split] 10:27:09 -!- boyscared [~bm3719@muze.x.rootbsd.net] has quit [*.net *.split] 10:27:09 -!- boyscare1 is now known as boyscared 10:27:09 -!- superflit_ is now known as superflit 10:27:38 -!- SHODAN [~shozan@c-a9b1e253.011-86-73746f30.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 10:28:48 Zhivago [~zhivago@li49-59.members.linode.com] has joined #lisp 10:29:06 -!- cmm [~cmm@bzq-79-182-233-54.red.bezeqint.net] has quit [Ping timeout: 272 seconds] 10:29:35 CrazyEddy [~nephelome@wrongplanet/CrazyEddy] has joined #lisp 10:30:52 ski_ [~slj@c80-216-142-165.bredband.comhem.se] has joined #lisp 10:33:59 sylecn [~sylecn@98.143.159.155] has joined #lisp 10:34:28 [SLB] [~slabua@unaffiliated/slabua] has joined #lisp 10:37:55 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 10:37:56 lindes` [~user@p4FF1C663.dip0.t-ipconnect.de] has joined #lisp 10:38:49 -!- chr [~user@148.122.202.244] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:40:57 -!- gffa [~unknown@unaffiliated/gffa] has quit [Ping timeout: 252 seconds] 10:41:43 -!- lindes` is now known as lindes 10:41:57 gffa [~unknown@unaffiliated/gffa] has joined #lisp 10:43:13 osa1 [~sinan@78.189.172.153] has joined #lisp 10:43:16 -!- osa1 [~sinan@78.189.172.153] has left #lisp 10:46:52 kanru` [~user@61-228-144-114.dynamic.hinet.net] has joined #lisp 10:49:44 -!- Ragnaroek [~chatzilla@boccacio.fh-trier.de] has quit [Remote host closed the connection] 10:51:39 cmm [~cmm@bzq-79-176-216-188.red.bezeqint.net] has joined #lisp 10:53:50 sacho_ [~sacho@95-42-98-81.btc-net.bg] has joined #lisp 10:55:42 -!- sn0rri [~sn0rri@62.169.219.149] has quit [Quit: Leaving...] 10:56:23 -!- sacho [~sacho@95-42-98-81.btc-net.bg] has quit [Ping timeout: 246 seconds] 10:57:19 Ragnaroek [~chatzilla@pad-sh-1.fh-trier.de] has joined #lisp 10:57:44 -!- ivan-kanis [~user@nantes.visionobjects.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:58:19 -!- teggi [~teggi@123.21.175.173] has quit [Remote host closed the connection] 10:59:20 phrixos [~foo@unaffiliated/phrixos] has joined #lisp 11:01:47 -!- cmm [~cmm@bzq-79-176-216-188.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 11:03:14 cmm [~cmm@109.67.231.132] has joined #lisp 11:03:58 mel0on [1000@h-19-141.a146.priv.bahnhof.se] has joined #lisp 11:04:55 -!- Ragnaroek [~chatzilla@pad-sh-1.fh-trier.de] has quit [Ping timeout: 264 seconds] 11:06:08 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 11:07:19 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 264 seconds] 11:07:46 -!- cmm [~cmm@109.67.231.132] has quit [Ping timeout: 244 seconds] 11:08:42 cmm [~cmm@109.65.234.145] has joined #lisp 11:15:03 naeg [~naeg@194.208.239.170] has joined #lisp 11:17:52 -!- cmm [~cmm@109.65.234.145] has quit [Ping timeout: 272 seconds] 11:18:37 -!- Beetny [~Beetny@ppp118-208-9-49.lns20.bne1.internode.on.net] has quit [Ping timeout: 246 seconds] 11:19:13 cmm [~cmm@bzq-79-176-214-121.red.bezeqint.net] has joined #lisp 11:19:46 -!- [SLB] [~slabua@unaffiliated/slabua] has quit [Quit: Close the world, Open the nExt] 11:20:09 -!- ft [efftee@shell.chaostreff-dortmund.de] has quit [Ping timeout: 245 seconds] 11:20:59 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 11:22:02 ft [efftee@shell.chaostreff-dortmund.de] has joined #lisp 11:23:50 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Max SendQ exceeded] 11:24:43 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 11:27:56 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Max SendQ exceeded] 11:28:53 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 11:31:14 snearch [~snearch@g225076158.adsl.alicedsl.de] has joined #lisp 11:32:03 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Max SendQ exceeded] 11:32:09 -!- cmm [~cmm@bzq-79-176-214-121.red.bezeqint.net] has quit [Ping timeout: 252 seconds] 11:33:53 cmm [~cmm@bzq-79-182-229-122.red.bezeqint.net] has joined #lisp 11:41:41 -!- cmm [~cmm@bzq-79-182-229-122.red.bezeqint.net] has quit [Ping timeout: 248 seconds] 11:43:26 cmm [~cmm@bzq-79-181-219-177.red.bezeqint.net] has joined #lisp 11:44:23 -!- impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has quit [Quit: leaving] 11:49:07 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 11:51:20 impulse32 [~impulse@bas3-toronto48-1176314164.dsl.bell.ca] has joined #lisp 11:51:46 -!- cmm [~cmm@bzq-79-181-219-177.red.bezeqint.net] has quit [Read error: Connection reset by peer] 11:55:34 adu [~ajr@pool-173-66-5-43.washdc.fios.verizon.net] has joined #lisp 11:56:48 -!- adu [~ajr@pool-173-66-5-43.washdc.fios.verizon.net] has quit [Client Quit] 11:57:59 -!- sylecn [~sylecn@98.143.159.155] has quit [Ping timeout: 246 seconds] 12:06:51 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 12:09:07 improved echo key: http://paste.lisp.org/+2RCP/1 12:10:15 -!- pjb` [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 12:10:52 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 12:11:18 -!- pjb is now known as Guest86762 12:11:46 -!- Guest86762 is now known as pjb 12:14:02 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Quit: leaving] 12:15:48 TimKack` [~user@c-2ec22dae-74736162.cust.telenor.se] has joined #lisp 12:17:14 ivan-kanis [~user@nantes.visionobjects.com] has joined #lisp 12:18:47 -!- TimKack [~user@c-2ec284b3-74736162.cust.telenor.se] has quit [Ping timeout: 265 seconds] 12:28:04 sezo [~yhiselamu@lap.ee] has joined #lisp 12:28:23 -!- Kryztof [~user@81.174.155.115] has quit [Ping timeout: 245 seconds] 12:28:42 -!- nikodemus [~nikodemus@188-67-156-31.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 12:30:23 is there any reason why this wouldnt work as well as alexandria:format-symbol? (format nil "~a-~a" (string 'hello) (string 'world)) 12:30:44 metaphysician [~meta@unaffiliated/meta-coder] has joined #lisp 12:30:50 you don't need STRING 12:30:50 plus (intern *) 12:31:25 -!- kushal [kdas@fedora/kushal] has quit [Ping timeout: 260 seconds] 12:31:25 sezo: it would be exactly what alexandria:format-symbol does 12:31:49 stassats` hmm i thought I remember there was a discussion about that before, and that string was needed. don't remember details though 12:31:52 -!- lindes [~user@p4FF1C663.dip0.t-ipconnect.de] has left #lisp 12:32:17 lindes [~user@p4FF1C663.dip0.t-ipconnect.de] has joined #lisp 12:32:32 well, if you use some perverted printing settings 12:32:54 ah yes, ~a follows *print-case* 12:33:24 then the better way would be (alexandria:symbolicate 'hello '- 'world) 12:33:58 although it depends on the value of *package* 12:33:59 lispmeister [~fix@AStDenis-551-1-78-52.w92-160.abo.wanadoo.fr] has joined #lisp 12:34:33 sezo: you need STRING! 12:35:07 sezo: if you don't use string, since ~A prints symbols respecting *print-downcase* you will generate symbols in a case you don't expect! 12:35:28 alexandria:format-symbol is bad. 12:35:34 i say you don't need to care about those modern mode people and use (format nil "HELLO-WORLD") 12:35:41 pjb: how is it bad? 12:35:48 I just explained it! 12:35:55 ~A prints symbols respecting *print-downcase*. 12:35:57 no, you didn't 12:36:29 who's stopping you from calling alexandria:format-symbol with strings? 12:36:35 *|3b|* sees no ~a in format-symbol 12:36:59 stassats`: (setf *print-case* :downcase) (ql:quickload :iolib) gave an error because alexandria generated symbols with lowercase letters, while iolib read them with the standard readtable case. 12:37:15 well, don't do that then 12:37:28 That's why I reported the bug to iolib, not to alexandria. 12:37:40 But IMO alexandria:format-symbol is ill-designed. 12:38:25 stassats`: you stops people calling alexandria:format-string with strings: " you don't need STRING" 12:39:22 well, because i'm saying let people who care about modern mode and printer modification care about those things and send patches if they want to 12:40:09 That's not really a good attitude for a library writer, IMO. 12:40:36 and you don't need STRING for modern mode 12:40:40 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 12:41:22 *|3b|* isn't sure i'd get it write even if i did care, so doesn't seem like much point in worrying about it 12:42:13 Is there a standard idiom for bulk-assignment to a hash-table, or do I just make something along the lines of a (populate-hash-table ) macro? 12:42:36 pjb: it's a very good approach for one who writes open-source code in his free time 12:42:55 phrixos: no standard idiom, and you could do it as a function rather than macro. 12:43:12 Xach: ok, thanks 12:43:34 it's not hard to make code for modern mode work, but making code into a convoluted mess because someone prefers different printer setting is not what i would do 12:44:35 phrixos: alexandria:plist-hash-table 12:44:44 *|3b|* tends to just use alexandria:alist-hash-table (or plist-hash-table) when i want a bunch of stuff in a hash table at once... not sure about bulk adds to an existing hash though 12:46:31 Hmm, yeah, that looks handy for some cases 12:46:39 -!- udzinari [user@2a01:7e00::f03c:91ff:fedf:3aab] has left #lisp 12:46:44 udzinari [user@2a01:7e00::f03c:91ff:fedf:3aab] has joined #lisp 12:46:45 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Ping timeout: 248 seconds] 12:46:47 and in fact it would be fine in this case as well, because the table is being created from scratch 12:47:10 -!- metaphysician [~meta@unaffiliated/meta-coder] has quit [Ping timeout: 246 seconds] 12:47:18 i think i'll go ahead and code the function anyway though, because before long i'm going to need bulk assignment to an existing table 12:47:22 thanks for the pointers 12:47:37 why don't you use a hash-table in the first place? 12:47:40 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 12:48:46 how do you mean? 12:49:06 don't do bulk assignment 12:49:19 -!- udzinari is now known as |42| 12:50:23 because then i have to either have a load of (gethash foo bar) forms, or make a reader macro or something along those lines 12:50:44 this is for a set of key-bindings that I want the user to be able to change easily from a config file 12:51:02 do what emacs does 12:52:14 pjb: i've annotated at http://paste.lisp.org/display/128745#3 12:52:19 actually scratch that part about the use assignment 12:52:24 they won't see the has directly anyway 12:52:28 s/has/hash 12:53:28 pjb: adding the package, wrapped in an eval-when, at the start of the progn doesn't help either. but you probably knew that already. 12:54:45 asvil [~asvil@178.124.160.180] has joined #lisp 12:55:17 <|42|> has anyone spotted beach around here lately? 12:55:28 no, only snow 12:55:57 <|42|> is that his new nickname? 12:56:16 no, that's what i see in the window 12:56:29 |42|: i don't think he's still around 12:56:48 and as to beach, i don't think i've seen him here this year yet 12:58:42 metaphysician [~meta@unaffiliated/meta-coder] has joined #lisp 12:58:48 <|42|> snow in april? that is harsh.. 13:00:12 dsfklsdfk [~user@mambo.enseirb-matmeca.fr] has joined #lisp 13:00:29 -!- dsfklsdfk [~user@mambo.enseirb-matmeca.fr] has quit [Client Quit] 13:01:19 I saw beach at ECLM in October, but he was fairly inactive on IRC even before that. 13:04:19 That's old news. Anybody has any idea what's happening to him? He lost his web page at his university. http://dept-info.labri.fr/~strandh 13:05:18 pjb is that a bug that format-symbol respects *print-case*, or did they do that on purpose? 13:05:28 madnificent: if you create a package in a macro with make-package, you need to wrap the extension in a (eval-when (:compile-toplevel :load-toplevel :execute) (make-package )) 13:05:37 pjb: format-symbol is format + intern 13:05:39 err 13:05:44 sezo: I don't know if that's done on purpose. I'd bet it's not. 13:05:44 sezo: 13:05:57 format respects *print-case* on purpose 13:06:28 pjb: i'll check again, but i think that failed as well 13:06:44 (eval `(defun (format-symbol "~A-~A" 'make 'something) () 'hi)) (make-something) breaks. I don't know if that's on purpose. 13:06:49 -!- newcup [newcup@peruna.fi] has quit [Ping timeout: 245 seconds] 13:06:54 pjb: i need to generate the code for make-package in that case, right? or should it still be in the macro 13:07:07 (with *print-case* = :downcase) 13:07:25 <3 (eq *print-case* :downcase) 13:07:25 pjb: did you write it on purpose? 13:07:27 madnificent: Yes. 13:07:37 stassats`: iolib author didn't write it on purpose. 13:07:45 format-symbol is FORMAT+INTERN, it does exactly what you tell it to do 13:08:25 Ok. To create those symbols for macros, I don't want just format+intern, I need more. That's why I don't use format-symbol. 13:08:35 what do you use? 13:08:43 pjb: and the make-package may be wrapped in an if construct? so i can conditionally create the package if it doesn't exist yet? 13:10:25 nikodemus [~nikodemus@188-67-156-31.bb.dnainternet.fi] has joined #lisp 13:10:32 depends. often (intern (concatenate 'string (string sym1) (string sym2))) othertimes (intern (wsiosbp (format nil "~A-LABEL" name))), wsiosbp being a macro whose in-extenso name is with-standard-io-syntax-but-package, etc. 13:11:09 madnificent: sure. The point is that that code needs to be executed at compilation time if you want to use that package name in following expressions. 13:11:56 won't "~A-LABEL" break if you use case sensitive reader 13:12:01 xyxu [~xyxu@222.68.158.80] has joined #lisp 13:12:25 sezo: the question is that the way you format the symbol depends on the use you have for those symbols. So if we want to design a library, we need to identify those different uses and control the symbol creation in each case. 13:13:02 sezo: that's why I have my upcase-lisp emacs command. :-) 13:13:13 pjb: i now don't understand why my earlier code didn't work... thanks! i'll see if i can translate it to what sexml needs. (a job for this evening) 13:13:40 sezo: source files should contain a (setf (readtable-case *readtable*) whatever) as well as (in-package whatever) at the start 13:14:05 newcup [newcup@peruna.fi] has joined #lisp 13:15:41 I started using case sensitive reader so I became a bit paranoic when it comes to generating symbols portably 13:15:43 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 13:16:27 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 13:16:52 sezo: Then be sure to put (|SETF| (|READTABLE-CASE| |*READTABLE*|) :|PRESERVE|) at the start of your case sensitive files. 13:17:22 which would brake on modern mode 13:17:25 what? :) 13:17:26 break 13:17:40 Just ignore modern mode, it's not standard. 13:17:59 you can say the same about read-table-case modifications 13:18:14 lower case (setf (readtable .. )) worked fine 13:18:15 stassats`: you can use them in a standard way. 13:18:28 By puting the (setf readtable-case) form inside the files. 13:19:06 pjb: but it would work only for symbols created during compilation, not at run-time 13:19:37 Again you need to control that! 13:19:53 pjb I have this. http://paste.lisp.org/display/128747#1 13:19:58 Symbols read at run-times are not necessarily the same as the symbols read in the source. 13:20:15 sezo: that sounds good. 13:20:16 the only reason I'm doing this is because of Common Qt. (#_resize widget 200 300) is pretty ugly, especially when nested 13:20:26 I wish commonqt had real bindings instead of #_ hack 13:21:01 with lispyfied names, classes, methods and all 13:21:19 and who would write them? 13:21:43 there's already cl-smoke which takes an eternity to load 13:21:59 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 246 seconds] 13:23:35 hkBst [~marijn@79.170.210.172] has joined #lisp 13:23:35 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 13:23:35 hkBst [~marijn@gentoo/developer/hkbst] has joined #lisp 13:24:40 -!- mcsontos [mcsontos@nat/redhat/x-ylhzvhjhdjfpupnp] has quit [Quit: Leaving] 13:24:51 stassats it takes eternity to load because of that? I never used it, wanted something that doesn't just work on linux 13:25:28 automatically generating classes would get you neither something lispy not something qty 13:25:36 you probably want to care about modern-mode if you intend to have the library around for a longer time. 13:25:44 is it generating classes during load, is that's why it's slow? 13:26:14 i write lispy classes with a lispy API as I go for things I need and use more than once 13:27:14 sezo: Qt has a lot of classes 13:27:26 sezo: perhaps you could have the best of two words with a reader macro. Have a look at: http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/245342429c61800/f7966bf3df9f716c?lnk=gst&q=objcl#f7966bf3df9f716c 13:28:19 thanks i'll check it out 13:28:23 sezo: you could do a reader macro on #\{ so that you could write: (progn {widget.resize(200,300); widget.drawRect(0,0,100,100); } ) 13:28:30 stassats so it's just loading so many classes that takes so much time? 13:28:42 This would allow you to copy-and-paste Qt code around :-) 13:28:43 sezo: i don't know which specifically 13:29:03 osa1 [~sinan@78.189.172.153] has joined #lisp 13:29:07 -!- osa1 [~sinan@78.189.172.153] has left #lisp 13:29:24 sezo: if this is sbcl, loading can be slow for lots of definitions 13:29:28 pjb interesting. :). actually maxm- did something similar, which is what I'm using now. (with-qt (widget.resize 200 300)) 13:29:40 Good. 13:29:55 coneshell [~shawn@112.254.3.214] has joined #lisp 13:30:01 i don't see how it's an improvement over (#_resize widget 200 300) 13:30:09 Hirte [~zypeh@60.51.58.53] has joined #lisp 13:31:01 Improved echo-key: http://paste.lisp.org/+2RCP/2 13:31:02 <|42|> can sbcl error when a variable defparametered as number gets assigned data of other type e.g. string? 13:31:12 No. 13:31:14 ... 13:31:22 |42|: it can 13:31:44 coneshell,  13:31:44 <|42|> stassats`: how? 13:31:47 (defparameter *a* 42) (setf *a* "...") (setf *a* (random-state)) etc. 13:31:58 it's subjective i guess, i find #_ cluttering. see when it's more nested though: 13:32:00 |42|: (declaim (type number variable)) 13:32:05 (#_setFont quit (#_new QFont "Times" 18 (#_QFont::Bold))) 13:32:11 (button.setFont (new QFont "Times" 18 (QFont.Bold))) 13:32:25 Hirte: he said "Soy sauce" 13:32:46 pjb, i know 13:33:16 i once wrote SETF so you could write (setf (font quit) ...) 13:33:21 but it didn't work on CCL 13:33:41 sezo: the former is more what i'm used to when writing code in CL 13:33:53 i just disregard that #_ exists 13:34:18 pjb, actually he said " beating the soy sause " 13:34:51 I used t8 in #emacs. 13:35:15 stassats`: ccl has its own #_. 13:35:30 so what? 13:35:39 Perhaps that's why it didn't work on ccl? 13:35:44 no 13:35:50 ok 13:37:07 and it was (setf (#_font quit) ...) 13:37:52 why is the global variables got a *x* earmuff there ? 13:38:03 -!- metaphysician [~meta@unaffiliated/meta-coder] has quit [Quit: metaphysician] 13:38:06 Hirte: to avoid a day of debugging. 13:38:07 so that you know it's a global variable 13:38:13 -!- chturne [~chturne@host86-136-158-113.range86-136.btcentralplus.com] has quit [Quit: Leaving] 13:38:28 Hirte: in CL, global variables defined with defvar and defparameter are also SPECIAL variables. 13:38:37 well, it's more to remember that it is a *special* variable 13:38:44 ie. all bindings of their symbol are dynamic bindings. 13:38:54 *sounds SPEACIAL* 13:40:18 Similarly, variables defined with defconstant cannot be rebound. So to avoid writing a binding to a constant variable inadvertantly, we surround constant variable names with ++. 13:40:30 kami` [~user@unaffiliated/kami-] has joined #lisp 13:40:35 Notice that the CL package doesn't do that, it defines constants such as PI and CHAR-CODE-LIMIT. 13:40:35 Hello 13:40:40 pjb: it didn't work because ccl put arguments to the SETF method into temporary variables 13:40:53 pjb: so i couldn't perform compile-time optimizations 13:40:56 stassats`: most setf-expanders do that. 13:40:59 Any elephant users around? 13:41:24 pjb, CL means Common Lisp, right ? 13:41:28 Right. 13:41:39 -!- kilon [~kvirc@178.59.17.196] has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/] 13:41:39 Common Lisp defines a standard package named COMMON-LISP and nicknamed CL. 13:41:48 and since (setf (#_foo x) y) isn't a big improvement over (#_setFoo x y) i backed it out 13:42:03 Along with a package named KEYWORD and another COMMON-LISP-USER nicknamed CL-USER. 13:42:19 stassats`: indeed. 13:42:22 pjb, i think lisp have too many dialect ... that is it's problem 13:42:32 Hirte: that's why we defined a COMMON lisp. 13:42:39 So that now you can ignore the dialects. 13:42:45 the biggest benefit was that i could group several sets 13:43:06 <|42|> stassats`: it did not like type specifier 'number', should it have been fixnum? 13:43:08 Hirte: have a look at http://paste.lisp.org/display/122296 13:43:24 |42|: what did not like? 13:43:54 <|42|> well compiler said no such variable as number, i changed it to fixnum and everyhitng worked 13:43:59 -!- Skola [~bas@89.184.179.185] has quit [Ping timeout: 260 seconds] 13:44:11 that means that you did it wrong 13:44:16 you missed a quote. 13:44:21 hlavaty [~user@91-65-218-223-dynip.superkabel.de] has joined #lisp 13:45:12 |42|: what exactly did you write? 13:45:21 (declaim (type number variable)) is a correct form. 13:45:39 as are (typep variable 'number) or (check-type variable number). 13:45:54 -!- ramkrsna [ramkrsna@nat/redhat/x-wpmtcumsypuqmcvr] has quit [Quit: Leaving] 13:47:38 Does anybody here user elephant? 13:47:52 you asked this just 5 minutes ago 13:48:21 stassats`: sorry. Was not sure, whether it went through. 13:48:32 slyrus [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has joined #lisp 13:48:37 minion: please tell kami` about logs 13:48:37 kami`: look at logs: #lisp logs are available at http://ccl.clozure.com/irc-logs/lisp/ (since 2008-09) and http://tunes.org/~nef/logs/lisp/ (since 2000) 13:48:50 stassats`: thank you 13:49:06 minion: thanks! 13:49:06 np 13:53:05 <|42|> pjb, stassats` my bad, eveyrthing works 13:54:17 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 13:54:59 -!- coneshell [~shawn@112.254.3.214] has left #lisp 13:55:39 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 252 seconds] 13:55:41 slyrus_ [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has joined #lisp 13:55:43 -!- slyrus [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 13:55:50 -!- slyrus_ is now known as slyrus 13:56:55 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 14:02:24 -!- __main__ [~main@c-67-180-22-241.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 14:03:22 __main__ [~main@c-67-180-22-241.hsd1.ca.comcast.net] has joined #lisp 14:03:52 dmiles_afk [~dmiles@dsl-216-155-214-172.cascadeaccess.com] has joined #lisp 14:04:35 milanj [~milanj_@93-86-54-102.dynamic.isp.telekom.rs] has joined #lisp 14:05:35 mcstar [~mcstar@adsl-89-134-25-21.monradsl.monornet.hu] has joined #lisp 14:11:44 add^_ [~add^_^@m90-141-49-231.cust.tele2.se] has joined #lisp 14:12:57 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 14:21:34 ThomasH [~user@pdpc/supporter/professional/thomash] has joined #lisp 14:21:34 -!- kami` [~user@unaffiliated/kami-] has quit [Read error: Connection reset by peer] 14:21:51 Greetings lispers 14:22:31 rme [~rme@50.43.137.11] has joined #lisp 14:22:59 -!- Hirte [~zypeh@60.51.58.53] has quit [Read error: Operation timed out] 14:23:39 -!- LaPingvino [~LaPingvin@d54C06DE6.access.telenet.be] has quit [Ping timeout: 260 seconds] 14:29:01 -!- ThomasH [~user@pdpc/supporter/professional/thomash] has quit [Remote host closed the connection] 14:29:06 ThomasH [~user@pdpc/supporter/professional/thomash] has joined #lisp 14:29:48 Interesting 14:30:03 -!- treyka [~treyka@77.109.79.57] has quit [Ping timeout: 245 seconds] 14:30:12 -!- sacho_ [~sacho@95-42-98-81.btc-net.bg] has quit [Read error: Connection reset by peer] 14:30:15 Really? 14:30:18 What's interesting? 14:30:39 sacho_ [~sacho@95-42-98-81.btc-net.bg] has joined #lisp 14:31:01 -!- snearch [~snearch@g225076158.adsl.alicedsl.de] has quit [Quit: Verlassend] 14:31:06 stassats [~stassats@wikipedia/stassats] has joined #lisp 14:31:07 interesting, that my quicksort makes mistakes 14:31:08 -!- specbot [~specbot@pppoe.178-66-89-196.dynamic.avangarddsl.ru] has quit [Ping timeout: 240 seconds] 14:31:09 -!- stassats` [~stassats@wikipedia/stassats] has quit [Read error: Operation timed out] 14:31:14 -!- minion [~minion@pppoe.178-66-89-196.dynamic.avangarddsl.ru] has quit [Ping timeout: 260 seconds] 14:31:18 minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 14:31:31 im sure it is lisp's fault 14:32:04 specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 14:32:06 lisppaste 14:32:25 pjb: First try at joining the channel must not have worked. Did you see "Grreeting lispers" ? 14:32:27 kenanb [5e36ede3@gateway/web/freenode/ip.94.54.237.227] has joined #lisp 14:32:37 if stassats said his quicksort makes mistakes and it's probably sbcl's fault, i'd believe it 14:32:45 Yes i saw it. 14:33:08 pjb: Ok, well, for some reason after typing that, my client appeared to join again. 14:33:20 Xach: you know im kidding, right? 14:33:32 minion: advice on compiler bug? 14:33:32 #11907: Looking for a compiler bug is the strategy of LAST resort. LAST resort. 14:33:54 LAST is an acronym? 14:33:54 minion: advice on bad RAM? 14:33:55 #11909: Bad programmer! No cookie! 14:34:03 minion: advice on RAM? 14:34:03 #11952: In my experience that is a bad strategy, because the people who ask such questions are the ones who paste the answer into their program without understanding it and then complain that it `does not work'. 14:34:10 eh 14:34:32 What about cosmic rays? 14:34:54 minion: advice 12000 14:34:54 Looking for a compiler bug is the second-to-last resort. The last resort is blaming bad RAM. It's never the correct hypothesis. 14:35:05 here it is 14:35:28 minion: i think your RAM has corrupted, pls delete yourself 14:35:29 does torturing a poor bot with things beyond its comprehension please you? 14:35:34 what about cpu bug? http://leaf.dragonflybsd.org/mailarchive/kernel/2012-03/msg00000.html 14:36:03 how many did you uncovered? 14:36:06 chupish [182c5af4@gateway/web/freenode/ip.24.44.90.244] has joined #lisp 14:36:15 lol, none 14:36:17 -!- lindes [~user@p4FF1C663.dip0.t-ipconnect.de] has quit [Ping timeout: 265 seconds] 14:37:01 "where the process or incorrectly" ? 14:37:08 I had bad RAM once. 14:37:17 i had bad power supply twice 14:38:05 i have a bad memory too 14:38:32 i don't even remember my phone number 14:38:44 i've identified one gcc/libc/kernel bug -- apportioning the blame was a bit muddy there 14:38:47 its ok to rotatef a variable onto itslef right? 14:38:48 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 14:39:02 it's rather pointless 14:39:17 Like a package using itself 14:39:33 I would be pretty excited to learn about a useful reason to do that, though. 14:39:34 passionke [~Administr@58.100.71.219] has joined #lisp 14:39:40 -!- Fare [~Fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 276 seconds] 14:39:47 stassats: i usually dont rotatef to itself, but it can happen 14:40:00 rotating 2 elemnts of a vector 14:40:57 btw it is the pivot, that i rotatef to the front of the subvector 14:41:05 so that i can easily partition 14:41:25 and sometimes the pivot is the front 14:41:52 -!- kenanb [5e36ede3@gateway/web/freenode/ip.94.54.237.227] has quit [Quit: Page closed] 14:43:01 kilon [~kilon@athedsl-399073.home.otenet.gr] has joined #lisp 14:43:44 weird, the alg. works for handmade vectors, the problem arises when i sort a vector of 10k elements 14:46:07 Write an invariant checking function and call it at each step. 14:46:10 askatasuna [~askatasun@190.97.14.79] has joined #lisp 14:46:16 -!- ahinki [~chatzilla@212.99.10.150] has quit [Quit: ChatZilla 0.9.88.1 [Firefox 12.0/20120328051619]] 14:46:56 totzeit [~kirkwood@c-71-227-253-228.hsd1.wa.comcast.net] has joined #lisp 14:48:26 -!- xyxu [~xyxu@222.68.158.80] has quit [Ping timeout: 246 seconds] 14:50:52 -!- sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has quit [Remote host closed the connection] 14:51:22 sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has joined #lisp 14:52:11 gaidal [~gaidal@h164n1-m-sp-d4.ias.bredband.telia.com] has joined #lisp 14:53:26 -!- c_arenz [arenz@nat/ibm/x-qymuswkswndkgobs] has quit [Quit: Ex-Chat] 14:54:14 NeedMoreDesu [~user@109.122.2.129] has joined #lisp 14:54:26 dl [~download@dhcp154.hpc.unm.edu] has joined #lisp 14:55:30 -!- slyrus [~chatzilla@adsl-99-24-163-252.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 14:56:40 optikalmouse [~user@76.9.199.178] has joined #lisp 14:56:54 slyrus [~chatzilla@99.27.206.236] has joined #lisp 14:57:13 is "monkeypatching" (adding methods at runtime to a class) rarely done in lisp? 14:57:28 not at all 14:57:34 since you don't add methods to classes in Lisp. 14:58:34 c_arenz [arenz@nat/ibm/x-oilzicwitrykctik] has joined #lisp 14:58:51 optikalmouse: monkey patching happens, just not that way 14:59:09 at run-time programatically? rarely 14:59:32 Oh hai. I have this code. (defmacro my-macro(arg) (eval arg)) (let ((x 42)) (my-macro x)) I know, my macro is created in top-level with lexical scoping. Can I make in dynamical somehow? 14:59:35 Depends on the code. Perhaps not on all the generic functions, but you can have a module that does that on a few generic functions. 14:59:49 As well as generating classes at run-time. 14:59:57 When I was doing stuff with postmodern, I would put patches in a utils.lisp file, while my pull request was accepted. Those actually overrode or added functions in pomo. 15:00:28 -!- emma is now known as em 15:00:30 as far as defining methods on generic functions, it's not rare at all (in my experience) to define methods on classes that don't belong to you, for your own generic functions. 15:00:31 NeedMoreDesu: you're using macros wrong 15:00:34 NeedMoreDesu: not a good idea in general 15:00:35 what might be considered monkey-patching in other languages could be considered normal use of a CLOS library 15:00:53 df_: s/library// 15:02:11 But can I? And what's really wrong with that? 15:02:19 pnathan [~Adium@75.87.255.164] has joined #lisp 15:02:25 optikalmouse: people usually develop lisp programs incrementally, defining classes and adding methods also incrementally 15:02:34 well generally I think monkey-patching involves the idea of patching somebody else's code 15:02:47 NeedMoreDesu: rule of thumb: Don't use eval. 15:02:48 ever. 15:03:09 Why? 15:03:16 so eg adding a method to a library's generic function would qualify 15:03:20 NeedMoreDesu: macros are for transforming source code at macroexpansion, converting input source code into output source code. it's not for evaluating the code for its meaning at runtime. 15:03:27 NeedMoreDesu: in your case, did you read the first sentence of EVAL description? 15:03:29 -!- slyrus [~chatzilla@99.27.206.236] has quit [Ping timeout: 245 seconds] 15:03:39 You may even have to do it as part of the library API. 15:03:43 sykopomp: you have an RPL prompt? 15:04:00 Xach: RPL? 15:04:07 -!- killerboy [~mateusz@195.225.68.249] has quit [Quit: do zobaczenia] 15:04:10 sykopomp: what you get if you never use EVAL 15:04:34 Xach: caveat: use EVAL when you know you should use it. :) 15:04:49 Xach: RCFPL 15:04:55 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 15:05:07 Isn't that called echo? 15:05:21 is it possible to get a list of initargs given a class? this seemed like it would work but it's returning NIL. (closer-mop:compute-default-initargs (find-class 'class)) 15:05:27 pnathan1 [~Adium@75.87.255.164] has joined #lisp 15:05:35 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 15:05:36 -!- pnathan [~Adium@75.87.255.164] has quit [Read error: Connection reset by peer] 15:05:53 (loop (print (funcall (compile nil `(lambda () ,(read)))))) look ma, no EVAL 15:07:06 jdz: Which one? `Evaluates form in the current dynamic environment and the null lexical environment.', right? 15:07:11 lars_t_h [~lars_t_h@002129194179.mbb.telenor.dk] has joined #lisp 15:07:17 NeedMoreDesu: yes 15:07:28 NeedMoreDesu: did you read it? 15:07:49 Yea, but current dynamic is dynamic environment of macro, nope? 15:08:06 there is no dynamic environment of the macro. 15:08:10 there is no macro. 15:08:24 NeedMoreDesu: and also, all macros are expanded before executing code, so there can be no such environment 15:09:19 NeedMoreDesu: also read the glossary entry of "dynamic enviroment" (you've been provided a handy link) 15:14:20 Kryztof [~user@81.174.155.115] has joined #lisp 15:14:44 Hm. I'm still don't get it. But why (eval) in macro taking toplevel scope, then? 15:14:44 /me Goes out to read some glossary. 15:14:54 http://sprunge.us/JEPA working now, note that the pivot choice is fixed(i.e. not random for example) 15:15:07 it doesn't matter where eval is 15:15:39 mcstar: that's not very pretty 15:16:50 mcstar: Looks like you've been using scheme. 15:17:10 stassats: Why doesn't? I can use eval in a place of (my-macro), and it surely works. 15:17:24 you're surely wrong 15:17:48 Need: It depends on if you need access to the lexical environment or not ... 15:18:25 -!- Jeanne-Kamikaze [~Jeanne-Ka@86.Red-88-11-22.dynamicIP.rima-tde.net] has quit [Quit: Did you hear that ?] 15:20:33 i havent used scheme except couple of minutes 15:20:40 schmx_ [~marcus@sxemacs/devel/schme] has joined #lisp 15:20:50 im sorry to hear that it doesnt appeal to you 15:20:58 Fare [~Fare@216.239.55.82] has joined #lisp 15:21:27 Hm, it looks everything in defmacro just evaluates at toplevel. Heh. 15:21:42 -!- schmx [~marcus@sxemacs/devel/schme] has quit [Remote host closed the connection] 15:21:54 mcstar: one-legged IFs make me queasy. I feel like the indentation is wrong or something is missing. 15:21:55 Ok, use eval is not the brightest idea, then. 15:22:18 the choice of variable names is not best 15:22:32 and of DO 15:22:56 mcstar: it seems odd to mix WHEN with one-legged IF in the same bit of code 15:22:58 mcstar: I'm ambivalent about the code. The use of labels with a single call in the body struck me as a scheme idiom. I've seen that in scheme using define. 15:23:26 the lack of newlines is what makes this code very hard to read in the first place 15:27:27 zxq9 [~zxq9@FL1-119-244-165-111.okn.mesh.ad.jp] has joined #lisp 15:28:25 -!- pnathan1 [~Adium@75.87.255.164] has quit [Read error: Connection reset by peer] 15:36:44 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 246 seconds] 15:38:38 -!- Nauntilus [~NickServ@ip68-231-176-93.tc.ph.cox.net] has quit [Ping timeout: 265 seconds] 15:38:42 Spion [~spion@unaffiliated/spion] has joined #lisp 15:39:32 pnathan [~Adium@75.87.255.164] has joined #lisp 15:40:22 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 15:41:17 pnathan1 [~Adium@75.87.255.164] has joined #lisp 15:42:13 -!- Spion_ [~spion@unaffiliated/spion] has quit [Ping timeout: 248 seconds] 15:42:40 kilon_alios [~kilon@athedsl-190415.home.otenet.gr] has joined #lisp 15:43:40 -!- pnathan [~Adium@75.87.255.164] has quit [Ping timeout: 244 seconds] 15:45:17 -!- kilon [~kilon@athedsl-399073.home.otenet.gr] has quit [Ping timeout: 252 seconds] 15:45:53 -!- reb [user@nat/google/x-ejuzrukemmrangxg] has quit [Ping timeout: 245 seconds] 15:45:57 -!- stassats [~stassats@wikipedia/stassats] has quit [Remote host closed the connection] 15:45:57 -!- specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 15:45:57 -!- minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 15:46:29 -!- Fare [~Fare@216.239.55.82] has quit [Ping timeout: 260 seconds] 15:46:29 -!- gkeith_lt [georgekeit@nat/google/x-lveodaazyrikfjut] has quit [Ping timeout: 260 seconds] 15:46:48 reb [user@nat/google/x-amjstqrmoxjcrhys] has joined #lisp 15:47:37 LaPingvino [~LaPingvin@d54C06DE6.access.telenet.be] has joined #lisp 15:47:55 -!- kpreid [~kpreid@Lark.price.clarkson.edu] has quit [Quit: Quitting] 15:49:38 mickbeaver [~mickbeave@216-136-25-2.static.twtelecom.net] has joined #lisp 15:52:41 gkeith_lt [georgekeit@nat/google/x-vqmiuyemythvcoql] has joined #lisp 15:53:17 Kron_ [~Kron@206.126.93.212] has joined #lisp 15:53:46 -!- dl [~download@dhcp154.hpc.unm.edu] has quit [Ping timeout: 276 seconds] 15:54:21 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 15:54:41 -!- ivan-kanis [~user@nantes.visionobjects.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:55:28 krrrcks [~krrrcks@krrrcks.de] has joined #lisp 15:57:03 stassats [~stassats@wikipedia/stassats] has joined #lisp 15:57:08 _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has joined #lisp 15:57:36 Fare [~Fare@216.239.55.82] has joined #lisp 15:57:51 -!- LAMMJohn1on [~JA@cpc3-nrwh9-2-0-cust336.4-4.cable.virginmedia.com] has quit [Quit: leaving] 15:57:52 mrSpec [~Spec@smb-rsycl-01.wifihubtelecom.net] has joined #lisp 15:57:57 -!- mrSpec [~Spec@smb-rsycl-01.wifihubtelecom.net] has quit [Changing host] 15:57:57 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 15:58:14 minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 15:58:29 specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 15:59:09 -!- rme [~rme@50.43.137.11] has left #lisp 16:01:55 ISF [~ivan@143.106.196.233] has joined #lisp 16:03:04 -!- pnathan1 [~Adium@75.87.255.164] has quit [Ping timeout: 245 seconds] 16:03:31 Sikander [~userid@wirenat-lion.strw.leidenuniv.nl] has joined #lisp 16:04:38 -!- ISF [~ivan@143.106.196.233] has quit [Client Quit] 16:05:15 ISF [~ivan@143.106.196.233] has joined #lisp 16:06:36 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 16:08:27 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Ping timeout: 250 seconds] 16:08:46 stassats` [~stassats@wikipedia/stassats] has joined #lisp 16:11:09 -!- ferada [~ferada@dslb-088-068-129-237.pools.arcor-ip.net] has quit [Quit: Leaving] 16:11:46 kenanb [~user@94.54.237.227] has joined #lisp 16:12:20 espadrine [~thaddee_t@acces2373.res.insa-lyon.fr] has joined #lisp 16:13:28 n1tn4tsn0k [~nitnatsno@178.47.16.31] has joined #lisp 16:16:11 Xach: i agree, i just havent converted those to whens 16:16:13 -!- kenanb [~user@94.54.237.227] has quit [Ping timeout: 244 seconds] 16:16:16 yet 16:16:29 kenanb [~user@94.54.237.227] has joined #lisp 16:16:38 tensorpudding [~michael@108.87.21.241] has joined #lisp 16:16:47 ThomasH: im not sure what you mean, i have to use labels since its a recursive call 16:16:48 -!- tr-808 [brambles@unaffiliated/contempt] has quit [Remote host closed the connection] 16:17:15 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Leaving] 16:17:43 im not sure what the problem with do, i always used loop, but recently i decided i should give 'do' a go 16:18:14 mcstar: do rarely results in clear, easy to read code. 16:18:36 mcstar: he means that since you call it once, you could as well inline it where it's called. 16:18:53 i didnt know that, it seems pretty straightfoward, maybe this is just a primitive example 16:19:01 pjb: but it's recursive 16:19:06 so, bad idea 16:19:24 part is not recursive. 16:19:31 We're talking about part. 16:19:41 qs is not called once, it's called thrice. 16:19:47 you are? 16:20:06 "a single call in the body" 16:20:08 i didn't think that ThomasH meant part 16:20:09 i thought he meant qs 16:20:10 Guys! A mere frame-based simplistic symbolic AI would understand that! 16:20:34 36DAA2WSX [brambles@79.133.200.49] has joined #lisp 16:20:37 18VAAD1KD [brambles@79.133.200.49] has joined #lisp 16:21:04 pjb: if i inline part, i think that makes it harder to read 16:21:07 quite a bit 16:21:08 mcstar: so did i 16:21:28 mcstar: you can declare it inline and let the compiler inline it for you. 16:21:28 but i'm not a symbolic AI, so what do i know 16:21:39 minion: part or qs? 16:21:40 watch out, you'll make krystof angry 16:21:43 ok 16:21:54 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 16:23:14 -!- kpal_ [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [Ping timeout: 260 seconds] 16:25:37 http://sprunge.us/QiiM 16:26:04 i hope that declare is in the right place 16:26:13 it is 16:26:42 why do you use random? 16:27:08 mcstar: I meant the use of local functions. The first time I saw the frequent use of local functions like that was in scheme. Usually, I would have just defined 3 functions. 16:27:10 for good average performance 16:27:35 how does random improve it? 16:27:40 random itself isn't free 16:28:10 thats true, but the work is done in part 16:28:23 i dont call random that much 16:28:35 and it helps with worst case scenarios 16:28:37 i think 16:28:46 ThomasH: that's not a scheme idiom 16:29:01 how does it help? 16:29:16 can you explain it to me? 16:29:44 ainm [~ainm@216.Red-83-33-83.dynamicIP.rima-tde.net] has joined #lisp 16:29:48 -!- passionke [~Administr@58.100.71.219] has quit [Quit: Leaving.] 16:30:09 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Ping timeout: 245 seconds] 16:30:49 -!- schmx_ [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 276 seconds] 16:31:22 schmx [~marcus@sxemacs/devel/schme] has joined #lisp 16:31:23 ThomasH: in Haskell they do that also. 16:31:27 i think quicksort performs O(n^2) if the data is in reverse order, and you pick the first element as pivot always 16:32:09 if you pick pivots randomly, you can guarantee O(nlogn) performance 16:32:43 dtw [~dtw@pdpc/supporter/active/dtw] has joined #lisp 16:32:47 why not just not pick the first element? 16:33:19 because it can happen that part has to move that to the other end of the subvector 16:33:35 can't this happen with random? 16:33:37 anyway, i dont have a more solid argument atm 16:33:39 booyaa` [~booyaa@adsl-67-121-157-253.dsl.pltn13.pacbell.net] has joined #lisp 16:33:55 -!- booyaa` [~booyaa@adsl-67-121-157-253.dsl.pltn13.pacbell.net] has quit [Remote host closed the connection] 16:33:55 I use local functions, but not to the extent that leaves just one form in the body. Actually, the way I use local functions would probably be better done with separate functions. Except, I'm usually doing it for functions that won't be used anywhere else and use some data that I don't want to pass as arguments. 16:34:03 -!- kanru` [~user@61-228-144-114.dynamic.hinet.net] has quit [Ping timeout: 252 seconds] 16:34:05 [SLB] [~slabua@host22-160-dynamic.3-87-r.retail.telecomitalia.it] has joined #lisp 16:34:06 -!- [SLB] [~slabua@host22-160-dynamic.3-87-r.retail.telecomitalia.it] has quit [Changing host] 16:34:06 [SLB] [~slabua@unaffiliated/slabua] has joined #lisp 16:34:25 *Throw-away* type functions. 16:34:30 mcstar: well, you can try measuring it 16:34:53 if i have the time, ill try 16:35:28 for example, try that version and a version with (mod 4 (- right left -1)) instead of (random (- right left -1)) 16:36:33 ThomasH: in the presented code, those functions won't be used anywhere else and you can save on passing the vector around each time 16:36:53 mcsontos [~mcsontos@hotspot8.rywasoft.net] has joined #lisp 16:38:20 afk 16:38:47 Xach: herep 16:38:49 -!- rson [~randy@c-68-32-170-89.hsd1.md.comcast.net] has quit [Quit: you suck. i quit.] 16:38:53 Hello 16:38:55 stassats`: I never know whether to take you seriously or whether you're just being a smart azz. 16:39:00 Xach: if not for April - are you available to speak in May? 16:39:04 Sure 16:39:09 I believe it's getting a bit late to reserve in April. 16:39:26 Today, I'm going to MIT to find someone to reserve a room. 16:39:38 unless someone at NEU gets back to me quick 16:39:42 ThomasH: what did i say wrong? 16:39:58 Xach: any preferences regarding day of week and/or day of month? 16:41:01 Memorial day is not a good day. Other than that, no real preference. 16:41:17 FreeArtMan [~fam@93.177.213.54] has joined #lisp 16:41:18 memorial day weekend, really, is not good 16:41:38 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Ping timeout: 252 seconds] 16:41:59 pnathan [~Adium@75.87.255.164] has joined #lisp 16:42:07 ,quit 16:42:11 -!- Sikander [~userid@wirenat-lion.strw.leidenuniv.nl] has quit [Remote host closed the connection] 16:42:28 last time we discussed about a thursday. Is that still OK? 16:42:33 That is fine 16:42:50 -!- lispmeister [~fix@AStDenis-551-1-78-52.w92-160.abo.wanadoo.fr] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 16:44:13 so May 17th is OK? 16:44:21 rson [~randy@c-68-32-170-89.hsd1.md.comcast.net] has joined #lisp 16:44:27 Sure, that's fine. 16:44:41 -!- rson [~randy@c-68-32-170-89.hsd1.md.comcast.net] has quit [Client Quit] 16:45:06 -!- Ralith_ is now known as Ralith 16:45:27 sorry about failure to book this month. I didn't try hard enough. 16:45:32 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 16:45:36 -!- kennyd [~kennyd@93-141-38-48.adsl.net.t-com.hr] has quit [Ping timeout: 265 seconds] 16:45:52 minion, chant 16:45:52 MORE SOLID 16:45:59 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 245 seconds] 16:46:51 oh, and thanks again for Quicklisp - it made it much easier to assess the question of "who doesn't use utf-8 these days?" 16:47:11 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 16:47:16 mcstar: i've tried (truncate (+ left right) 2) and it's faster for both already sorted and reverse order sorted vectors 16:47:20 Nauntilus [~NickServ@wsip-68-14-222-194.ph.ph.cox.net] has joined #lisp 16:47:27 mcstar: didn't try random ones 16:47:46 kennyd [~kennyd@93-138-72-91.adsl.net.t-com.hr] has joined #lisp 16:47:59 Fare: glad to hear it. I guess I would caution against overestimating the quicklisp world's overlap over the entire CL world. 16:48:23 it's easy sometimes to think that all the world is slime, sbcl, and quicklisp 16:48:58 ferada [~ferada@dslb-188-097-116-074.pools.arcor-ip.net] has joined #lisp 16:49:07 oh wait, i did something wrong 16:50:09 attila_lendvai [~attila_le@37.99.84.88] has joined #lisp 16:50:10 -!- attila_lendvai [~attila_le@37.99.84.88] has quit [Changing host] 16:50:10 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 16:50:11 rson [~randy@c-68-32-170-89.hsd1.md.comcast.net] has joined #lisp 16:50:28 stassats`: but (l+r)/2 will be worse for vectors build from an infix walk of a tree. 16:50:28 Guthur [~user@212.183.128.236] has joined #lisp 16:50:42 (+ left (floor (- right left) 2)) should be the right thing 16:51:10 I see two solutions: 1- use a random pivot, 2- heuristically change the choice of the pivot according to the data. 16:51:38 Fare: or maybe to put it another way, quicklisp can be great at finding problems but not at proving their absence 16:51:39 Jeanne-Kamikaze [~Jeanne-Ka@86.Red-88-11-22.dynamicIP.rima-tde.net] has joined #lisp 16:52:16 and despite me getting it wrong first time, it's faster than random still 16:52:24 Implement a few different O(1) pivot choices (first, last, middle, etc) and change it if you notice several times a big imbalance between the parts. 16:52:50 m7w [~chatzilla@31.24.92.45] has joined #lisp 16:54:01 Xach: my currently implemented plan is to enforce utf-8 as the new default, but let people explicitly specify :encoding :default to get back the previous behavior. 16:54:05 Is that sensible? 16:54:13 and it's faster for randomized vectors too 16:55:04 (previously implemented plan didn't include that provision for :default, which could have broken people's code without a good way out but downgrade) 16:55:55 kushal [~kdas@fedora/kushal] has joined #lisp 16:57:14 pnathan1 [~Adium@75.87.255.164] has joined #lisp 16:57:15 -!- pnathan [~Adium@75.87.255.164] has quit [Read error: Connection reset by peer] 16:57:20 stassats`: (4 2 5 1 6 3 7) 16:57:55 hmm, (truncate (+ left right) 2) is actually right 16:58:10 -!- sezo [~yhiselamu@lap.ee] has quit [Quit: #yhiselamu | www.yhiselamu.ee (EOF)] 16:58:28 stassats`: it won't give good performance on (coerce (prefix-walk '(1 (2 (4 (8) (9)) (5 (10) (11))) (3 (6 (12) (13)) (7 (14) (15))))) 'vector) 16:58:42 --> #(8 4 9 2 10 5 11 1 12 6 13 3 14 7 15) 16:59:03 Because each time in themiddle is the smallest element of the partition. 16:59:57 pjb: still, non-random version is faster 17:00:08 not by much 17:00:58 I would use a randomly selected pivot algorithm upon detection of a few imbalances. This would still be cheaply O(1). 17:00:59 I doubt that would hold for a long sequence 17:01:26 well, if RANDOM were faster on SBCL, i think it would be faster 17:01:27 It would hold because the pivot algorithm is changed during the sort. 17:02:01 stassats`: you could implement a fast pseudo random, but then I could come with a sequence for which it's bad (unless you seed it with cl:random). 17:02:18 * I doubt that random would do worse than a pathological pivot selection for long sequences 17:02:19 "median of the first, middle and last element of the partition for the pivot" is another option 17:02:33 stassats`: do you have an intuition as to whether you can fix lisppaste's channel posting feature yet? 17:03:03 -!- pnathan1 [~Adium@75.87.255.164] has quit [Read error: Connection reset by peer] 17:03:29 -!- c_arenz [arenz@nat/ibm/x-oilzicwitrykctik] has quit [Ping timeout: 245 seconds] 17:03:40 kmcorbett [~kmcorbett@199.180.145.100] has joined #lisp 17:04:05 H4ns: i'm in the process of rewriting lisppaste to hunchentoot (which is largely done), i'll finish it on the weekend 17:04:13 stassats`: cool! 17:04:20 stassats`: is it still on araneida? 17:04:24 yes 17:04:35 <|3b|> stassats`: will it use a separate colorize? 17:04:38 stassats`: ah, ok. that's great, thank you for doing that! 17:04:56 ThomasH` [~user@pdpc/supporter/professional/thomash] has joined #lisp 17:05:12 |3b|: separate from what? 17:05:21 <|3b|> separate from lisppaste 17:05:23 i haven't looked at coloroize yet 17:05:38 |3b|: there's one? 17:05:43 <|3b|> sort of 17:05:44 minion: coloirze? 17:05:45 Sorry, I couldn't find anything in the database for ``coloirze''. 17:05:49 minion: colorize? 17:05:50 colorize: Colorize is an Application for colorizing chunks of Common Lisp, Scheme, Elisp, C, C++, or Java code. http://www.cliki.net/colorize 17:06:00 minion: when will you grow a spell-checker? 17:06:01 later 17:06:01 <|3b|> it was split out but never updated, while the colorization code in lisppaste continued to be updated 17:07:14 my current motivation is to make lisppaste easily loadable and configurable with dependencies which could be found in quicklisp 17:07:24 <|3b|> at one point i pulled some more changes out of lisppaste, and put that version up on github, not sure if there are more since then or not 17:07:25 i'll think about splitting and things later 17:07:37 pnq [~nick@AC81BE22.ipt.aol.com] has joined #lisp 17:07:39 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.7] 17:09:17 -!- ThomasH [~user@pdpc/supporter/professional/thomash] has quit [Ping timeout: 260 seconds] 17:10:53 -!- Fare [~Fare@216.239.55.82] has quit [Ping timeout: 246 seconds] 17:11:07 gkeith_glaptop_ [gkeith@nat/google/x-swdrdkxbwnqfiawz] has joined #lisp 17:11:46 -!- hugod [~user@bas1-montreal08-1279584440.dsl.bell.ca] has quit [Remote host closed the connection] 17:13:20 hugod [~user@bas1-montreal08-1279584440.dsl.bell.ca] has joined #lisp 17:13:51 -!- ThomasH` is now known as ThomasH 17:14:19 ivan-kanis [~user@89.83.137.164] has joined #lisp 17:17:39 aaa 17:18:18 Sorry for the noise. Having trouble with my connection. 17:20:58 jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has joined #lisp 17:21:44 -!- Ralith [~ralith@S010600221561996a.vc.shawcable.net] has quit [Ping timeout: 246 seconds] 17:23:39 kami [~user@unaffiliated/kami-] has joined #lisp 17:23:49 naeg [~naeg@194.208.239.170] has joined #lisp 17:29:25 it will be tricky to benchmark this, since its an in place sort 17:29:38 i have to copy the vector before every sort 17:29:45 -!- kiuma [~kiuma@static-217-133-17-91.clienti.tiscali.it] has quit [Quit: Leaving] 17:30:05 i did it without copying 17:30:17 how? 17:30:33 you just sorted a sorted vector? 17:30:44 Fare [~Fare@216.239.55.82] has joined #lisp 17:30:45 initialized the same vector on each iteration 17:30:58 ok, with what? 17:31:10 -!- Posterdati [~tapioca@host187-229-dynamic.3-79-r.retail.telecomitalia.it] has quit [Quit: Leaving] 17:31:14 with data 17:31:27 :) yeah, but how did you get that data? 17:31:45 does it matter? 17:32:03 depends, how did you measure time? 17:32:28 Posterdati [~tapioca@host187-229-dynamic.3-79-r.retail.telecomitalia.it] has joined #lisp 17:32:30 with a timer 17:32:36 clhs time 17:32:36 http://www.lispworks.com/reference/HyperSpec/Body/m_time.htm 17:33:13 mathrick [~mathrick@85.218.148.156] has joined #lisp 17:33:22 Hi. How can I stop the qapplication in CommonQt without having to restart the lisp process? 17:33:58 reusing avoids creating garbage and measuring non-deterministic garbage collection time 17:34:28 daimrod: use hide 17:34:44 -!- mathrick_ [~mathrick@85.218.148.156] has quit [Ping timeout: 245 seconds] 17:34:48 -!- angavrilov [~angavrilo@217.71.227.190] has quit [Ping timeout: 252 seconds] 17:35:04 or close, haven't tried the latter 17:35:12 stassats`: can i assume that you didnt measure in the time that took to initilize the vector, in the runtime? 17:35:13 stassats`: ok, so I just #_hide and #_show widget without restarting it ? 17:35:27 mcstar: i did 17:35:30 daimrod: yes 17:35:40 stassats`: thanks! 17:36:53 daimrod: i have (unwind-protect (progn (#_show *main-window*) (#_exec *qapp*)) (#_hide *main-window*)) 17:36:54 stassats`: so you advise me to just copy elememtwise a vector from the original, to avoid garbage collection, and i can rely on that this will take the same time always for a givenlength 17:37:05 mcstar: right 17:37:18 clhs replace 17:37:18 http://www.lispworks.com/reference/HyperSpec/Body/f_replac.htm 17:37:21 for copying 17:38:32 schaueho [~schaueho@dslb-088-066-020-243.pools.arcor-ip.net] has joined #lisp 17:41:02 -!- kilon_alios [~kilon@athedsl-190415.home.otenet.gr] has quit [Ping timeout: 252 seconds] 17:43:01 kilon [~kilon@athedsl-407861.home.otenet.gr] has joined #lisp 17:45:34 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 17:46:35 Today I've learned something: sort's :key can *really* slow it down. 17:47:32 heh 17:48:06 sacho [~sacho@95-42-98-81.btc-net.bg] has joined #lisp 17:48:21 (sort sequence #'> :key (lambda (x) (sleep 1) x)) 17:48:24 no doubt! 17:48:37 O(n). 17:49:07 but what a constant factor! 17:49:31 It's actually *much* better to create a fake list of structs with all :keys computed, sort that and then map the result taking out the original thing. 17:50:04 didi: http://en.wikipedia.org/wiki/Schwartzian_transform :) 17:50:19 also known as decorate-sort-undecorate 17:50:32 Neronus: Aha! 17:50:41 Neronus: Awesome. 17:51:17 -!- sacho_ [~sacho@95-42-98-81.btc-net.bg] has quit [Ping timeout: 248 seconds] 17:51:22 "Lisp idiom known as decorate-sort-undecorate" 17:51:25 what idiom is that? 17:51:58 -!- _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has quit [Quit: leaving] 17:52:09 didi: and it's better to create a vector, not a list 17:52:21 -!- ainm [~ainm@216.Red-83-33-83.dynamicIP.rima-tde.net] has quit [Disconnected by services] 17:52:24 ainm [~ainm@216.Red-83-33-83.dynamicIP.rima-tde.net] has joined #lisp 17:53:05 (map (type-of sequence) 'cdr (sort (map 'vector (lambda (item) (cons (funcall key item) item)) sequence))) 17:53:22 i've never heard anything to be called "decorate" in lisp 17:53:33 map (type-of sequence) 'cdr is undecorate; sort is sort; map 'vector (lambda (item) (cons (funcall key 17:53:33 item) item)) is decorate. 17:53:36 stassats`: Speaking of vectors, do you believe me if I tell you that the slow problem with :key is worse if I sort vectors instead of lists? 17:54:02 didi: yes, i would believe you 17:54:05 didi: probably because to sort a list it converts it into a decorated vector? 17:54:07 I think `sort' might call :key more times with vectors than lists. 17:54:13 because they most certainly use a different sorting algorithm 17:54:14 Indeed. 17:54:45 because random access in a vector is cheap, it may be called more times, and computing key more times 17:54:45 Amazing stuff. 17:55:11 but, for your mascarade-sort-unmascarade, it's better to use vector 17:55:18 Roger. 17:57:58 and if you want it to reuse the original sequence: (map-into sequence 'cdr (sort (map 'vector (lambda (item) (cons (funcall key item) item)) sequence))) 17:58:31 -!- lemoinem [~swoog@216.252.87.207] has quit [Ping timeout: 244 seconds] 17:58:38 if the sequence is a vector all along, (map-into sequence 'cdr (sort (map-into sequence (lambda (item) (cons (funcall key item) item)) sequence))) 17:59:13 (it would work for a list too) 17:59:14 achiu [~arthurchi@216.174.109.254] has joined #lisp 17:59:17 lemoinem [~swoog@216.252.92.193] has joined #lisp 18:00:23 and call it embellish-sort-unembellish 18:01:42 -!- jtza8 [~jtza8@196-215-120-164.dynamic.isadsl.co.za] has quit [Remote host closed the connection] 18:02:40 pjb: O(n) ? does it make a copy of the sequence and sort that using #'< or call it every time it calls #' well, it is sort of answered 18:04:17 -!- schmx [~marcus@sxemacs/devel/schme] has quit [Remote host closed the connection] 18:04:21 Ralith [~ralith@static-209-139-215-92.gtcust.grouptelecom.net] has joined #lisp 18:04:39 -!- mcsontos [~mcsontos@hotspot8.rywasoft.net] has quit [Quit: Leaving] 18:04:45 schmx [~marcus@sxemacs/devel/schme] has joined #lisp 18:07:40 stassats`: seems that for my particular data, my quicksort is 1.72x better than the built-in sort 18:09:10 ~2 with a better pivot 18:09:28 well, the built-in sort has key and test parameters, yours don't 18:09:35 mcstar: what's your data? 18:09:46 mcstar: you could try making a well-tuned trie sort, would help the CPU caches for big data sets 18:09:59 i mean, are you trying to sort some real world data? 18:10:31 stassats`: is a dataset given by tim roughgarden, coursera algo. class 18:11:15 seems to be pseudorandomly generated for me 18:11:29 (ok, i cant say that, seems to be just random) 18:11:36 i mean, you can speed up constant factors if you need a really ad-hoc fast sort 18:12:00 for example, adding (declare (simple-vector vec)) 18:13:09 and declaring indexes to be fixnums 18:13:31 yeah i can see that :) 18:13:33 (well declaring them to be (integer 0 array-total-size-limit) would be better, but fixnum is faster) 18:13:36 cabaire [~nobody@p549403EF.dip0.t-ipconnect.de] has joined #lisp 18:13:52 i mean, faster to type 18:13:54 does it have significance when i use the built-in sort? 18:14:33 -!- dtw [~dtw@pdpc/supporter/active/dtw] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:14:37 you can't modify the code of the built-in sort, usually 18:15:51 but when i say (optimize (speed will that statement be applied recursively somehow? or since 'sort' is already compiled it wont have an effect on it? 18:16:04 sort is not inlined in SBCL 18:16:19 oh, it's maybe-inline 18:16:50 declare it (optimize (space 0)) to become inlined 18:17:24 (declare (optimize (space 0)) (simple-vector vector)) (sort vector #'>) 18:18:01 compare now 18:18:42 much faster for me than your version 18:21:33 mine 0.5, builtin 0.65 18:21:42 What are the common licenses being used in Lisp libraries ? 18:21:54 did you add declarations i advised? 18:22:01 for mine too 18:22:01 kushal: MIT and BSD 18:22:02 francogrex [~user@109.130.103.247] has joined #lisp 18:22:08 mcstar: are you using SBCL? 18:22:15 yeah 18:22:21 mcstar: can you paste the whole code with test data? 18:22:31 thats impossible 18:22:34 stassats, ok, thanks for the input 18:22:50 mcstar: why is that? 18:22:55 kidding 18:23:04 but i got quite a few compiler warning for sort 18:23:12 type uncertainities 18:23:28 i guess i should say what kind of simple vector is the input 18:24:04 http://paste.lisp.org/new/lisp 18:24:09 no! 18:24:13 http://paste.lisp.org/new 18:24:53 why no! 18:24:58 ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has joined #lisp 18:25:57 it wouldn't work 18:26:06 well, it would, but not very well 18:26:54 stassats`: with (type (simple-array fixnum *) *ar*) sort is a tiny bit faster than mine 18:27:19 the proper declaration would be (simple-array fixnum (*)) 18:29:46 So, I have a closure factory, and I'd like to be able to call the created closures within a given lexical scope without resorting to funcall; something like the (incorrect) code at http://paste.lisp.org/display/128766 18:30:22 why do you want to do that? 18:30:34 a factory? what kind of jargon is that? 18:30:45 Is there a way to do this along the lines I'm looking at, or is it a case of either funcall or macrolet? 18:31:24 well, how else would you like to refer to a function that returns a closure it's made? 18:31:28 stassats`: http://sprunge.us/cXiZ 18:31:51 phrixos: a function returning a function 18:32:18 mcstar: i became a little disinterested 18:32:22 -!- pnq [~nick@AC81BE22.ipt.aol.com] has quit [Ping timeout: 276 seconds] 18:32:36 phrixos: and yes, you can't do what you showed in your paste 18:32:41 'a function that returns a function and its associated lexical environment' starts to get a bit cumbersome... 18:33:18 stassats`: yeah, same here 18:33:19 right, that's why you call it just "a closure" 18:33:28 because it doesn't matter where it came from 18:33:39 -!- stlifey [~stlifey@119.121.235.204] has quit [Ping timeout: 244 seconds] 18:33:56 a closure is the result, not the function that creates it 18:33:58 but anyway 18:34:18 yes, what you care about is the result 18:34:48 when i was young, i made a setfun macro 18:35:02 phrixos: there's nothing wrong with using FUNCALL 18:35:13 stassats`, pjb: Your sorts only have one argument. I have to add #'< and :key car for those to work, right? 18:35:29 didi: if you need to, right 18:35:41 stassats`: That's puzzling... 18:36:03 stassats`: it just seems that calling funcall is exposing unimportant details of the implementation, when I just want to treat it as a function 18:37:18 funcall treats it like a function 18:37:19 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 18:37:35 -!- phrixos [~foo@unaffiliated/phrixos] has left #lisp 18:37:41 -!- Fare [~Fare@216.239.55.82] has quit [Ping timeout: 246 seconds] 18:37:48 phrixos [~foo@unaffiliated/phrixos] has joined #lisp 18:38:18 -!- ISF [~ivan@143.106.196.233] has quit [Ping timeout: 244 seconds] 18:38:20 you can write a macro or whatever, but using funcall is the cleanest and easiest way to accomplish this 18:38:29 k, thanks 18:38:43 Would fdefinition worK 18:38:44 ? 18:38:46 unless you're calling it a gazillion times 18:38:57 ThomasH: it's global 18:39:16 -!- kilon [~kilon@athedsl-407861.home.otenet.gr] has quit [Ping timeout: 246 seconds] 18:39:30 stassats`: Ah, Ok. Isn't this what flet/labels is used for, then? 18:39:44 jacius [~jacius@c-24-13-89-230.hsd1.il.comcast.net] has joined #lisp 18:39:53 chturne [~chturne@host86-136-158-113.range86-136.btcentralplus.com] has joined #lisp 18:39:59 *ThomasH* is having a hard time understanding exactly what is trying to be accomplished. 18:40:10 ThomasH: yes, but you can't modify the local function binding once it's created 18:40:54 you can write (let ((function x)) (flet ((function (&rest args) (apply function args))) (function 1 2 3))) 18:40:59 stassats`: Presumably, (make-manager) has some interal counter or something that is updated each time it's called. 18:41:16 That is what is driven the requirement for the closure. 18:41:53 closure can have nothing closed over too 18:42:32 -!- gkeith_glaptop_ [gkeith@nat/google/x-swdrdkxbwnqfiawz] has quit [Ping timeout: 245 seconds] 18:42:50 (but it doesn't matter here) 18:45:08 of course, phrixos could write it differently, by making make-manager return an instance of some class, and then have a generic-function called UPDATE-MANAGER or something, then call it 18:45:55 what it actually returns at the moment is a dlambda, a la LoL 18:46:07 largely because i'm playing around with the book 18:46:11 now, that would really hide implementation details 18:46:48 stlifey [~stlifey@121.11.118.133] has joined #lisp 18:47:52 kilon [~kilon@athedsl-187602.home.otenet.gr] has joined #lisp 18:48:17 http://paste.lisp.org/display/128766#1 18:48:48 -!- ainm [~ainm@216.Red-83-33-83.dynamicIP.rima-tde.net] has quit [Quit: ((call/cc call/cc) (call/cc call/cc))] 18:49:01 i would've also declare it inline 18:49:25 phrixos: i would not do that 99% of the time, though. in CL funcall and apply are considered good things 18:49:47 nikodemus: thanks 18:50:17 And another bind library is born. 18:50:26 good point. add (declare (inline ,name)) right above the ,@body 18:51:01 i am using funcall and apply elsewhere; it just seems slightly odd here 18:51:49 because if you create a dlambda at the top level and assign it to some symbol-function, you can then call it directly 18:52:05 it seems inconsistent to have to then use funcall for exactly the same thing simply because you want local scope 18:52:27 albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #lisp 18:52:28 -!- albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Changing host] 18:52:28 albacker [~eni@unaffiliated/enyx] has joined #lisp 18:52:33 -!- bjonnh [~bjonnh@147.210.71.83] has quit [Read error: Connection reset by peer] 18:53:44 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 260 seconds] 18:54:04 -!- nikodemus [~nikodemus@188-67-156-31.bb.dnainternet.fi] has quit [Quit: Leaving] 18:54:38 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Ping timeout: 265 seconds] 18:55:23 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 18:57:55 it is, i guess nobody thought it would be useful 18:58:42 besides, if you really really need, you can get around it, as was shown above 18:59:25 well, yes, but I was essentially being asked to justify *wanting* to get around it; my reasoning is that it's inconsistent 19:00:11 it's inconsistent because nobody thought that making it consistent would be worthwhile 19:00:58 If I'm creating a vector, item by item, and I know the total size, is it better to vector-push-extend each item or create a vector with the total size and assign each index? 19:01:11 didi: the latter 19:01:16 stassats`: Thank you. 19:01:47 it would be much more better if you don't need an adjustable-array 19:02:02 ngz [~user@198.111.193.77.rev.sfr.net] has joined #lisp 19:02:05 but even with an adjustable vector, it's better to create it for the size you want 19:02:20 In this case, I actually don't. It will be great. 19:02:34 is vector-push-extend really costly when the array already has the right size? 19:03:06 adding a fill pointer makes it non-simple, that might be important later. 19:03:28 ah, understood. 19:03:59 didi: make sure that you optimize the right thing, though :) 19:04:48 H4ns: Oh yes, sure. I don't know if I'm doing it the right way, but I keep decorating forms with `time' and see which one of those are the offenders. 19:05:37 didi: you could use a profiler. for simple stuff, the deterministic profiler works very well. 19:05:47 didi: e.g. M-x slime-profile-package 19:05:54 Ah, nice. 19:06:10 or slime-sprof-start for a more cool profiler 19:06:14 H4ns: I didn't know about it. Thank you. 19:06:21 stassats`: Also thank you. 19:06:30 (on sbcl, with slime-sprof contrib enabled) 19:06:43 I'll check for it. 19:06:46 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 19:07:40 non-simple arrays can be very slow on sbcl 19:07:57 relatively speaking 19:09:00 i wish they weren't 19:09:12 The one time I tried using fancy features of arrays it was displaced-to, and it was an order of magnitude slower than passing around the array plus a fixnum 19:09:25 er fixnum offset 19:10:11 but yes, it's more a symptom of simple-arrays being really fast than non-simple arrays being particularly slow 19:11:57 Wow, profiling is cool. 19:12:41 -!- albacker [~eni@unaffiliated/enyx] has quit [Ping timeout: 246 seconds] 19:14:00 clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has joined #lisp 19:15:21 I'd think displaced arrays would be quite fast 19:18:11 pnq [~nick@ACA22003.ipt.aol.com] has joined #lisp 19:20:27 only if you precalculate the offset once 19:21:44 -!- CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has quit [Ping timeout: 272 seconds] 19:21:44 -!- phrixos [~foo@unaffiliated/phrixos] has quit [Read error: Connection reset by peer] 19:21:49 phrixos_ [~foo@unaffiliated/phrixos] has joined #lisp 19:22:38 or rather, if you can inline everything 19:23:53 -!- robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Ping timeout: 246 seconds] 19:25:16 on sbcl, there's sb-sys:with-array-data 19:25:18 -!- lemoinem [~swoog@216.252.92.193] has quit [Remote host closed the connection] 19:25:21 sb-kernel 19:25:43 lemoinem [~swoog@205.233.80.224] has joined #lisp 19:29:18 -!- jjkola_ is now known as jjkola 19:30:19 -!- jjkola [~jjkola@xdsl-83-150-83-66.nebulazone.fi] has quit [Quit: Leaving] 19:30:36 stassats`: I must misunderstand displaced arrayscan't they be represented as just an array + fixnum offset? 19:30:48 mensch [~mensch@c-67-189-240-148.hsd1.ma.comcast.net] has joined #lisp 19:30:57 + size. 19:31:07 jjkola [~jjkola@xdsl-83-150-83-66.nebulazone.fi] has joined #lisp 19:31:40 I understand that CL arrays always have size information associated with them 19:31:42 displaced arrays can be displaced to other arrays 19:32:00 Ralith: yes, but displaced arrays may be of different dimensions and lesser size. 19:32:02 there's not just one layer of indirection, there is a potentially unbounded ones 19:32:06 pjb: oh, right 19:32:13 Kryztof: but can't that be flattened down to one? 19:32:35 no, because "middle" displaced arrays can be displaced to different arrays at an arbitrary time 19:32:45 oh, didn't know you could the displacement properties of a displaced array after making it 19:33:47 That beats C pointers any time! 19:34:21 _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has joined #lisp 19:34:59 strictly speaking you can only do it to actually adjustable arrays 19:36:40 -!- schmx [~marcus@sxemacs/devel/schme] has quit [Remote host closed the connection] 19:36:57 schmx [~marcus@sxemacs/devel/schme] has joined #lisp 19:38:08 -!- schaueho [~schaueho@dslb-088-066-020-243.pools.arcor-ip.net] has quit [Read error: Operation timed out] 19:38:13 CrazyThinker [~CrazyThin@unaffiliated/crazythinker] has joined #lisp 19:40:10 -!- flipout [~user@75-175-118-64.ptld.qwest.net] has quit [Ping timeout: 246 seconds] 19:44:25 optikalm` [~user@206.223.184.2] has joined #lisp 19:46:19 -!- optikalmouse [~user@76.9.199.178] has quit [Ping timeout: 264 seconds] 19:47:52 dcm=# select * from group_plans_insureds where subscriber_id = 'P10237302'; 19:47:52 id | group_plan_id | insured_id | status | effective_date | termination_date | subscriber_id | renewal_date | terminated_on 19:47:52 ----------+---------------+------------+--------+----------------+------------------+---------------+--------------+--------------- 19:47:52 61678625 | 43 | 3738372 | 0 | 2012-03-01 | 2012-08-31 | P10237302 | | 2012-04-01 19:47:55 fuck 19:48:08 um 19:48:13 "whoops" 19:48:25 sometimes i wish for a security labeled clipboard :/ 19:48:29 Or, "hey, wait, that's MY ID!" 19:48:59 lol 19:52:08 asdfasdfggg [4f883e0d@gateway/web/freenode/ip.79.136.62.13] has joined #lisp 19:55:42 does any common lisp implementation uses JIT (just-in-time) compilation? 19:56:13 abcl, maybe? 19:56:16 -!- asdfasdfggg [4f883e0d@gateway/web/freenode/ip.79.136.62.13] has quit [Ping timeout: 245 seconds] 19:56:20 I think CLISP has a JIT. 19:57:04 DDR [~chatzilla@d99-199-14-2.bchsia.telus.net] has joined #lisp 19:57:07 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 19:57:45 -!- ynniv [~ynniv@c-24-99-254-249.hsd1.ga.comcast.net] has quit [Quit: ynniv] 19:58:14 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 19:58:52 skulls [~user@gateway/tor-sasl/skulls] has joined #lisp 19:58:53 -!- _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has quit [Ping timeout: 246 seconds] 19:58:57 -!- ivan-kanis [~user@89.83.137.164] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:00:30 *felideon* performs a sacred HIPAA-cleansing ritual 20:01:00 minion: chant 20:01:01 MORE A SYMPTOM 20:02:35 I've always been terrified I'd paste something like H4ns just did into IRC. It's my one major misgiving about the otherwise excellent X11 select/paste behavior. 20:02:42 -!- jpanest_ is now known as jpanest 20:04:37 -!- pnq [~nick@ACA22003.ipt.aol.com] has quit [Ping timeout: 248 seconds] 20:05:31 I'm trying to read the profile output and apparently this procedure is taking a lot of time. Can I make it faster? http://paste.kde.org/451958/ 20:06:58 didi: easiest just to rewrite it as a loop. (loop for x in citizen for y in target summing (abs (- (char-int x) (char-int y)))), or something like that. 20:07:50 -!- clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has quit [Quit: clintm] 20:08:49 in -> across 20:08:52 could also learn about :key 20:10:02 gigamonkey [~gigamonke@adsl-99-2-151-118.dsl.pltn13.sbcglobal.net] has joined #lisp 20:10:15 -!- geek is now known as killown 20:10:16 -!- mickbeaver [~mickbeave@216-136-25-2.static.twtelecom.net] has left #lisp 20:10:25 -!- killown [~geek@unaffiliated/geek] has quit [Changing host] 20:10:25 killown [~geek@unaffiliated/killown] has joined #lisp 20:10:29 (though in this case we're talking about two sequences..) 20:10:54 hefner, mcstar: I'll do that. thank you. 20:10:58 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 20:11:07 shame SBCL doesn't inline uses of REDUCE (AFAIK). 20:11:30 reduce looks nice 20:11:35 like foldl/r 20:11:59 isnt there some accumulator map in cltl2? 20:12:15 i vaguely remember it mentioned in On Lisp 20:12:27 you mean like a mapfilter? 20:12:31 docAvid [~user@74-94-233-157-Michigan.hfc.comcastbusiness.net] has joined #lisp 20:13:07 like you are mapping, but not for return, but for side effect, and have a function which 'adds' applications of a function 20:13:23 basically a combined map-reduce 20:13:47 (i am not sure how performant that would be though) 20:13:57 -!- francogrex [~user@109.130.103.247] has quit [Read error: Connection reset by peer] 20:14:49 Uau, things seems faster now. 20:15:32 (collect-sum (mapping ((x (scan foo)) (y (scan bar))) (abs (- (char-int x) (char-int y))))) 20:15:45 although I don't know why you're using char-int 20:16:18 adeht: To have a number to compute. Do you suggest something else? 20:16:30 char-int is fine. char-code is more common. 20:17:41 what is this collect-sum? 20:17:48 didi, it depends on what you want to do.. 20:18:04 minion: tell mcstar about series 20:18:05 mcstar: look at series: Series is a library for operating on series, a data structure similar to a sequence. http://www.cliki.net/series 20:18:24 ah 20:18:32 didi: you need series for that 20:18:39 :) 20:20:11 there is no no-lisp channel 20:20:36 -!- wbooze [~wbooze@xdsl-78-35-142-241.netcologne.de] has quit [Ping timeout: 244 seconds] 20:20:36 i mean not-lisp 20:21:21 tensorpudding_ [~michael@99.56.168.134] has joined #lisp 20:22:55 clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has joined #lisp 20:23:08 ah nice, i just made a mistake that Graham explicitely tells about 20:23:25 Using Common Lisp? 20:23:35 'even if a function call has a side effect, you should reassign the return value' 20:23:56 yeah 20:24:47 -!- tensorpudding [~michael@108.87.21.241] has quit [Ping timeout: 246 seconds] 20:24:48 (not (equal "side effects" "editing answer in place")) 20:26:35 Kron [~Kron@206.126.93.212] has joined #lisp 20:26:43 -!- Kron [~Kron@206.126.93.212] has quit [Read error: Connection reset by peer] 20:26:55 Kron [~Kron@206.126.93.212] has joined #lisp 20:27:04 im talking about the destructive versions of common pure list manipulating functions 20:27:20 yep, I know 20:28:00 -!- tensorpudding_ is now known as tensorpudding 20:28:02 often they manipulate in place and the return value is the same as the side effect, but not always, and it has side effects for efficiency, not for setf-like behaviour 20:29:23 -!- Kron_ [~Kron@206.126.93.212] has quit [Ping timeout: 244 seconds] 20:29:27 -!- stlifey [~stlifey@121.11.118.133] has quit [Read error: Connection reset by peer] 20:29:43 wbooze [~wbooze@xdsl-78-35-187-243.netcologne.de] has joined #lisp 20:32:38 aaa 20:32:49 i dont think i should pick this up 20:32:58 flipout [~user@75-175-116-90.ptld.qwest.net] has joined #lisp 20:33:33 -!- lars_t_h [~lars_t_h@002129194179.mbb.telenor.dk] has quit [Quit: Leaving] 20:34:35 -!- gravicappa [~gravicapp@ppp91-77-184-245.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 20:35:54 nha [~prefect@dhcp-15-224.math.tu-berlin.de] has joined #lisp 20:35:56 -!- stassats` [~stassats@wikipedia/stassats] has quit [Read error: No route to host] 20:43:16 -!- minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 20:43:16 -!- specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Read error: Connection reset by peer] 20:43:32 minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 20:43:48 specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 20:44:08 -!- m7w [~chatzilla@31.24.92.45] has quit [Ping timeout: 240 seconds] 20:45:36 -!- specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 20:45:36 -!- minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 20:46:19 bulters [~jeroen@5469B78A.cm-12-2c.dynamic.ziggo.nl] has joined #lisp 20:46:55 minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 20:47:53 -!- minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 20:48:55 Beetny [~Beetny@ppp118-208-46-252.lns20.bne1.internode.on.net] has joined #lisp 20:49:05 -!- bulters [~jeroen@5469B78A.cm-12-2c.dynamic.ziggo.nl] has quit [Client Quit] 20:49:19 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 264 seconds] 20:49:33 stassats [~stassats@wikipedia/stassats] has joined #lisp 20:49:55 specbot [~specbot@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 20:50:20 minion [~minion@pppoe.178-66-40-208.dynamic.avangarddsl.ru] has joined #lisp 20:50:26 Funny how that simple change, from (reduce ...) to (loop ...) made my code ~1.58 faster. 20:50:40 sdemarre [~serge@91.176.115.235] has joined #lisp 20:51:10 And go profiling!, by the way. 20:52:15 i seem to recall some possiblity to bind a nonroot application to port 80. does anyone remember how? i want to use this for hunchentoot 20:52:18 this is under linux 20:52:31 I've always been disappointed by the performance of reduce and mapping functions. I don't understand why there should be any difference between loop and mapping functions. 20:52:35 iptables 20:53:28 stassats: i thought it was some permissions to be set on the binary, not iptables. but if iptables can do it, then i may be able to configure it through shorewall 20:53:30 ThomasH: there are many reasons, the chief one being that SSC is not around yet 20:53:34 im surprised you only gained 1.58x 20:53:57 mcstar: The strings are really small. 20:54:15 mcstar: 10 characters, actually. 20:55:03 I mean, 12. 20:55:15 stassats: From my viewpoint, that of someone that uses programming languages not implements, map and loop are equivalent. 20:55:48 then your viewpoint is not very good 20:55:56 What is a SSC? 20:56:04 a sufficiently smart compiler 20:56:05 stassats: Neither is your answer. 20:56:08 I see. 20:57:03 didi: i guess soon they will tell you: but you can rty writing one 20:57:07 ThomasH: it wasn't supposed to be 21:00:52 mcstar: And I will graciously reject the offer. :^) 21:01:08 :) 21:02:09 -!- cabaire [~nobody@p549403EF.dip0.t-ipconnect.de] has quit [Quit: Lost terminal] 21:02:47 -!- kilon [~kilon@athedsl-187602.home.otenet.gr] has quit [Remote host closed the connection] 21:05:59 -!- nha [~prefect@dhcp-15-224.math.tu-berlin.de] has quit [Ping timeout: 245 seconds] 21:06:28 is there a way to use weblocks with rucksack? 21:07:25 Yes, you put the weblocks inthe rucksack, the rucksack on your back and go trekking for 20 km. 21:07:28 Good training. 21:07:46 :-) 21:07:55 madnificent, no, you cannot. you can port forward via iptables from <1024 to a >1024 port, or use something like inetd to start it and drop privs/change user 21:09:11 -!- clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has quit [Quit: clintm] 21:09:35 madnificent: or externally bind the port as root, and pass it into your server, e.g. with systemd (if you're lucky enough to run a distro that uses that already) or authbind (if not). 21:09:54 How can I use let with variable, that holds list of variables i wish to bind? Say, (setq x '((a 2) b c (d 5))) (let x (values a,b,c,d)) 21:10:06 coldpizza72i [~anthonybe@coldpizza721.student.rit.edu] has joined #lisp 21:10:27 what is the lisp convention for documenting a function does it go above the signature or below? 21:10:40 madnificent: setcap cap_net_bind_service=+ep sbcl 21:10:47 -!- mishoo [~mishoo@79.112.104.38] has quit [Ping timeout: 260 seconds] 21:10:49 madnificent: how come that i did find that with google and you didn't? 21:11:06 in fact, you can get to it from hunchentoot documentation 21:11:19 -!- tritchey [~tritchey@c-68-51-88-12.hsd1.in.comcast.net] has quit [Quit: tritchey] 21:11:33 tritchey [~tritchey@c-68-51-88-12.hsd1.in.comcast.net] has joined #lisp 21:11:56 minion: tell NeedMoreDesu about gentle 21:11:56 NeedMoreDesu: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 21:11:59 -!- gaidal [~gaidal@h164n1-m-sp-d4.ias.bredband.telia.com] has quit [Quit: Leaving] 21:12:42 stassats: that lets you bind any port < 1024 just by running the sbcl binary, which is not awesome. 21:14:15 i'm not planning on using it 21:14:50 -!- sdemarre [~serge@91.176.115.235] has quit [Ping timeout: 246 seconds] 21:14:57 NeedMoreDesu: there is destructuring-bind, maybe you want that 21:15:01 -!- nialo` [nialo@ool-182d5684.dyn.optonline.net] has quit [Ping timeout: 248 seconds] 21:15:11 nialo` [~nialo@ool-182d5684.dyn.optonline.net] has joined #lisp 21:15:28 coldpizza72i: Lisp uses docstrings. For functions, these go immediately after the lambda list. Other documentable parts of Common Lisp receive their docstrings in other ways... and you can always use (SETF DOCUMENTATION) to put the documentation wherever you want. 21:16:00 -!- nialo- [~nialo@ool-182d5684.dyn.optonline.net] has quit [Ping timeout: 265 seconds] 21:16:00 sykopomp: so similar to python with triple quotes? 21:16:09 nialo- [nialo@ool-182d5684.dyn.optonline.net] has joined #lisp 21:16:11 """ docstrings""" 21:16:23 That's three strings. 21:16:32 coldpizza72i: yes. Only one pair of double-quotes, though. 21:16:35 (length (list """ docstrings""")) --> 3 21:16:38 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 252 seconds] 21:16:46 pjb: In python, that is only one string 21:17:28 why do we like them? they preserve newline? 21:17:35 and " " doesnt? 21:17:58 #lisp is not #python 21:18:13 "" preserves everything, and i don't think what "we" are you talking about 21:18:17 s/think/know/ 21:18:31 ISF [~ivan@143.106.196.233] has joined #lisp 21:18:48 stassats: can "" be used to preserve delicious fruity concoctions? 21:19:06 yes 21:19:11 mcstar: Right, in python they preserve newlines, and you don't have to escape " characters inside the string. But in CL newlines are preserved anyway. 21:19:30 -!- Jasko [~tjasko@c-174-59-201-95.hsd1.pa.comcast.net] has quit [Ping timeout: 244 seconds] 21:19:49 funny 21:20:02 -!- tritchey [~tritchey@c-68-51-88-12.hsd1.in.comcast.net] has quit [Quit: tritchey] 21:20:18 tritchey [~tritchey@c-68-51-88-12.hsd1.in.comcast.net] has joined #lisp 21:20:30 stassats: I enjoy learning new things about Lisp, and Lisp enjoys having interesting things to learn hidden right around the corner. 21:21:51 dnolen [~user@65-122-15-169.dia.static.qwest.net] has joined #lisp 21:24:16 Jasko [~tjasko@c-174-59-201-95.hsd1.pa.comcast.net] has joined #lisp 21:24:58 mm, peanut butter and codepoints 21:25:06 prxq [~mommer@mnhm-5f75eef5.pool.mediaWays.net] has joined #lisp 21:27:38 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 21:29:32 it is weird how computer algebra systems based on lisp vanished 21:29:53 any thoughts? 21:29:57 Type M-x imaxima RET 21:30:12 They don't vanish if you use them! Duh! 21:30:28 they are all available, by vanish, i mean didnt conquer significant market share 21:30:53 Lisp is too simple. Not enough job security in it. 21:31:17 -!- sellout [~Adium@c-98-245-92-119.hsd1.co.comcast.net] has quit [Remote host closed the connection] 21:31:17 Once you see something working, you think you can do it better. 21:31:23 -!- yroeht [~yroeht@x.yroeht.eu] has quit [Ping timeout: 244 seconds] 21:31:24 i just want to draw a parallel between lisp itself and products based on it 21:32:21 and i find it fascinating, that somehow, for the same reason lisp hasnt become famous, CAS systems were 'doomed' too 21:32:46 was it really just marketing? 21:33:05 Well, already, you have to be mathematician to use cAS. So you restrict yourself to a niche market of 1% of the population at most. 21:33:20 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 260 seconds] 21:33:23 yroeht [~yroeht@x.yroeht.eu] has joined #lisp 21:33:30 TDT [~user@bouncer.eng.uiowa.edu] has joined #lisp 21:33:39 other groups use CAS and similar aiding systems too 21:34:21 and somehow i feel universities disconnected from lisp based systems too 21:34:47 which is weird 21:34:53 The only thing that matter is what YOU will be doing for lisp. 21:35:02 cause in the beginning those lisp systems were run usually on uni. mainframes 21:35:13 Will you just complain about it, or will you use it to write libraries tools and programs for CL? 21:35:35 Look at Xach! He didn't complain. He wrote quicklisp! 21:35:36 pjb: first of all, i just want to have a nice conversation :) 21:35:46 and im not complaining either 21:35:50 Oh. Conversations go to #lispcafe ;-) 21:36:11 looks deserted 21:36:16 Yes :-) 21:36:39 BUt otherwise, yes. That's lisp history. 21:36:46 A fact of life. 21:36:54 -!- add^_ [~add^_^@m90-141-49-231.cust.tele2.se] has quit [Quit: add^_] 21:36:55 Its because all the lisping makes conversations unattractive *badabish* 21:37:12 -!- n1tn4tsn0k [~nitnatsno@178.47.16.31] has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/] 21:40:27 -!- ngz [~user@198.111.193.77.rev.sfr.net] has quit [Ping timeout: 245 seconds] 21:40:51 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #lisp 21:41:28 -!- coldpizza72i [~anthonybe@coldpizza721.student.rit.edu] has quit [Quit: coldpizza72i] 21:41:53 mcstar: thanks for tip, but it woudn't do the work too, since first argument isn't evaluated. 21:43:02 you want some kind of 'dynamic' destructuring? i.e. the variable list be the result of some evaluation? 21:43:45 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 21:43:47 NeedMoreDesu: what exactly are you trying to do? 21:45:10 *Xach* complains 21:46:31 >(setq x '((a 2) b c (d 5))) (let x (values a,b,c,d)) like this. I want to make local variables having some variable which holds variables I want to bind. 21:47:03 NeedMoreDesu: you still need to read a lisp tutorial. 21:47:31 -!- kenanb [~user@94.54.237.227] has quit [Ping timeout: 264 seconds] 21:47:36 I'll know how to do it, or I'll just change my ways? 21:47:53 if you want to bind something from values, you need multiple-value-bind or multiple-value-list 21:48:23 but youre 'let' syntax and use of, is wrong 21:48:27 sounds like you're looking for PROGV 21:48:28 your 21:48:29 :) 21:49:17 mcstar: the SETQ is wrong, too, for that matter, since X is not a variable yet. 21:49:46 sykopomp: i noticed clisp doesnt complain for that 21:49:56 and graham does it all the time 21:50:06 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:50:48 mcstar: so? It's not a variable. It could crash your whole lisp and it would be correct behavior. 21:50:50 -!- Nauntilus [~NickServ@wsip-68-14-222-194.ph.ph.cox.net] has quit [Read error: Connection reset by peer] 21:51:28 "so?" - just would like to hear your explanation, and thanks for it 21:52:13 will this make 'x' a special variable? 21:52:29 mcstar: setq wants variables. X is not a variable because it hasn't been defined as a variable. Use LET/DEFPARAMETER/DEFVAR/etc to bind the variable, and *then* you can SETQ it portably. 21:52:50 mcstar: in the case of CLISP, it will define a global lexical variable. 21:52:56 iirc 21:53:05 sykopomp: Thanks! Thats it. 21:53:26 NeedMoreDesu: now go read a tutorial 21:53:49 SBCL will also define a global variable x, but it will complain as it does so :D 21:53:59 *NeedMoreDesu* ^_^" 21:54:20 -!- asvil [~asvil@178.124.160.180] has quit [Ping timeout: 260 seconds] 21:54:53 jacius: a dynamic one, though, I believe. 21:55:12 sykopomp: I think you are correct about that 21:55:25 *didi* remembers been confused by `let' 21:56:00 sykopomp: if it is really bad practice(and it it), i dont really understand why is it possible at all 21:56:06 is* 21:56:19 -!- ISF [~ivan@143.106.196.233] has quit [Ping timeout: 260 seconds] 21:56:23 Because Lisp is a language for smart people. 21:56:28 mcstar: It's not portable. 21:56:34 Yeah, let can be confusing, especially if you come from a language where you can just do "x = 3" 21:56:51 jacius: Yes. 21:56:51 There are not a lot of such languages. 21:56:55 and then you realize x = 3 sucks and you'd rather have LET. 21:57:03 let x = 3 21:57:24 pjb: There are more languages like that, than there are with "let" 21:57:28 "x = 3" is confusing - the confusion is just hidden. 21:57:52 jacius: I wouldn't bet on it. declaring a variable before using it is good because it lets the compiler detect typoes. 21:57:57 lisp let is totally awesome, cause it is prenthesized 21:58:04 i had no problem with it 21:58:44 pjb: Whether it's good or not is orthogonal to the number of languages that let you do "x = 3" 21:58:59 jacius: count them. 22:00:41 -!- milanj [~milanj_@93-86-54-102.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 22:00:42 Heh. Okay, off the top of my head: ruby, python, javascript, fortran, basic. If you include languages that let you do something like "int x = 3", you also have C/C++, Java, etc. 22:01:01 daniel__3 [~daniel@p50829D0C.dip.t-dialin.net] has joined #lisp 22:01:16 That's 8 languages off the top of my head where you don't have to declare an explicit scope for the variable 22:01:19 C/C++/java require blocks to do that without some additional specification 22:01:26 and haskell? 22:01:50 there is some confusion here 22:01:52 although then it's actually function definition 22:01:54 jacius: there have been invented more than 20,000 programming languages. Go on counting. 22:01:58 hehe :P 22:02:21 pjb: I've counted 8, you count the rest. :P 22:02:33 Ok, so I win. 19992 against 8. 22:02:48 The 8 I've mentioned probably have more combined users than your 19992 22:03:03 kids... 22:03:07 -!- daniel [~daniel@p50829BE3.dip.t-dialin.net] has quit [Ping timeout: 264 seconds] 22:03:43 jacius: "int x = 3" is a combined declaration with definition, it doesnt count as x=3 i think 22:04:46 mcstar: The point I was making was that you don't have something like "let" in those languages, where you are declaring the existence of variable only within the body of the let 22:04:53 >but youre 'let' syntax and use of, is wrong 22:04:54 Lol as if I didn't knew that. It was just example to describe what I really want. 22:05:01 stlifey [~stlifey@121.11.118.133] has joined #lisp 22:05:33 NeedMoreDesu: by doing that, you left us in the dark, i dont think we really understood what you wanted 22:05:36 clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has joined #lisp 22:05:46 -!- kami [~user@unaffiliated/kami-] has quit [Ping timeout: 272 seconds] 22:05:46 thats why pjb directed you to tutorials 22:06:07 jacius: { } 22:06:25 jacius: function definition 22:06:34 Sigh. I don't know what it is about this channel, but everything devolves into nitpicking. 22:06:42 not really 22:06:46 Yes, really 22:06:55 i remmeber how sussman introduced let with the use of lambda 22:07:00 it was very eye opening 22:07:02 There's nitpicking and nitpicking. 22:07:11 You must be precise. 22:07:18 mcstar: You're doomed - give an example of not-nitpicking and he'll just say you're nitpicking. :) 22:07:28 -!- optikalm` [~user@206.223.184.2] has quit [Remote host closed the connection] 22:07:47 I said: "Yeah, let can be confusing, especially if you come from a language where you can just do "x = 3"" 22:07:53 -!- abeaumont [~abeaumont@90.165.165.246] has quit [Remote host closed the connection] 22:07:57 That promptly started a chain of nitpicking irrelevant to what I said 22:08:48 Starting with pjb saying there aren't many such languages, which even if true, is irrelevant 22:09:13 jacius: it can be disorienting .. it's not really that different, it just sortof looks different 22:09:15 abeaumont [~abeaumont@90.165.165.246] has joined #lisp 22:09:45 I've been hanging out here off and on for 6 months, and this sort of conversation happens practically every day (even when I'm not involved, just lurking) 22:09:49 the problem is not with =, but with imperative style, you dont declare variables one by one, but you can nest let's 22:09:56 you start lisp thinking that (foo ..) is a function call except in odd special cases where it's something else, but at some point it all looks the same tbh 22:10:42 sellout [~Adium@c-98-245-92-119.hsd1.co.comcast.net] has joined #lisp 22:10:49 oGMo: Okay, but it can still be confusing for newcomers, yes? 22:11:03 newcomers from where? thats the question 22:11:10 From languages where you can do "x = 3". 22:11:17 jacius: well of course, especially if you're used to other languages .. lisp requires a 90 degree shift in thinking 22:11:29 let x,y,z = 3,4,5 blahblah 22:11:36 oGMo: Okay, then you agree. Why are we arguing? 22:11:39 jacius: It's as relevant as saying the majority of people come from language without declarations. We have opposite opinions on this point, that's why I'm asking you to do some science, and to count the language (and rightly you mentionned that you need to count their users too). So now stop speaking and go do some science. 22:11:44 you can do this in f# and has the same meaning as (let ()) 22:12:03 jacius: you can do (let (x y) (setf x 0) (setf y 0)) which is roughly analogous to "other languages", but you don't 22:12:23 jacius: well i'm not arguing, i'm pointing out cases that might make it seem less odd 22:12:47 jacius: e.g., ruby (or smalltalk) blocks, where you can { |x, y| ... } 22:13:15 or C, where you can, anywhere in another block, start a new block, and { int x, y; .. } 22:13:49 -!- clintm [~clintm@c-98-232-33-73.hsd1.wa.comcast.net] has quit [Quit: clintm] 22:14:09 sezo [~yhiselamu@lap.ee] has joined #lisp 22:16:11 leprosys [~user@unaffiliated/leprosys] has joined #lisp 22:16:46 mcstar: >introduced let with the use of lambda 22:16:46 Oh, yay. Really. (let ((vars '(x y z)) (values '(10 20 30))) (apply (compile nil `(lambda ,vars (defun inc() (incf z)))) values)) 22:16:49 actually that is important in switch(){}, declaring variables between cases 22:16:57 -!- leprosys [~user@unaffiliated/leprosys] has quit [Client Quit] 22:17:34 ? 22:17:47 Emm. That's working. 22:17:56 -!- Jeanne-Kamikaze [~Jeanne-Ka@86.Red-88-11-22.dynamicIP.rima-tde.net] has quit [Quit: Did you hear that ?] 22:18:22 -!- kmcorbett [~kmcorbett@199.180.145.100] has quit [Quit: Leaving.] 22:18:36 what was meant is probably more like ((lambda (x y z) ...) 10 20 30) 22:18:57 let <> lambda 22:19:48 ferada: But the thing I was about is to make VARS and VALUES to be variables, not just hardcoded. 22:20:00 your point, yes 22:20:18 (let ((x 1)) (+ x 2)) == ((lambda (x) (+ x 2)) 1) 22:20:28 (but this is for scheme) 22:22:39 mcstar: Both works well in ccl. Is there any difference? 22:23:20 any advice on hacking slime / is there already something like a clos/gf browser to answer questions like "which of these classes (in a package, from this list, ...) _doesn't_ specialize the first parameter of foo"? 22:23:39 i'm really going crazy with the class "hierarchy" here -.- 22:23:49 -!- phrixos_ is now known as phrixos 22:24:02 NeedMoreDesu: in scheme this scheme works with nested lambdas 22:24:08 it wont in cl i think 22:24:23 I just received the ELS Call for Participation. I was toying with the idea of presenting something until I realized it is at the end of the month. That is entirely too short of a notice, especially for international travel. 22:24:24 mcstar: That's less quite true for scheme than CL, isn't it? Because scheme lets you insert a label before the vars. 22:24:58 for those who remember the earlier question re: using closures as functions in a given lexical scope, I've adapted nikodemus' fbind into a version that allows multiple simultaneous versions: http://paste.lisp.org/display/128766#2 22:25:08 (sensible!) comments on the macro implementation welcome 22:25:56 -!- prxq [~mommer@mnhm-5f75eef5.pool.mediaWays.net] has quit [Quit: Leaving] 22:26:52 scombinator [~user@203.171.40.170] has joined #lisp 22:27:24 kenanb [~user@94.54.237.227] has joined #lisp 22:28:02 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 22:28:45 *maxm-* does not get the advantage of simply using flet/labels 22:29:00 -!- FreeArtMan [~fam@93.177.213.54] has quit [Quit: Out of this 3D] 22:29:00 s/simply/over simply/ 22:30:11 -!- ferada [~ferada@dslb-188-097-116-074.pools.arcor-ip.net] has quit [Quit: leaving] 22:31:54 given a function foo that returns a closure, how do you bind that to a name using labels? 22:32:05 sellout: idk, what do you label before the vars/ 22:32:25 do you mean by* 22:32:36 phrixos: You could define the function containing the flet/labels inside the closure. 22:32:53 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 246 seconds] 22:32:57 mcstar: (let loop ((x 1)) (loop 2))  or something like that. I don't really Scheme anymore. 22:33:22 loop is special isnt it? 22:33:26 that would kind of defeat the point of using the closure as a psuedo-object in external code 22:33:31 or you can do that with any name? 22:33:31 mcstar: In scheme? 22:33:36 yeah 22:33:46 (i dont scheme) 22:33:56 mcstar: Then s/loop/next/  it works with any label. 22:34:55 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 22:35:03 phrixos: (flet ((foo (&rest args) (funcall foo args))) ... code that does (foo arg1 arg2)) 22:36:38 maxm-: the whole point of the macro is write exactly that code automatically 22:36:43 _schulte_ [~eschulte@adaptive.cs.unm.edu] has joined #lisp 22:38:29 ah I missed the point that it makes it shorted by 1 let, which you need otherwise 22:38:40 phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has joined #lisp 22:38:40 -!- phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has quit [Changing host] 22:38:40 phax [~phax@unaffiliated/phax] has joined #lisp 22:39:33 yup 22:40:40 so dolist is for generating unique names? 22:40:50 (in the code i mean) 22:41:38 it's for looping over the list of bindings that I pass in, because each binding need to generate code split across several parts of the macro output 22:43:43 ace4016 [~ace4016@cpe-024-074-197-085.ec.res.rr.com] has joined #lisp 22:43:52 lindes [~user@p4FF1C663.dip0.t-ipconnect.de] has joined #lisp 22:44:29 -!- fmu` is now known as fmu 22:44:39 *maxm-* usually collects stuff with (push `(whatever) collector-var) 22:45:06 then uses ,@(nreverse collector-var) to place in final result 22:45:34 cyphase [~cyphase@unaffiliated/cyphase] has joined #lisp 22:46:13 would that be ok if just grepped 'some-body, and put funcall in front of foo and baz, that i previously placed in a let? 22:46:52 dnolen` [~user@65-122-15-169.dia.static.qwest.net] has joined #lisp 22:47:00 -!- dnolen [~user@65-122-15-169.dia.static.qwest.net] has quit [Read error: Connection reset by peer] 22:47:03 or this is the foolish kind of macro 22:47:31 i suppose the order doesn't matter in this case, so replacing nconc with push would be faster 22:48:00 -!- jacius [~jacius@c-24-13-89-230.hsd1.il.comcast.net] has quit [Quit: Leaving] 22:48:42 of if using iterate/loop (loop for b in bindings as g = (gensym) collect `(,g ,@(cdr b)) into bforms collect `(,(car b) (&rest args) ...) into flets ... finally (return `(...splicing stuff together that uses ,@bforms @,flets etc) 22:49:30 phrixos: not faster, but more readable.. When writing these macros speed does not really matte that much, unless you doing some way crazy processing 22:49:53 aaaah 22:49:55 that's interesting 22:50:27 I was actually trying to do it with loop originally, but was missing the 'as' part 22:51:01 but readability matters greatly, so when "generate and collect stuff" IMHO if "collect" part visually is larger then "generate" stuff, you using wrong idiom, or need helper macro/function 22:51:25 yeah 22:51:38 i'll do a comparison using loop and see how that turns out 22:51:39 ta 22:52:38 antonv [5d7d31e8@gateway/web/freenode/ip.93.125.49.232] has joined #lisp 22:54:38 does cl-ppcre support posix style character class references, e.g. [[:space:]] ?? 22:55:11 IIRC, yes, something liket that. 22:55:15 or do i have to use \s ? 22:55:21 Check the doc. 22:55:45 yep sorry its in doc for create-scanner 22:59:08 -!- Nisstyre [~yours@c-208-90-102-250.netflash.net] has quit [Ping timeout: 246 seconds] 22:59:50 time for some sleep; thanks maxm- 23:01:05 -!- phrixos [~foo@unaffiliated/phrixos] has quit [Quit: phrixos] 23:03:42 ,t 23:03:43 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.7] 23:03:57 hmm, no erbot around these parts. too bad. :) 23:04:18 then again, I suppose it oughta be a CL bot, and maybe there is one? 23:05:27 albacker [~eni@unaffiliated/enyx] has joined #lisp 23:10:09 chiguire|m [~chiguire@gentoo/developer/chiguire] has joined #lisp 23:10:14 DataLinkDroid [~David@120.154.136.226] has joined #lisp 23:13:10 -!- Beetny [~Beetny@ppp118-208-46-252.lns20.bne1.internode.on.net] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- In tests, 0x09 out of 0x0A l33t h4x0rz prefer it :)] 23:15:01 -!- chupish [182c5af4@gateway/web/freenode/ip.24.44.90.244] has quit [Ping timeout: 245 seconds] 23:17:59 mjonsson [~mjonsson@38.109.95.176] has joined #lisp 23:19:13 iLogical_ [~iLogical@unaffiliated/ilogical] has joined #lisp 23:20:51 lindes: minion appears to be a bot 23:21:32 minion: are you a bot ^_^ 23:21:33 i'm not a bot. i prefer the term ``electronically composed''. 23:26:18 -!- Kryztof [~user@81.174.155.115] has quit [Ping timeout: 245 seconds] 23:27:01 where is my paste? 23:28:05 maxm-: http://paste.lisp.org/display/128775 23:28:12 MrBusiness [~MrBusines@184.99.7.19] has joined #lisp 23:28:32 this is not perfect, cause i forgot a lot about lists, but this is the main idea 23:30:17 -!- albacker [~eni@unaffiliated/enyx] has quit [Ping timeout: 246 seconds] 23:30:53 it is a different approach to solve phrisox's problem 23:31:03 i just want an opinion on how sane this is 23:31:15 pnathan [~Adium@75.87.255.164] has joined #lisp 23:31:59 -!- lindes [~user@p4FF1C663.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 23:32:44 -!- iLogical_ [~iLogical@unaffiliated/ilogical] has quit [Ping timeout: 246 seconds] 23:33:55 the problem is that i only cant push to the right part of the list, when my function argument is bound to (list (list some and other) sommore) 23:34:25 so that only the outermost cons is a copy 23:34:32 and i can push to the inner one 23:38:04 i guess i can just re-cons the tree on the way u[ 23:40:11 CONS should not CONS its arguments 23:46:32 it works now http://paste.lisp.org/display/128775#1 23:47:36 maxm-: did you go to sleep? 23:51:22 -!- pnathan [~Adium@75.87.255.164] has quit [Quit: Leaving.] 23:54:46 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 23:55:50 -!- vh0st is now known as vhost- 23:59:50 TimKack`` [~user@c-2ec280ea-74736162.cust.telenor.se] has joined #lisp