00:02:43 "Prolog is a great language for writing append; after that it's all downhill." 00:02:44 hehe 00:04:56 Prolog's sweetspot is a lot bigger than that. 00:07:04 genius CS people make the sharpest cracks at the expanse of their nemesis languages 00:07:14 it's a wonderful spectator sport 00:08:39 replore [~replore@203.152.213.161.static.zoot.jp] has joined #scheme 00:09:58 -!- gigamonkey [~user@adsl-99-155-193-84.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 00:10:05 kellar: That's because everyone knows that Scheme > *. :-P 00:10:16 gigamonk` [~user@adsl-99-155-193-84.dsl.pltn13.sbcglobal.net] has joined #scheme 00:10:29 cky: don't start that 00:10:31 cky: What language is that * from? 00:10:40 everyone will have to argue what the best SCHEME is 00:10:41 go to #common-lisp and say that. I double-dare you 00:10:52 or #haskell for that matter 00:11:35 besides, everyone know that atari assembler cannot be beat 00:11:45 or #emacs, but then a lot will be wtih you 00:11:45 s/know/knows/ig 00:11:46 Tekk_: Lol. 00:11:46 with* 00:12:00 kellar: Hehehehehe. 00:12:26 isn't emacs a terrible lanuage but a great start for an OS? 00:12:37 cky: interestingly enough, even though elisp is a lisp-2, if you ask the guys in #emacs almost all of them will say that they prefer lisp 1s 00:12:46 kellar: it's a very nice language actually :D 00:12:56 i know, I think so too. 00:13:14 (bias alert: posted from erc >>) 00:13:23 Hehehehehe. 00:13:58 I should port irssi to Chicken (hey, it has a curses module, unlike most other implementations), just so I can say I'm using a Scheme IRC client. ;-) 00:14:03 rcirc is actually nice too 00:14:23 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 00:14:27 but it was missing some really nice feature that I was used to from erc.. 00:14:31 i need an irc client that won't let me post a line until it has no typos 00:14:43 it's embbrising 00:14:48 :) 00:14:51 cky: C to scheme? that can't be pretty 00:15:02 kellar: erc has a spellcheck module 00:15:38 i can SEE the typos, I just need my irc client to say NO! 00:16:09 probably not that hard 00:16:16 I was thinking emacs needs a bridge to some declarative style gui programming. like glade/gtkdialog 00:16:25 no. shouldn't be hard 00:16:52 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 00:17:16 (if (= (spell-check-incorrect-list) nil) (post)) 00:18:10 there should be a `add-hook-post 00:18:17 actually 00:18:25 I bet emacs has an irc mode which has that 00:18:27 hmm 00:18:30 kellar: it was pseudocode 00:18:34 not meant to be kill and yank ;) 00:18:45 kellar: you could just make it an erc module 00:18:52 yeah, I'm using xchat, and gcc did complain.... 00:19:52 ahhh 00:20:02 erc IS an irc mode for emacs. that explains it. 00:20:31 oh yes 00:20:31 there's erc, which is the main client and the best one 00:20:31 and rcirc 00:20:33 which you can get to from M-x irc 00:20:40 I actually discovered that accidentally 00:20:54 seriously? it's part of emacs 23? 00:21:07 mhm 00:21:19 both of them are 00:21:31 kellar-erc [~ys@31.210.176.99] has joined #scheme 00:21:35 though I suggest erc 00:21:36 well now, look at that 00:21:40 hi :D 00:22:04 hmm. this brings up some interesting possibilities 00:22:09 does rebox work? 00:22:18 no clue what that is 00:22:32 Brendan_T [~brendan@static.112.22.47.78.clients.your-server.de] has joined #scheme 00:22:42 it's a mode for boxing comments in your code' 00:22:54 and it doesn't work' 00:23:33 probably wouldn't be that hard to do 00:23:42 I can actually evaluate the post function and it'll change behaviour? 00:23:49 that never ceases to amaze me 00:25:35 C-h k RET -> rcirc-send-input 00:26:30 oh cool, it builds on rcirc 00:28:09 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 00:29:55 hmm, does emacs have a single namespace for everything? 00:30:07 yep 00:30:13 it's possibly the best part 00:30:17 test 00:30:32 (imo) 00:30:34 test 00:30:41 kellar-erc: pong 00:31:47 sorry, will do that in another channel 00:31:51 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 00:32:12 kellar-erc: it's fine 00:33:11 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Ping timeout: 276 seconds] 00:38:58 wolfpython [~walter@180.109.58.50] has joined #scheme 00:40:33 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 260 seconds] 00:41:16 -!- pygospa [~TheRealPy@kiel-5f77b343.pool.mediaWays.net] has quit [Disconnected by services] 00:41:20 -!- gigamonk` [~user@adsl-99-155-193-84.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 00:41:26 pygospa [~TheRealPy@kiel-5f768944.pool.mediaWays.net] has joined #scheme 00:43:03 testing 00:43:19 it works! 00:43:42 why would anyone develop software differently? 00:44:01 I am now incapable of chatting with typos 00:45:17 now onwards to grammar, and intelligent content 00:45:25 or else be a lot more quiet 00:45:36 kellar-erc: problem 00:46:04 what is? 00:46:07 kellar-erc: how do you intend to post things including "rms", "slackware" , "linux", "debian", "elisp", "emacs" etc. 00:46:18 I shall be inventive 00:46:37 or perhaps just bind a special key for circumventing the check 00:46:44 nice 00:46:44 but inventiveness is my first plan 00:46:58 wow, i just spelled inventiveness correctly the first time 00:47:01 it's working already!' 00:47:03 oh, you want my autoparen tuff? 00:47:03 never miss another close paren 00:47:25 thanks, but those annoy the hell out of me 00:47:58 those minor modes are like the annoying clipper of emacs 00:48:04 they were the biggest things I missed from 'real' IDEs 00:48:08 you keep having to fight their good intentions 00:48:18 oh it's not a minor mode, it's actually a global keybinding 00:48:31 -!- MrFahrenheit [~RageOfTho@users-146-33.vinet.ba] has quit [Ping timeout: 258 seconds] 00:48:40 even worse, you can't escape to the scratch buffer, copy and paste 00:49:01 dkk> 00:49:06 hmm?* 00:49:06 it should have caught they spurious ' back there though 00:49:21 oh 00:49:34 see? no semantic checks "they" instead of that 00:49:39 much work to be done here 00:50:02 though if you really need just a ( you can C-x 8 left parenthesis, or just C-f and backspace.. 00:50:16 seems to be working well for me so far thuogh :D 00:50:18 though* 00:50:24 what's the grammar equivalent of spell on *our operating system*? 00:50:34 maybe I should steal your spell check mode... 00:50:48 I don't think there is one 00:51:01 it's childish I know, but I'm just boggled by this experience 00:51:03 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 00:51:09 grammar is tricky 00:51:22 you can probably search for it 00:51:41 maybe all those all-timers waxing poetic about lisp-machines were right 00:51:49 klutometis: I'm not an advocate, although I think Joy is really pretty, I'm a crappy Joy programmer. 00:52:05 wow. it doesn't recognize L I N U X as a word but it recognizes lisp-machine?' 00:52:17 :D 00:52:18 I enhanced the standard C implementation and then started to write one in Chicken but never finished. 00:52:19 RMS is all over this 00:52:37 kellar-erc: well lisp and machine are both valid english words 00:52:38 linux is not 00:53:03 lithp* 00:53:04 Right. "Linux" is only the second half of the word "GNU/Linux". 00:53:05 so chicken-monkey should pass mustard as well, you say? 00:53:07 yep 00:53:24 right you are 00:53:52 still, a single namespace for all buffers can also be an annoyance 00:54:12 or a godsend 00:54:16 kellar-erc: like tea time 00:54:20 yep is a word? 00:54:24 didn't know that' 00:54:42 I wanted to be able to run any format I wanted for my alarm 00:54:44 there is a bug in my code which spontaneously inserts ' 00:54:58 wow, I spelled that correctly on the first go as well 00:55:04 so I just jumped into tea-time.el and changed the normal play to emms-play-file :P 00:55:17 :) 00:55:41 kellar-erc: well there's kinda sorta namespacing 00:56:04 you can't access stuff from another file unless you require it 00:56:04 so they're kept separate that way 00:56:26 I'm beginning to really see what's brilliant behind the ideas of 00:56:26 small-talk and a l a n k a y e 00:56:33 but as far as real namespacing, no 00:57:04 yeah, smalltalk is inferior to lisp though 00:57:04 No namespacing, just letterspacing. 00:57:14 I have a friend doing an OS that runs a smalltalk like language 00:57:22 well, what if i have two buffers in the same mode and I want them to 00:57:22 realitygrill_ [~realitygr@adsl-76-226-106-3.dsl.sfldmi.sbcglobal.net] has joined #scheme 00:57:22 behave differently 00:57:44 are there buffer-local variables at least? 00:57:46 minor 00:58:08 -!- realitygrill [~realitygr@76.226.107.230] has quit [Ping timeout: 260 seconds] 00:58:08 -!- realitygrill_ is now known as realitygrill 00:58:08 actually yes, I think there are 00:58:09 sec 00:58:15 (setq foo "arst") 00:58:37 I couldn't say, but the idea of having your whole OS open to 00:58:37 inspection and modification in this way. I have a lot of respect for that. 00:58:46 I think it's an amazing concept 00:58:47 nope 00:59:03 if it's so great in emacs, why not take it everywhere you can? 00:59:08 I guess that's what squeak is all about' 00:59:14 no buffer local 00:59:16 with setq at least 00:59:26 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 00:59:47 you see these annoying ' everywhere? they are the result of exactly 00:59:47 the kind of annoying minor mode I was talking about earlier 01:00:17 so how do I override a single function in one buffer but not the other? 01:00:30 you can't, sadly 01:00:32 least I don't think 01:00:33 well 01:00:45 you could defun a new function that calls the old function as part of it 01:00:56 -!- ijp [~user@host86-182-157-221.range86-182.btcentralplus.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:01:00 and then M-x it 01:01:10 OH 01:01:13 I can't even put the behavior behind an if and locally alter a 01:01:13 variable to set the behavior 01:01:23 actually 01:01:33 I think that you can do localized stuff 01:01:39 with a .diremacs 01:01:40 or something 01:01:50 it only affects stuff in that directory 01:01:55 that's a wart 01:02:20 you should be able to do that in a clean way. locally subclass behavior 01:02:27 I argee 01:02:28 ooh 01:02:30 yay 01:02:37 emacs 24 is done building 01:02:45 it only took 2 hours.. 01:02:48 hopefully they've added that' 01:02:52 ha 01:03:00 what's new in emacs 24?' 01:03:26 doubt it 01:03:26 and a few little thigns 01:03:27 they have a built in package manage 01:03:28 r 01:03:42 package.el 01:03:44 Wake me up when Guile is in. 01:04:14 jcowan: that was a musing 01:04:30 No, seriously 01:04:30 I don't think there are serious plans for it 01:04:40 would that actually be that much of a change? 01:04:41 though iirc there IS a build of emacs somewhere that uses guile 01:04:56 kellar-erc: guile is a scheme, elis is more related to cl 01:04:59 guile and e lisp are closer then many other pairs you might pick 01:05:12 still, lisps 01:05:16 In particular, Guile (the implementation) provides Elisp as well as Scheme. 01:05:49 I'd bet much code could be automatically transferred from one to the other 01:06:13 Not really. 01:06:24 They are quite different in many respects. 01:07:53 well, here's an opportunity to get back on topic 01:08:14 I asked about differences from c lisp a few days ago but no one took 01:08:14 the bait 01:08:25 care to elaborate? I'm interested 01:09:15 I'm aware of tail-call optimization being mandatory 01:09:16 kellar-erc: scheme is prettier and lighter 01:09:27 also smaller and simpler 01:09:35 cl is more of a workhorse 01:09:42 and it's about as ugly as lisp can get 01:09:56 but it has a bigger standard library 01:09:59 that's sort of vague. can you give some examples? 01:10:07 no I can't. I don't know cl 01:10:11 -!- blackened [~blackened@ip-89-102-29-120.net.upcbroadband.cz] has quit [Remote host closed the connection] 01:10:13 and I only know a tiny bit of scheme 01:10:49 by the way, there's a c l package for e lisp 01:11:18 kellar-erc: pjb made this program that used _only_ the common subset between CL and Scheme. 01:11:33 kellar-erc: It's fascinating, because it demonstrates how _un_alike the two languages are. 01:11:39 Yes, but it doesn't provide full CL, just a little bit of CL-ish stuff. 01:12:01 g i t h u b? 01:12:17 I'd love a concrete example 01:12:35 Scheme had a Big Renaming, whereas CL and EL keep the old random names for things. 01:12:39 jcowan: I wonder if I can add FFI to your Chicken implementation; thereby making Joy suitable for "real projects." 01:12:58 Good idea. 01:13:07 It would be good to finish the implementation, though. 01:13:26 well, that can still leave them equal under a s e d s// transformation 01:13:27 My intention was to be able to get rid of the hand-hacked C implementation 01:13:58 function name differences are not a fundamental difference 01:14:08 RIght. 01:14:15 they are both functional, descendents of lisp 01:14:19 what about scoping 01:14:21 call/cc, dynamic vs. static scope, those are fundamental 01:14:24 are they the same? 01:14:37 EL is dynamic only, CL is lexical by default but with dynamic, Scheme is lexical 01:14:53 yes, that would be quite a different beast 01:15:41 though I wonder how much e lisp code relies on specific scoping behavior 01:15:51 jcowan: You mention something about logical primitives not handling sets; compare, opcase, case not being implemented; as well as: condlinrec, fold, filter, split, some all; also: treestep, treerec, treegenrec; lastly: docstrings. 01:16:00 Is that a fairly complete list of TODOs? 01:16:09 if you check for shadow variables you can locate all the problem 01:16:09 spots, no? 01:17:07 scratch that 01:19:56 -!- Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has quit [Remote host closed the connection] 01:23:22 jcowan: Scheme has sort-of dynamic with parameters and fluids. :-P 01:23:31 Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 01:23:46 jcowan: I know, they don't sound as special as special variables, but. :-P 01:25:15 cky: Wasn't SRFI-15 withdrawn; and FLUID-LET some kind of MIT-extension? 01:27:51 -!- kellar-erc [~ys@31.210.176.99] has quit [Quit: rcirc on GNU Emacs 23.3.1] 01:28:08 klutometis: Uh, uh, uh.... 01:28:18 jrapdx [~jra@66.241.80.192] has joined #scheme 01:35:39 -!- arcfide [1000@c-69-136-7-94.hsd1.in.comcast.net] has left #scheme 01:38:26 kennyd [~kennyd@46.188.228.1] has joined #scheme 01:41:52 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: 1861] 01:44:57 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 01:45:38 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 01:46:41 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 01:50:28 pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has joined #scheme 01:53:56 -!- wbooze [~levgue@xdsl-87-79-198-43.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:54:03 -!- homie [~levgue@xdsl-87-79-198-43.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:59:04 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 02:02:03 realitygrill_ [~realitygr@adsl-76-226-106-3.dsl.sfldmi.sbcglobal.net] has joined #scheme 02:02:08 -!- realitygrill [~realitygr@adsl-76-226-106-3.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 02:02:09 -!- realitygrill_ is now known as realitygrill 02:05:27 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 02:09:10 there anything for gui in mit-scheme? 02:09:33 Tekk_: Not sure about MIT Scheme, but there's GUI stuff for Racket. 02:09:53 and guile 02:10:07 hmm 02:11:01 Tekk_: Yep, Guile has bindings for GTK+ and GNOME. 02:11:29 yep 02:11:31 I was playing with them earlier today 02:11:32 really fun 02:12:31 Hehehehe. :-) 02:13:13 oh sweet 02:13:13 http://savannah.nongnu.org/git/?group=guile-sdl 02:13:19 :-) 02:13:30 I should try porting Frozen Bubble to Guile. :-P 02:14:58 MIT Scheme has a kludgey Xlib interface and an experimental (and probably just as kludgey) Gtk+ interface. 02:15:34 cky: I'd give scheme bubble port a shot 02:16:21 :-) 02:16:38 cky: guile-sdl can't be built 02:16:40 or at least I can't 02:16:54 :-( 02:17:41 says something about missing guile-baux-tools 02:18:03 guile-baux-tool* 02:21:26 ah 02:21:29 cky: hold on 02:22:31 By the way, Tekk_, if you like `autoparen' stuff in Emacs you might like to look into paredit. 02:23:31 Paredit über alles. 02:23:53 cky: nope, I found the old version 02:23:59 but that doesn't compile 02:24:08 Riastradh: I like it, but it was largely an elisp excersize 02:26:28 exercise* 02:31:26 cky: there's apparently an egg for it 02:31:55 Tekk_: SDL? Nice. :-) 02:33:45 alpha 02:33:53 http://wiki.call-cc.org/eggref/4/sdl 02:35:03 *nods* 02:35:20 may play around with it a bit 02:35:48 Good luck! :-D 02:36:42 except chicken isn't in fedora 02:36:43 of course 02:36:48 :-O 02:36:54 It's in Debian! \o/ 02:36:59 I know 02:37:04 I wish I had debian on here 02:37:10 but f14 was the only CD I had on me 02:37:22 wheezy is on my main 02:37:26 *nods* 02:40:15 maybe I'll burn a deb cd tonight and switch 02:40:24 :-D 02:40:28 hmm 02:40:35 does emdebian come with X? 02:40:52 6 GB HDD, not a ton of room for docs 02:41:38 cky: But, yeah, parameters do the dynamic trick; looks like they made it into R7RS-small, too, if I read jcowan's slides correctly. 02:41:53 klutometis: *nods* 02:42:15 Oh, did they make it in? 02:42:36 Yes. 02:42:59 Nice 02:44:12 Mutation outside of `parameterize' is not provided, since different implementations handle the thread interactions for that differently. 02:44:42 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 02:45:04 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 02:45:58 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 02:46:05 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 02:48:22 okay, torrenting cd1 lxde/xfce :D 02:50:35 foof: Are parameters in core, or did they get case-lambda'd? 02:50:48 (* relegated to a module) 02:53:56 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 02:56:46 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 03:02:07 realitygrill_ [~realitygr@adsl-76-226-123-132.dsl.sfldmi.sbcglobal.net] has joined #scheme 03:04:43 -!- realitygrill [~realitygr@adsl-76-226-106-3.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 260 seconds] 03:04:44 -!- realitygrill_ is now known as realitygrill 03:05:16 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 03:06:40 -!- Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has quit [Ping timeout: 260 seconds] 03:12:30 Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 03:15:53 cky: They're in the core, because current-{input,output,error}-port are parameters. 03:16:03 Ah, very sensible. 03:16:51 gigamonk` [~user@adsl-99-24-220-49.dsl.pltn13.sbcglobal.net] has joined #scheme 03:21:49 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 03:28:19 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 03:29:43 -!- realitygrill [~realitygr@adsl-76-226-123-132.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 03:30:48 realitygrill [~realitygr@adsl-76-226-130-178.dsl.sfldmi.sbcglobal.net] has joined #scheme 03:42:54 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 03:50:47 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 04:16:08 -!- dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 276 seconds] 04:24:16 -!- gigamonk` [~user@adsl-99-24-220-49.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 04:33:41 -!- turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 04:48:58 jeapostrophe_ [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:48:59 -!- jeapostrophe_ is now known as jeapostrophe 04:55:25 -!- wolfpython [~walter@180.109.58.50] has quit [Read error: Connection reset by peer] 04:59:31 -!- rff [~rff@ip72-207-241-136.br.br.cox.net] has quit [Ping timeout: 252 seconds] 05:01:09 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 05:03:35 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 05:05:33 hmmm... I want to extend my scheme, so I could write: ``(do init:((i 0 (+ i 1))) test:((= i 2)) commands:(displayln i))'' 05:06:48 dostoyevsky, why? That seems like a bunch of extra syntax to achieve the same result as something in the standard spec, and it ignores the extra features and extensibility provided by the comprehensions SRFI, by Shivers's loop library, and by foof-loop. 05:07:14 (I should specify that I'm the wrong person to help you with your task anyhow, but I'm curious to know why you're trying to do that) 05:08:47 When I have complex code I sometimes find it hard to know which context I am in... so I would like to have named parameters, that one can use optionally... So the code is more readable.. But maybe I just do not organize my scheme code properly... 05:09:23 a few schemes have keyword arguments, racket would have #:init (...) #:test ... 05:09:39 hmmm.... interesting 05:10:50 You could also use comments. 05:12:54 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #scheme 05:12:54 thats some professional trolling 05:14:24 jonrafkind, do you mean me? 05:15:53 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 05:16:40 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 05:20:14 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 05:21:09 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 05:22:20 klutometis: ping 05:22:51 I didn't know scheme had comprehensions 05:22:58 which implementations support it? 05:23:05 kellar: Racket. :-P 05:23:16 awesome 05:23:23 how tricky can they be? 05:23:57 klutometis: it should be complete, but you can look at the Joy manual at http://www.latrobe.edu.au/phimvt/joy/html-manual.html 05:24:17 However I did not implement sets in Chicken-Joy 05:24:23 -!- djcb [~user@a88-114-88-233.elisa-laajakaista.fi] has quit [Remote host closed the connection] 05:24:37 (they are just bitvectors stored as 32-bit ints) 05:24:57 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 05:26:06 racket install is 295 MB?!?! 05:26:10 does it mow the lawn? 05:26:21 Pretty much, yes. 05:26:22 It eats Cthulhu for dinner. 05:26:37 kellar, see also http://srfi.schemers.org/srfi-42/srfi-42.html 05:26:47 In New Jersey, where I used to live, they served shoggoth-meat sandwiches for school lunches. 05:27:00 jcowan: Wow, that's quite a feat. 05:27:02 In NYC, we're foreclosing on R'lyeh next week. 05:27:03 Poor li'l shoggoths. 05:27:11 Feast. Quite a feast. 05:27:14 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 05:27:16 -!- realitygrill [~realitygr@adsl-76-226-130-178.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 05:27:20 Both, I think? 05:27:29 can't get a good one of those in this town. sad but true. 05:27:31 jcowan: so THAT was what was actually in the chicken patty sandwiches 05:27:39 Yup. 05:28:08 *Tekk_* now has to wonder what the chilli was O.o 05:28:18 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 05:28:18 I'll let you figure out what the hero sandwiches contained. 05:28:26 actually we didn't have hero sandwiches 05:28:38 295 MB gets you............. this? 05:28:46 Welcome to Racket v5.1.3. 05:28:47 > 05:28:47 kellar: guile is the better deal 05:28:54 what an anticlimax 05:28:59 That's the CLI. 05:29:03 though I do feel my computer throbbing 05:29:06 kellar: you get an IDE with it 05:29:11 After I pasted that convo on my "home channel"... 05:29:12 05:28:10 <@Daeken> haha, <3 jcowan 05:29:12 05:28:24 <@Daeken> he's big in lojban circles, which is primarily how i know him 05:29:15 ^^--- Awwww.... 05:29:16 and there's an enterprise-liek dilitium crystal stil pulsing going on 05:29:48 jcowan: isn't lojban just about impossible to use? 05:29:57 because of the non ambiguity 05:30:00 Go to #lojban and tell them that. 05:30:03 jcowan: So all your hois and cois are actually appreciated. :-D 05:30:06 Oh yes. 05:30:19 I mean, if you know one word of Lojban, it's "coi" 05:30:59 if the IDE is gracket, then whoa! what a different from the CLI. it's exactly the same only not color-coordinated 05:31:13 drracket is probably what you want. 05:31:29 3rd try's lucky..... 05:32:09 unicode lambda and hints of a gui debugger???? I think I like this 05:32:46 kellar, wait until you start typing some code! It'll blow your socks off! Or at least slightly wrinkle at least one of them, maybe. 05:32:59 -!- Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has quit [Remote host closed the connection] 05:32:59 *kellar* dips a toe in 05:33:24 it doesn't turn (lambda into (*lambda* like emacs 05:33:44 no auto-indenting 05:33:58 tab seems to be set at 32 spaces?!? 05:34:12 kellar, c'mon. Just it on its strengths, not the ways in which it is not emacs. 05:34:16 oh, 16, that's alright then 05:34:18 -1s/Just/Judge/ 05:34:31 fair enough. what am I looking for? 05:34:42 You tell me, I use vim. 05:34:47 I don't really speak Lojban, I'm just the grammarian 05:34:49 hehehe 05:35:10 -!- jcowan [~John@cpe-98-14-172-212.nyc.res.rr.com] has quit [Quit: Leaving] 05:35:41 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 05:36:17 hang on. this is not just for scheme is it? 05:36:34 whoa nelly 05:36:59 alright then, you need to tell it you're writing scheme 05:37:05 and then it's nice to you 05:40:14 so earlier someone was talking about R7RS being out or nearly and I notice most implementations are still at R5RS 05:40:16 what gives? 05:40:24 Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 05:40:32 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: superjudge] 05:42:28 -!- pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 05:43:10 oh Joy, no more pain with mit-scheme's debugger, racket! 05:43:24 masm [~masm@2.80.175.107] has joined #scheme 05:45:26 kellar: r6rs was disapproved. 05:47:21 yeah, why isn't r6rs getting into mit? 05:47:59 kellar: because the implementer don't like it. Why do you think r7rs was started the day after r6rs was completed? 05:48:38 why do you think they just aborted r6 instead of fixing it? 05:48:57 They didn't abort the standardization, they completed it and nobody liked it. 05:49:15 yeah that's what I mean 05:49:23 why release it when nobody liked it 05:49:53 Well, the people who standardized it were probably proud of it. 05:50:42 Tekk_: R6RS is a very partisan issue in Scheme communities. 05:50:58 so similar to c99 I guess 05:51:24 well, I guess that'll happen whenever you have so long between new standard 05:51:25 s 05:51:38 It's not so much a length-of-time thing. 05:52:06 It's that in both cases, the language changes were: 1. significant, and 2. highly controversial. 05:52:06 Tekk_: well, I guess the situation would be better if we could issue a new standard every hour. 05:52:25 What's nice with standards, is that there are so many to choose between. 05:52:39 Isn't also about: Scheme as a language you can write an interpreter for in a weekend .. vs. a real programming langugae with lots of functionality 05:52:40 pjb: :-) 05:53:05 dostoyevsky: I wish it were that black-and-white. Alas, no. 05:55:01 I think the difference between Scheme interpreters written in a weekend and those that offer real programming environments with lots of functionality is pretty stark, and not really up for debate. 05:55:21 Well, I suppose anything is up for debate, but I wouldn't really be interested in participating in that one. 05:55:23 yep 05:55:32 some of them implement the standard 05:55:40 some of them implement a useful programming langauge 05:55:44 *rimshot...* 05:56:01 you guys need a bot for that ^ 05:56:02 You forgot to assert your belief that those sets are disjoint! 05:56:45 Lol. 05:56:57 gnomon: well I imagine the useful ones include the standard ones too 06:02:25 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 06:04:28 gravicappa [~gravicapp@ppp91-77-180-12.pppoe.mtu-net.ru] has joined #scheme 06:10:48 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 06:10:52 dostoyevsky: That whole weekend deal is an illusion. See for example the "48 hours" of Scheme 48, which after 25 *years* is still where it is. 06:11:24 eli: it depends 06:11:38 caffeine IV and feeding tube weekend you could definitely implement scheme.. 06:11:48 kellar: If all you want is ">", then yes, you can get that with much less than N mb. 06:12:14 Tekk_: Show me one Scheme that was implemented over a weekend, and survived long-term in useful form. 06:13:06 eli: I can't, that is beyond the scope of the challenge 06:13:55 Well, my "illusion" conclusion still stands then. 06:14:03 100% agree. 06:14:24 to be fair though 06:14:43 I can only name 5 schemes off the top of my head 06:15:01 Google for "Scheme implementations", you'll get plenty. 06:15:08 yeah, I know 06:15:13 there was one that looked really interesting 06:15:16 it was absolutely tiny 06:15:25 but had a lot of scheme 06:15:37 iirc 06:15:48 "had a lot of Scheme"? 06:15:48 I actually considered basing my eventual lisp machine OS on it 06:16:02 *eli* ROFLs... 06:16:04 eli: as in contained quite a bit of the r5rs standard 06:17:19 found it 06:17:21 http://code.google.com/p/chibi-scheme/ 06:17:40 Tekk_: Sorry about that, bringing "Lisp OSs" into a discussion like this is bringing irony into extreme levels. 06:18:01 Re "a lot of Scheme" and counting features -- that's a bogus measure. 06:18:08 Tekk_: Chibi is foof's implementation. You can talk about it with him here. 06:18:14 oh cool 06:18:32 Tekk_: For the record, eli is part of the Racket team, so bear that in mind too when comparing implementations. 06:18:36 eli: it's 2 AM, sorry if I don't have impeccable english ;) 06:18:51 You can implement a ton of R5RS functions, and omit three tiny features like "tail calls", "eval", and "continuations". 06:19:05 And the result will be *far* from what I'd call "a Scheme". 06:19:13 Tekk_: Many people here are implementers to some degree, and so they have very passionate beliefs about what Scheme is or isn't. :-) 06:19:25 cky: ah 06:19:40 eli: Or lexical scoping, lol. (Don't know if you saw that thread here from dostoyevsky. :-P) 06:19:44 maybe I'll give it a shot over christmas break 06:19:45 Re chibi, yes, it has a lot of stuff in it -- but it is definitely not a weekend project. 06:19:55 eli: wasn't saying it was 06:20:01 I said it was tiny :P 06:20:52 Also tiny doesn't really measure much -- Racket's default distribution is definitely huge, but that's obviously not to implement just what you get with chibi. 06:21:04 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 06:21:23 s/tiny/"tiny"/ 06:21:28 chibi even has a compiler... :) 06:21:32 cky: No I didn't see that thread. 06:22:09 eli: No worries, but IIRC, dostoyevsky's implementation used dynamic scoping for a while. Then Riastradh had to firmly mention that it's lexical scoping or it ain't Scheme. :-) 06:22:12 (Yes, "a compiler" is also mostly a meaningless feature.) 06:22:34 cky: Heh, that would be amusing... 06:22:39 Quite. 06:22:39 cky: It always used lexical scoping... I just was too stupid to understand my code... 06:22:48 dostoyevsky: Lol. 06:23:24 Writing an implementation of a language you do not really understand can confuse the hell out of you... 06:23:57 jewel [~jewel@196-215-114-61.dynamic.isadsl.co.za] has joined #scheme 06:24:11 Yeah, not advisable, usually. 06:24:22 *eli* just has to add one more illusion to the pile 06:24:27 Maybe I should have implemented Forth instead... But the more I use scheme, the more I like it... And I always wanted to write a compiler, and that's where I am now. :) 06:24:47 The myth of "the best way to understand Scheme is to implement it" is also an illusion. 06:25:04 eli: +1 I couldn't agree more. 06:26:02 is there any way to read from stdin with scheme?(guile or mit) 06:26:20 Tekk_: Yes, the default input port is stdin. 06:26:27 Tekk_: In most implementations, that is true also. 06:26:29 eli, why? i'd +1 that as an approach to learn at least scheme and forth 06:26:47 oh yeah, just hit the I/o section of the guile manual 06:26:49 of course 06:26:54 aoh: No, I think it's important to understand the language before implementing it. Otherwise, you'll implement bugs and not know it. 06:27:08 aoh: Forth is a tiny stack based machine, Scheme is much more high-level than that. 06:27:16 That. 06:27:30 aoh: Let's see you try to understand continuations by implementing it, for example. 06:27:38 eli, you don't need much more for a scheme. mainly gc takes a bit of code. 06:27:41 (Presume for the moment that you have zero knowledge of continuations.) 06:27:46 aoh: ^^--- 06:27:57 But yeah, what cky said too: understanding a language and implementing it are usually very different things -- even with Forth. 06:28:08 (And even if the implementation is a meta-circular one.) 06:28:10 cky, implementing them is *precisely* what you need to do to understand them. not via stack hacks but just by doing a cps transformer. 06:28:25 djcb [djcb@nat/nokia/x-fbkykultjxlpvyom] has joined #scheme 06:28:42 I'd say that implementing a language and trying to pass a compliance test suite gets close to really understanding the language... 06:29:39 dostoyevsky: That would be a good precondition for implementing, and a reasonable outcome of doing so. (Understanding the language.) But the thing that is an illusion is claiming that this is the *best* way to learn a language. 06:29:40 I'd say I could learn a lot just from trying to pass test suites, probably a lot more than if I had just written code for years.. 06:30:08 (aoh: Sorry, I'll ignore that bogus "don't need much more" trolling...) 06:31:53 eli, that ended up sounding more trollish than intended. 06:32:52 no lisp implementation in 48 hours? I made one in minutes 06:33:00 Tekk_: *rolls eyes* 06:33:14 cky: using eval is definitely not cheating ;P 06:33:27 sorry, I couldn't help myself once eli said that it couldn't be done 06:33:29 Sure, but try using eval in, say, JS or Ruby, not Scheme. 06:34:05 writing a core of a scheme system from which you can use itself to implement hygienic macros, eval, bignum math etc is roughly a 48-hour project 06:34:39 but the incremental steps from there to a mature optimizing portable compiler with mature libraries takes a bit longer :) 06:34:47 yeah 06:35:13 you could probably get away without bignum too 06:35:31 probably not r5rs but most other langs get away with it 06:35:33 (or at least python does) 06:35:45 you can also implement them later as a library 06:35:51 mhm 06:36:24 to bed with me 06:36:26 night \o 06:48:57 Peter Henderson, "Functional Programming: Application and Implementation" and "Recursive Programming Techniques" by William H. Burge were the books i had read just before writing the first toy lisp 06:49:04 would recommend :) 06:52:48 -!- jewel [~jewel@196-215-114-61.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 07:00:45 khaliG [~khali@203.171.126.201.static.rev.aanet.com.au] has joined #scheme 07:05:35 certainty|work [~david@matrix.d-coded.de] has joined #scheme 07:06:28 -!- certainty|work is now known as certaint|nowork 07:07:18 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 07:12:36 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 07:12:50 eli: had a false-start with it, I now like racket. 07:14:46 kellar: Sorry, I didn't intend to sound defensive... 07:16:53 you didn't. until some mentioned you were one of the developers. 07:17:45 aoh: is "recursive programming techniques" any good? I browsed over it and it seemed like it might not have stood the test of time 07:17:52 should I reconsider? 07:18:24 Is anyone working through sicp? I'm considering doing odd exercises only since life is too short to do textbook problems all day. thoughts? 07:19:05 khaliG: I am approaching the end of chapter 2 07:19:28 kellar, nice. doing all qs? 07:19:47 khaliG: I skip anything I write in my head before I reach the end of the question, but just odd ones is arbitrary 07:20:10 don't do questions you're sure won't improve your understanding, otherwise, the more the better 07:20:16 yes that's the point 07:20:44 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 276 seconds] 07:20:56 kellar, that might mean you miss out on learning things you don't know yet :P 07:21:57 ahinki [~chatzilla@212.99.10.150] has joined #scheme 07:22:33 kellar, it's really good 07:24:45 there is an intro to functional programming, which was quite new at the time, a compiler and a vm are described for the used language, and then most of the book is about algorithms and data structures using the language 07:24:58 i really liked the approach 07:25:32 aoh: sold 07:25:49 -!- fbs [fbs@fsf/member/fbs] has quit [Ping timeout: 240 seconds] 07:26:53 fbs [fbs@fsf/member/fbs] has joined #scheme 07:27:00 a book on CS has to be pretty good to be valuable 35 years on 07:27:32 khaliG: how does it mean that? 07:28:37 kellar, there is a quote by Gauss or Riemann or something where it says roughly, the person who skips the things that are obvious misses more than than the guy who avoids the hardest problems 07:29:41 what the heck would Gauss or Riemann know? 07:30:17 khaliG: germans. I never listen to germans 07:30:45 *kellar* ducks from any germans in the channel preparing to fling brautworst 07:30:57 pity no umlaut on this keyboard 07:32:15 khaliG: tell you the truth, I've pretty much done all of them, but it can slow you down and make you lose momentum, so prehaps leave some for a second read. I'm sure I'll return to sicp again after finishing it. it's a diamond. 07:33:24 kellar, so do odd problems on first read and even ones on the 2nd? :P 07:34:46 ccorn [~ccorn@84-53-64-50.adsl.unet.nl] has joined #scheme 07:36:48 speaking of exercises, EOPL 1st edition, excercise 12.4.11 is really nice 07:38:17 after ~450 pages of parsing, interpreting and compiling they say "Here is a somewhat different approach to compiling:" and over a few pages show an SE[C[D]]-style vm that was used also in recursive programming languages and how to compile for it 07:41:08 hmm. 07:41:11 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 07:41:19 2nd edition has <400 pages and only 9 chapters. 07:41:39 2nd edition is an entirely different beast 07:41:39 8 actually 07:41:50 couldn't find the first edition... :( 07:42:25 1st edition has more compilers and parsing, 2nd more type inference and oo, iirc 07:42:50 dRbiG [p@bofh.edu.pl] has joined #scheme 07:43:31 well, the dragon book is up next after SICP 07:43:44 should be covered there on compilers and parsing 07:43:47 and dragons 07:45:36 kellar, what are you planning to compile? 07:48:13 I'm interested in a project which is a mismash of scheme and a compiler based on llvm 07:48:42 I figured to tackle it, I need a more rigorous foundation then I have 07:49:21 apperently scheme has cornered a niche market on dynamic languages used for "live-coding" 07:49:31 it's fascinating stuff, to me. 07:51:05 there is something about scheme; everyone who leaves it for more industrial strength languages comes back with a newfound appreciation to it someday :P 07:51:55 hmm, typical compiler books are fairly optimized for very static languages and often spend a ton of pages of for example parsing, which can be quite trivial in a lisp 07:52:29 papers like http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf might help more on the codegen phase 07:53:01 i need to understand grammers, front-end , IR, back-end issues. at least the basic terminology and how-do-you do to get any sort of basic understanding of a 100k of llvm code 07:53:06 don't you think? 07:53:39 I'll probably just skim the second half about optimization for a point in the future when that is of specific interest 07:54:15 yes, it's good to know that stuff definitely 07:54:29 did llvm have some builtin gc? 07:55:38 I don't know, i'm not sure that's even makes sense. does the gcc tool suite have a builtin gc? gcj does I guess, it would have to. 07:57:29 i think hans boehm's libgc is the de facto gcc gc :) http://www.hpl.hp.com/personal/Hans_Boehm/gc/ 07:58:13 yeah, I've heard of it. 07:58:37 but that's not really part of the back-end / front-end as such. 07:58:55 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 07:58:59 more like something you integrate with the result. 08:05:00 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 252 seconds] 08:17:32 woonie [~woonie@nusnet-125-71.dynip.nus.edu.sg] has joined #scheme 08:17:54 Kajtek [~nope@nat4-230.ghnet.pl] has joined #scheme 08:23:21 dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has joined #scheme 08:27:48 ijp [~user@host86-182-157-221.range86-182.btcentralplus.com] has joined #scheme 08:35:40 -!- gravicappa [~gravicapp@ppp91-77-180-12.pppoe.mtu-net.ru] has quit [Ping timeout: 260 seconds] 08:39:36 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 08:49:47 wolfpython [~walter@58.212.239.232] has joined #scheme 08:59:18 -!- kennyd [~kennyd@46.188.228.1] has quit [Ping timeout: 260 seconds] 09:03:26 kennyd [~kennyd@178.160.6.32] has joined #scheme 09:05:48 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 09:06:41 -!- dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 276 seconds] 09:12:32 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 09:12:56 gravicappa [~gravicapp@ppp91-77-216-210.pppoe.mtu-net.ru] has joined #scheme 09:16:05 Burlingk [~burlingk@softbank221067045171.bbtec.net] has joined #scheme 09:16:59 -!- Axioplase is now known as Axioplase_ 09:35:28 -!- wolfpython [~walter@58.212.239.232] has quit [Ping timeout: 260 seconds] 09:39:20 -!- replore [~replore@203.152.213.161.static.zoot.jp] has quit [Remote host closed the connection] 09:39:49 -!- woonie [~woonie@nusnet-125-71.dynip.nus.edu.sg] has quit [Ping timeout: 240 seconds] 09:44:02 -!- tessier [~treed@kernel-panic/copilotco] has quit [Ping timeout: 258 seconds] 09:46:13 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Ping timeout: 240 seconds] 10:05:03 -!- kennyd [~kennyd@178.160.6.32] has quit [Ping timeout: 248 seconds] 10:08:48 BoehmGC is more of a crutch than a real GC, as far as I heard.. It's a big problem in both GCC and Ruby... 10:09:11 woonie [~woonie@nusnet-32-101.dynip.nus.edu.sg] has joined #scheme 10:10:46 it's deployed quite widely isn't it? what;s wrong with it? 10:11:06 is it stop-the-world? 10:11:11 I wonder too... 10:11:26 dostoyevsky: The first version of chibi-scheme used Boehm as scaffolding - it lets you focus on things other than GC. But it's not good for a serious language - eventually you'll need a real GC. 10:12:13 (The first version of chibi's native compiler will also use Boehm, until the real GC is updated.) 10:12:43 I think it was about types: BoehGC doesn't know about types, so it assumes that everything is a pointer... And if you by accident have a valid reference on memory in a string... you have a memory leak... Something like that, I think.. 10:13:25 -!- woonie [~woonie@nusnet-32-101.dynip.nus.edu.sg] has quit [Ping timeout: 240 seconds] 10:13:50 Boehm understands atomic memory - large blocks that don't contain pointers, but even then you can get leaks from stack references. 10:14:09 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 10:14:18 so it's a GC which leaves garbage laying around? 10:14:49 is there a better FOSS alternative? 10:15:12 kellar: It's a GC that tries to work as a C-libary as good as it can... but there are limits, and one of it is that memory is not typed once your C-code is compiled.. 10:16:25 interesting, that ties in with what aoh was saying earlier. so a GC actually needs a lot more type information, and so has to be well integrated with the compiler? 10:21:16 foof: Hmmm... compared to tinyscheme, chibi's GC actually looks quite large... 10:21:18 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 10:22:54 dostoyevsky: chibi's gc has many more features (all conditionally compiled in), such as weak references and the ability to clone a heap to run as a separate VM. 10:23:00 kellar: In the case of scheme, the GC just needs to be able to understand conses/pairs... 10:23:49 so actually that makes it quite easy to write a GC for it... 10:24:20 foof: Does the GC know about vectors and hashes? 10:24:48 Chibi also has vectors and compact user-defined types, whereas in tinyscheme everything is a pair. So chibi spends a little more space in the code to save arbitrarily large space in the runtime. 10:26:42 foof: I also have implemented heap cloning, btw.. but I deactivated it for now. :) 10:28:00 And memory persisitence... I store everything in a mmap()'ed memory block which can be stored on disk if wanted.. 10:28:49 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 10:28:57 kennyd [~kennyd@93.159.65.81] has joined #scheme 10:31:57 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 258 seconds] 10:32:22 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 10:35:57 *kellar* gives two thumbs up for comprehensions in racket 10:38:07 (do ((i 0 (+ i 1))) ((= i 200000)) (display i) (display #\return)) <- my scheme is only about 1s slower when executing this loop, compared to racket and chibi... And I haven't even compiled my code yet... 10:39:19 kephas [~pierre@AStrasbourg-551-1-47-207.w92-148.abo.wanadoo.fr] has joined #scheme 10:42:02 But executing something like `(do ((i 0 (+ i 1))) ((= i 200000)) (+ 1 1))' returns instantly in racket/scheme, whereas my scheme needs about 3s... 10:42:13 -!- nowhereman [~pierre@AStrasbourg-551-1-71-239.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 10:52:25 -!- kennyd [~kennyd@93.159.65.81] has quit [Quit: bye] 11:02:16 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 11:09:03 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 11:19:59 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 11:25:58 dostoyevsky: Racket's `for*' has a tiny bit more functionality compared to `do'. 11:26:48 eli: do looks good enough for me for now... racket's incredibly fast... 11:27:34 `do' is one of the most disliked syntaxes in the Scheme world in general. 11:27:52 But in any case, focusing on its speed is focusing on the wrong thing. 11:28:20 Depends on what you want to do... 11:28:51 No. Language comes first. Otherwise go write C. 11:29:59 And BTW, you gave just the right example: the reason that the loop with the `display's was almost the same in all of these is that IO is the dominating factor anyway. 11:30:06 whoa, racket has contracts? 11:30:24 yes 11:30:32 kellar: Higher order contracts were *invented* in Racket. 11:30:42 racket was the first language to "implement" contracts on higher order functions IIRC 11:30:43 err 11:30:45 what eli said 11:31:03 eli: but racket contracts are dynamic, aren't they? 11:31:10 (they are being checked during run time) 11:31:18 ohwow: Sure, that's the whole point. 11:31:47 It's the basic reason that contracts are generally not a type-system replacement. 11:31:57 yea 11:32:09 is there something like a reasoner to catch violations by static analysis? 11:32:33 kellar: See typed racket. 11:32:40 no, i dont think it's possible, since default racket is untyped 11:33:18 ohwow: See typed racket. 11:33:26 eli: i can write a contract which ensures that x is less than 42, for example; can I do this statically with typed racket? 11:33:37 [08:26] racket install is 295 MB?!?! does it mow the lawn? 11:33:43 [08:26] Pretty much, yes. 11:33:51 they weren't kidding 11:33:55 yea, i am aware of the existance of typed racket and it's really cool but i have not really played with it much 11:34:01 kellar: racket is superb 11:34:04 it also fertilized the moles 11:34:39 ohwow: By its nature, a type system can check less than dynamic checks. 11:35:12 Typed racket can do much more than other statically typed languages, but it's still more limited than contracts. 11:35:35 but what about tools like VCC (which can statically verify C programs)? 11:35:36 It's kind of obvious, because the whole point of type checking is to analyze code but not run it. 11:35:48 Yea 11:36:05 These tools are roughly equivalent to making a more and more sophisticated type system. 11:36:28 But the point still stands... You can't actually run the code, and therefore the halting problem is there. 11:36:33 replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:37:02 yes you can't prove the halting of the program, but you can still prove a lot of things 11:37:36 Yes, of course. But the limitation is still there, at the deepest levels of CS. 11:37:47 you can't just for /some/ programs 11:37:51 that's the point 11:37:55 Trying to bypass it is like trying to fly faster than the speed of light. 11:38:13 And BTW, typed racket also makes extensive use of the contract system. 11:38:25 eli, are contracts run- or compile-time? 11:38:39 because contracts verifiable at compile-time would be immensely useful 11:38:53 kellar: Racket has been in (very active) development since about 1995, it accumulated a feature or too... 11:39:15 eli: and an MB or too... 11:39:26 s/too/two/ 11:39:32 weirdo: Again, you absolutely *cannot* verify dynamic checks statically. 11:39:44 weirdo: The way it uses it is as follows: 11:39:54 eli, but you can if the exact value is known 11:40:09 weirdo: you could if all the data was constant, but that would not really add much 11:40:24 If you define some foo function that is `Number -> Number', then as long as you're in typed racket code, there are no dynamic checks. 11:40:28 SBCL has EQL-types and does stuff like this 11:40:30 you can statically prove *some* conditions 11:40:52 weirdo: But if you provide the function out, where untyped code might use it, you need to protect it from getting something other than a number. 11:41:22 eli: simpleton question: if it's all runtime check, how is it more then just a structured way of embedding assertions in the code? 11:41:26 So really what happens is that TR defines a contracted version of `foo' too -- and untyped code gets to use that. 11:41:42 This way untyped code can't break the assumptions that TR does. 11:41:57 that's neat 11:42:01 eli, but can Racket generate a warning if the contract can be known to be violated at compile-time? 11:42:06 weirdo: you could simulated it via a type/struct/record (say num<42) and providing syntax to make sure only a constant gets passed to the constructor, then you could use that type in typed scheme for static checking 11:42:32 Another thing that it can do (but I'm not sure if it can do it in practice yet), is treat contracts as a kind of a "known check", 11:42:49 i know they can't /always/ be checked at compile-time. but they can be /sometimes/ checked at compile-time 11:43:10 so if, for example, you have some random `blah?' predicate, you can construct a "type" for it, and passing it around means that you don't need to check for `blah?'-ness more than once. 11:43:28 That's as close as it gets to doing static things with arbitrary contracts. 11:43:46 (And again, you can't get any closer without the halting problem slapping you.) 11:44:25 eli, doesn't racket have EQL and MEMBER types, like sbcl does? 11:44:38 kellar: re a MB or too -- true, but like I said, it's much more than just a prompt... 11:44:57 It's kinda strange that exactly when we are having this conversation I receive this link via twitter: http://functionsource.com/post/contracts-putting-a-cup-holder-on-your-coffee-mug 11:44:58 http://tinyurl.com/3gk8ckc 11:45:22 weirdo: first of all, typed racket does have what you call "eql types", it also has true unions, so you get "member types" too. 11:46:04 weirdo: But the thing is that SBCL doesn't have types in the modern sense of what is considered to be "static typing". 11:46:15 yes... 11:46:26 sbcl doesn't even have recursive types 11:46:53 In any case, TR is more than just a hack that allows a few extra features, for example, these arbitrary unions. 11:47:12 kellar: Simple assetions are one aspect of contracts. 11:47:22 They're a way to blame your caller whenever you get a bad value. 11:47:36 On top of that, you can add post-condition assertions. 11:47:55 When these break, then the code itself is blamed rather than its caller. 11:47:59 will they be able to back off all arbitrary side-effects? i think not :P 11:48:09 (That is, those checks are a kind of self-consistency checks.) 11:48:29 maybe with transactions they could 11:49:04 kellar: Now, that's the simple thing that existed before the racket higher order contracts -- those, together with proper blame assignment, are the new things that Robby Findler did (and implemented in Racket first). 11:49:21 (weirdo: I'm not following how side effects are related.) 11:49:27 so is similar to AOP in the sense that you can inject code (check in this case) in arbitrary points in the execution of the program? and maintain some state between such points? 11:49:36 rff [~rff@ip72-207-241-136.br.br.cox.net] has joined #scheme 11:50:03 kellar: No, you don't inject code into an existing function. That's mutation (like many other AOP-like things -- including CLOS too). 11:50:09 You just define it with the checks. 11:50:26 So far, what I talked about is really the same as just assertions in the code. 11:50:37 But when you get to higher order functions, then things get tricky. 11:50:44 hmm, so are the check perfromed by something like a visor? outside the code itself? 11:50:52 sorry, please continue 11:51:20 For example, say that I define: (define (foo f x) (f x)), and I use a contract of ((number? -> number?) number? -> number?) 11:51:41 So the `foo' expects to get a single-arity numeric function. 11:51:53 And now things are flipped: 11:52:29 if the second input to `foo' is not a number, then it's `foo's caller that gets blamed. 11:52:41 eli, because if some post-condition gets violated, side-effects already occured and there's no simple way to continue without having the internal state broken in many ways 11:52:54 but if the first input to the `f' argument is not a number, then it's `foo's blame, not its caller. 11:53:15 So the trick is to generate those assertion wrappers in a way that deals with functions too. 11:53:23 < weirdo> will they be able to back off all arbitrary side-effects? i think not :P 11:53:29 maybe with continuations? 11:53:52 contrats are hella interesting 11:54:12 And that's important in a dynamic language like Scheme, since it allows you to write the equivalent of a `Number -> Number' type -- which is something that dynamic type systems almost never do. (For example, in plain Scheme all you get is `procedure?' nothing more specific.) 11:54:44 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 11:55:29 weirdo: Ah, I get that now (was in the middle of typing earlier). It could be used to avoid bad state, but in general the purpose of contracts is not the same as what you want to achieve with transactions. 11:55:39 in my unfinished type system i have (if ((x . integer)) integer ...) 11:56:06 weirdo: I have no idea what that would mean. 11:56:29 eli, if some bound variable called x is an integer, the type is integer, otherwise some other type is returned 11:57:32 weirdo: You mean that that thing is a type? 11:58:33 eli, yes! 11:58:34 :) 11:58:53 hm 12:00:35 weirdo: In that case, `if' is not really a good name, since that thing works at a different phase (it's a syntax, basically) and with a different language (the language that describes types). 12:00:56 weirdo: But in any case, do you know what "dependent types" are? 12:02:32 dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has joined #scheme 12:02:37 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 12:04:56 eli, i don't. i'm a self-taught amateur 12:05:19 weirdo: So google that and start reading. What you're describing is basically that. 12:05:32 oh :) too bad i wasn't the first person to come up with that 12:05:43 It's actually a bit more: the classic example is the type for dates. 12:05:54 It's not just , 12:06:17 you really want 12:07:02 but more specifically, you want 1..31 for the last item if the second is 1, 3, etc, 1..30 for others, and 1..28 or 1..29 in the case of 2. 12:07:44 eli, i try to make the system as dumb as possible 12:08:07 because of my observation such-that: more some system is dumb, more we can reason about it 12:09:50 weirdo: That's another way to specify the above limitation on static checks vs dynamic ones... 12:10:09 But more concretely, you might be interested only at the simple language for specifying types. 12:10:38 Just so, for example, you could use things like (car (list number string)) as a type. 12:12:34 eli: racket allows the user to define his own checking functions, correct? those functions can do anything, including mutation, or calling out to FFI? so it's possible to instrument any boundary? 12:13:22 kellar: Sure. But if you're talking about using these things in contracts than that's not the intention. 12:13:42 For example, it's assumed that contract checks are functional, so they can be optimized when possible. 12:13:48 eli, i don't have immutable conses nor do i plan to :| 12:13:56 So relying on the contract for doing some side effect is something that you shouldn't do. 12:14:08 (That point was actually discussed not too long ago.) 12:14:54 weirdo: Not having immutable conses is a Pretty Bad Idea in general, but I don't know how the got into the current context. 12:14:58 eli: is there something about contract that demands purity? or is it a performance-based design-choice? 12:15:12 -!- Kajtek [~nope@nat4-230.ghnet.pl] has quit [Quit: Leaving.] 12:15:16 eli, because rNrs doesn't have them 12:15:48 kellar: the intention of having a contract 12:15:48 -!- rff [~rff@ip72-207-241-136.br.br.cox.net] has quit [Read error: Connection reset by peer] 12:16:00 it's expected that your contract function is a predicate 12:16:16 rff [~rff@ip72-207-241-136.br.br.cox.net] has joined #scheme 12:16:43 well, sometimes abusing a mechanism can be fun, I'm just asking what would break 12:17:14 kellar: Imagine a contract that prints something -- you'd be very surprised when it doesn't do the printout because the system optimized things somehow and the contract is not run in some cases... 12:17:31 and having a side-effect when a violation is detected doesn't seem to me to be that implausible a wish 12:17:37 It's not a point of abuse -- it's a point of whether you can rely on it or not. 12:18:13 (weirdo: Sorry, I still don't know why you started to talk about immutable pairs...) 12:18:14 I see, but that's the implementation of contracts in Racket, it's not something vital to contracts in themselves. 12:18:47 but, i'm off-topic. 12:18:55 kellar: You could think about contracts as a general facility for generating common wrapper function patterns -- but then you'd want more than what contracts give you. 12:19:23 It's not an invalid or insane thing to want -- just not what the racket contract system (or other contract systems) were designed for. 12:19:29 _danb_ [~user@124-149-186-129.dyn.iinet.net.au] has joined #scheme 12:20:02 The racket one comes close to allowing you such abuse, and this was the point of the recent discussion. And the conclusion was that it's a bad idea to do such things through the contract system. 12:21:56 eli: I saw some video talks from Microsoft research on specsharp, which embeded pre and post-conditions on functions in a language formulated as a superset of C#. They had a proof assistant as part of the IDE which let you reason about your program and prove correctness while you code. it was pretty incredible. 12:22:24 -!- rff [~rff@ip72-207-241-136.br.br.cox.net] has quit [Ping timeout: 252 seconds] 12:22:55 eli: (= Contracts pure). got it. 12:22:55 kellar: That won't be the first time that Microsoft has tried to get some of that stuff to the masses... 12:23:38 eli: supposedlt they use such toold internally quit widely. which makes we wonder why their OS's uptime is so uninspiring. 12:24:37 I started playing around with Coq (go ahead, you know you want to), but it was heavy going. 12:24:40 realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has joined #scheme 12:24:42 I don't think that they use these tools too widely. 12:24:54 eli, i talked about them because you said about typed pairs. they're too infeasible with mutable ones when every call can mutate them 12:25:20 kellar: But the bad problems that Windows is getting into is exactly why they'd up their investment in such things. 12:25:43 kellar: See for example the Pentium bug -- Intel really invested heavily in verification tools after that disaster. 12:26:34 weirdo: Sorry, I'm still not following that. Trying to reason statically about any mutable container is tricky, but that's unrelated to talking about static typing. 12:26:53 ok, let's not talk about it then 12:27:20 eli: it was impressive technology, even If the video showed what they chose to show. 12:28:02 it's actually open-source, but not free as in beer: 12:28:02 http://research.microsoft.com/en-us/projects/specsharp/ 12:30:07 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 12:30:56 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 12:33:47 kellar: Cute. 12:35:32 the developers behind it are, of course, nordic. 12:35:58 Still looks very academic though. 12:36:06 don't what make noric people fanatic about verification. it must be the aquavit. 12:36:34 (Or just good education...) 12:39:19 have a look at this 12:39:21 http://ecn.channel9.msdn.com/o9/ch9/5/9/7/2/3/5/verificationconerchunker_ch9.mp4 12:39:21 http://tinyurl.com/3w48ftw 12:39:54 you may be right about it being academic. but tell me this is not cool. 12:40:01 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 12:45:05 -!- dRbiG [p@bofh.edu.pl] has quit [Ping timeout: 276 seconds] 12:46:18 -!- Brendan_T [~brendan@static.112.22.47.78.clients.your-server.de] has quit [Ping timeout: 260 seconds] 12:47:20 kellar: My phd work was done on a theorem prover... So my taste in coolnes is definitely not a representative of anything... 12:59:58 -!- tizoc is now known as br2 13:05:58 pandeiro [~pandeiro@187.105.248.196] has joined #scheme 13:07:21 -!- tonyg [~tonyg@173-203-78-111.static.cloud-ips.com] has quit [Quit: leaving] 13:07:41 tonyg [~tonyg@173-203-78-111.static.cloud-ips.com] has joined #scheme 13:16:17 -!- ijp [~user@host86-182-157-221.range86-182.btcentralplus.com] has quit [Remote host closed the connection] 13:16:41 -!- br2 is now known as tizoc 13:22:29 -!- _danb_ [~user@124-149-186-129.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:24:25 -!- weirdo [sthalik@kronstadt.lain.pl] has quit [Quit: leaving] 13:25:41 -!- realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 13:27:18 -!- thevishy [~tnishant@203.123.174.162] has quit [Quit: Leaving] 13:30:03 ijp [~user@host86-182-157-221.range86-182.btcentralplus.com] has joined #scheme 13:38:55 MrFahrenheit [~RageOfTho@users-146-33.vinet.ba] has joined #scheme 13:44:51 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 13:46:52 -!- djcb [djcb@nat/nokia/x-fbkykultjxlpvyom] has quit [Remote host closed the connection] 13:47:04 djcb [djcb@nat/nokia/x-amudlbioqgizhauz] has joined #scheme 13:49:42 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Quit: leaving] 13:52:22 pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has joined #scheme 13:53:10 astertronistic [~astertron@ip68-8-221-204.sd.sd.cox.net] has joined #scheme 13:54:02 -!- pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has quit [Client Quit] 13:54:32 pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has joined #scheme 13:59:37 -!- pcavs [~Adium@c-65-96-169-56.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 13:59:55 jeapostrophe [~jay@lallab.cs.byu.edu] has joined #scheme 14:05:33 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Remote host closed the connection] 14:11:19 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 14:22:28 -!- Pepe_ [~ppjet@anderith.bouah.net] has quit [Ping timeout: 260 seconds] 14:22:45 -!- dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 260 seconds] 14:22:49 Pepe_ [~ppjet@anderith.bouah.net] has joined #scheme 14:24:20 tupi [~david@139.82.89.24] has joined #scheme 14:26:24 drack3n [~drack3n@89.Red-80-25-155.staticIP.rima-tde.net] has joined #scheme 14:30:14 dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has joined #scheme 14:37:17 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 14:38:15 gffa [~gffa@unaffiliated/gffa] has joined #scheme 14:38:25 pcavs [~Adium@63.139.127.6] has joined #scheme 14:40:20 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 14:45:39 wolfpython [~wolf@180.110.178.121] has joined #scheme 14:48:29 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 14:48:34 -!- jeapostrophe [~jay@lallab.cs.byu.edu] has quit [Quit: jeapostrophe] 14:56:18 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 14:58:06 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 14:58:15 -!- ahinki [~chatzilla@212.99.10.150] has left #scheme 14:58:36 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 252 seconds] 14:58:55 -!- pumpkin is now known as copumpkin 15:01:40 -!- pcavs [~Adium@63.139.127.6] has quit [Quit: Leaving.] 15:15:14 -!- astertronistic [~astertron@ip68-8-221-204.sd.sd.cox.net] has quit [Ping timeout: 258 seconds] 15:16:47 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 15:17:59 rvn_ [~rvn@77.107.164.131] has joined #scheme 15:24:01 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 15:25:31 rpg [~rpg@216.243.156.16.real-time.com] has joined #scheme 15:25:56 Kajtek [~nope@nat4-230.ghnet.pl] has joined #scheme 15:26:38 -!- jrapdx [~jra@66.241.80.192] has quit [Quit: Leaving] 15:26:55 -!- wolfpython [~wolf@180.110.178.121] has quit [Ping timeout: 260 seconds] 15:29:10 realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has joined #scheme 15:30:13 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 260 seconds] 15:33:29 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 15:35:12 -!- djcb [djcb@nat/nokia/x-amudlbioqgizhauz] has quit [Quit: Ex-Chat] 15:35:41 phao [~phao@pontenova.dpi.ufv.br] has joined #scheme 15:41:32 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 15:42:02 -!- woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has quit [Ping timeout: 260 seconds] 15:43:38 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 15:49:53 -!- samth_away is now known as samth 15:51:12 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 15:51:15 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 15:51:33 arcfide [1000@c-69-136-7-94.hsd1.in.comcast.net] has joined #scheme 15:53:37 sayu [~shark@92.82.76.72] has joined #scheme 16:02:25 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 16:05:49 wbooze [~levgue@xdsl-78-35-152-10.netcologne.de] has joined #scheme 16:05:57 homie [~levgue@xdsl-78-35-152-10.netcologne.de] has joined #scheme 16:07:44 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 16:08:29 What Lisp dialect do you guys recommend to install? 16:08:46 Racket: http://racket-lang.org 16:10:00 sayu: Petite Chez Scheme: http://www.scheme.com 16:10:03 Next. 16:10:56 HG` [~HG@p5DC04E70.dip.t-dialin.net] has joined #scheme 16:10:59 rbuck_ [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has joined #scheme 16:12:20 -!- Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has quit [Remote host closed the connection] 16:13:07 -!- rbuck_ [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has quit [Client Quit] 16:14:01 rbuck [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has joined #scheme 16:14:04 Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 16:15:52 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 16:16:21 rbuck_ [~rbuck@mobile-198-228-199-138.mycingular.net] has joined #scheme 16:18:27 I second Racket 16:18:43 or Chicken if you want more r5rs-like stuff 16:18:56 -!- rbuck [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has quit [Ping timeout: 276 seconds] 16:19:37 What wrong with this syntax: (define (sqrt n)? I've installed Chicken. 16:19:56 sayu: well 16:20:07 first of all you're not defining anything to be sqrt n 16:20:11 and second you're missing an end paren 16:20:26 (define foo (lambda (n) (sqrt n)))) 16:20:29 and ? is probably undefined :p 16:20:54 sayu: though (define foo (n) (sqrt n also works)) 16:20:55 I think 16:21:11 *Tekk_* never uses that particular sugar 16:21:49 -!- realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 16:22:35 How do I run Chicken inside Emacs? 16:24:16 sayu: (setq scheme-program-name "csi") 16:24:22 sayu: C-x C-e that ^ 16:24:25 and then put it in your .emacs 16:24:48 jeapostrophe [~jay@lallab.cs.byu.edu] has joined #scheme 16:25:01 gigamonkey [~user@adsl-99-24-220-49.dsl.pltn13.sbcglobal.net] has joined #scheme 16:25:48 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 16:29:25 Tekk_: Thanks, it works. 16:29:38 -!- rbuck_ [~rbuck@mobile-198-228-199-138.mycingular.net] has quit [Ping timeout: 260 seconds] 16:30:53 -!- woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has quit [Quit: Nettalk6 - www.ntalk.de] 16:31:17 rbuck [~rbuck@mobile-198-228-199-138.mycingular.net] has joined #scheme 16:32:33 DT`` [~Feeock@host159-158-dynamic.56-79-r.retail.telecomitalia.it] has joined #scheme 16:33:38 np 16:39:35 -!- arcfide [1000@c-69-136-7-94.hsd1.in.comcast.net] has left #scheme 16:43:49 -!- ccorn [~ccorn@84-53-64-50.adsl.unet.nl] has quit [Quit: ccorn] 16:46:02 -!- kpal [eart0186@raven.linux.ox.ac.uk] has quit [Ping timeout: 252 seconds] 16:48:49 Tekk_: (define (func arg1 arg2 . rest) ...) is the sugar for (define func (lambda (arg1 arg2 . rest) ...)). 16:49:02 Tekk_: It looks different from defun's syntax. 16:49:08 realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has joined #scheme 16:49:12 ah 16:51:54 -!- phao [~phao@pontenova.dpi.ufv.br] has quit [Quit: Leaving] 16:57:19 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 248 seconds] 16:58:11 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 16:59:14 -!- rbuck [~rbuck@mobile-198-228-199-138.mycingular.net] has quit [Quit: rbuck gone away...] 16:59:36 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 17:06:34 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 17:07:15 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 17:09:25 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 17:09:31 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has left #scheme 17:14:57 -!- Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has quit [Read error: Connection reset by peer] 17:15:50 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 17:17:57 Tekk_ [~user@cpe-071-077-209-233.ec.res.rr.com] has joined #scheme 17:22:45 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 17:24:40 -!- dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 260 seconds] 17:31:43 -!- realitygrill [~realitygr@adsl-76-226-143-20.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 17:34:46 turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has joined #scheme 17:38:09 dRbiG [p@static-78-8-120-130.ssp.dialog.net.pl] has joined #scheme 17:41:14 tsousa [~samadlife@bl18-51-229.dsl.telepac.pt] has joined #scheme 17:41:32 is scip heavy on math i only am on 11 grade 17:42:01 qu1j0t3 [~qu1j0t3@vm4.telegraphics.com.au] has joined #scheme 17:46:05 sometimes it is 17:46:31 but you don't have to get into it....just skip those you don't understand immediately to return to it at a later time.... 17:46:56 tsousa: I recommend either How to Design Programs http://htdp.org or picturing programs: http://picturingprograms.com/ 17:47:35 wbooze, but there is alot of exercises that need a lot of math? 17:48:05 probably.... 17:48:30 tsousa: the picturing programs textbook explicitly avoids maths 17:48:49 samth, ok i will have a look 17:51:52 i already know how to program, i want to improve 17:52:01 samth, i think that book is really for beginners 17:52:21 yes, it is 17:52:40 what are you trying to learn? 17:53:30 i recommend looking at HTDP, and going quickly through the initial portions if you're comfortable with them 17:53:55 i also recommend "The Little Schemer", but it's only available as a book, not online 17:54:11 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 17:54:11 realitygrill [~realitygr@thewall.novi.lib.mi.us] has joined #scheme 17:54:12 well i know some python and some C but i never did medium/large project so i want to get more confortable with programming by learnin data structure and a funtional language 17:54:54 blackened [~blackened@ip-89-102-29-120.net.upcbroadband.cz] has joined #scheme 17:55:16 tsousa: then i stand by my recommendation of htdp 17:56:21 rbuck [~rbuck@mobile-198-228-199-138.mycingular.net] has joined #scheme 17:58:06 samth, is there a lot of math or a lot theorical? 17:58:09 Krishnamurthi has also written that PLAI thing; we had one course using that, or actually a draft of it. I'm not sure I'm qualified to recommend/disrecommend it, but it exists. 17:59:44 tsousa: no, there's not a lot of math or theory 17:59:58 thanks 17:59:58 fizzie: PLAI is a programming _languages_ textbook, not a programming textbook 18:01:51 best thing about kernel programming: impossible to segfault 18:02:23 LOL 18:02:56 -!- tsousa [~samadlife@bl18-51-229.dsl.telepac.pt] has quit [Quit: Saindo] 18:07:36 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 18:08:12 -!- drack3n [~drack3n@89.Red-80-25-155.staticIP.rima-tde.net] has quit [Quit: Saliendo] 18:15:25 -!- rbuck [~rbuck@mobile-198-228-199-138.mycingular.net] has quit [Ping timeout: 260 seconds] 18:18:48 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 18:24:14 rbuck [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has joined #scheme 18:25:50 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 18:35:26 -!- sayu [~shark@92.82.76.72] has quit [Ping timeout: 276 seconds] 18:46:09 -!- frhodes [~frhodes@168-103-96-233.albq.qwest.net] has quit [Quit: leaving] 19:00:08 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 19:06:44 arcfide [1000@c-69-136-7-94.hsd1.in.comcast.net] has joined #scheme 19:09:27 tessier [~treed@216.105.40.125] has joined #scheme 19:13:54 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 19:20:11 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 258 seconds] 19:22:23 -!- elly [~elly@atheme/member/elly] has quit [Ping timeout: 248 seconds] 19:25:33 -!- khaliG [~khali@203.171.126.201.static.rev.aanet.com.au] has quit [Quit: Leaving] 19:28:34 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:29:17 -!- pigeons [~tielk@67-197-48-106.fm.dyn.cm.comporium.net] has left #scheme 19:31:33 elly [~elly@atheme/member/elly] has joined #scheme 19:34:59 -!- jeapostrophe [~jay@lallab.cs.byu.edu] has quit [Quit: jeapostrophe] 19:45:18 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 19:45:35 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:53:12 jrapdx [~jra@66.241.80.192] has joined #scheme 19:54:08 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 252 seconds] 19:54:22 -!- homie [~levgue@xdsl-78-35-152-10.netcologne.de] has quit [Read error: Connection reset by peer] 19:54:23 -!- wbooze [~levgue@xdsl-78-35-152-10.netcologne.de] has quit [Read error: Connection reset by peer] 19:55:26 wbooze [~levgue@xdsl-78-35-146-30.netcologne.de] has joined #scheme 19:55:47 homie [~levgue@xdsl-78-35-146-30.netcologne.de] has joined #scheme 20:00:53 dfjklaaf [~paulh@247-15-ftth.onsnetstudenten.nl] has joined #scheme 20:05:18 _danb_ [~user@124-149-186-129.dyn.iinet.net.au] has joined #scheme 20:11:15 -!- pygospa [~TheRealPy@kiel-5f768944.pool.mediaWays.net] has quit [Quit: Lost terminal] 20:11:45 pygospa [~TheRealPy@kiel-5f768944.pool.mediaWays.net] has joined #scheme 20:22:22 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Quit: leaving] 20:38:23 -!- homie [~levgue@xdsl-78-35-146-30.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:38:36 -!- wbooze [~levgue@xdsl-78-35-146-30.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:43:03 HG`` [~HG@p5DC04AA9.dip.t-dialin.net] has joined #scheme 20:44:37 -!- HG` [~HG@p5DC04E70.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 20:49:04 -!- gravicappa [~gravicapp@ppp91-77-216-210.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:49:17 kennyd [~kennyd@93-136-107-7.adsl.net.t-com.hr] has joined #scheme 20:49:41 -!- pandeiro [~pandeiro@187.105.248.196] has quit [Quit: Out of quarters] 20:57:59 -!- realitygrill [~realitygr@thewall.novi.lib.mi.us] has quit [Quit: realitygrill] 21:02:35 -!- rbuck [~rbuck@66-189-68-77.dhcp.oxfr.ma.charter.com] has quit [Quit: rbuck gone away...] 21:06:30 wbooze [~levgue@xdsl-78-35-146-30.netcologne.de] has joined #scheme 21:06:46 homie [~levgue@xdsl-78-35-146-30.netcologne.de] has joined #scheme 21:07:10 -!- DT`` [~Feeock@host159-158-dynamic.56-79-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 21:12:00 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: superjudge] 21:12:16 rff [~rff@ip72-207-241-136.br.br.cox.net] has joined #scheme 21:31:02 -!- HG`` [~HG@p5DC04AA9.dip.t-dialin.net] has quit [Quit: HG``] 21:38:05 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 21:41:15 pcavs [~Adium@63.139.127.6] has joined #scheme 21:50:27 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 258 seconds] 21:51:56 eno [~eno@nslu2-linux/eno] has joined #scheme 21:54:33 -!- leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 22:00:55 leppie [~lolcow@196-215-36-200.dynamic.isadsl.co.za] has joined #scheme 22:12:49 pnkfelix [~Adium@108.113.71.205] has joined #scheme 22:13:50 -!- gigamonkey [~user@adsl-99-24-220-49.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 22:21:13 -!- pcavs [~Adium@63.139.127.6] has quit [Quit: Leaving.] 22:31:04 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 252 seconds] 22:31:05 preflex_ [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 22:31:45 -!- preflex_ is now known as preflex 22:33:11 steampunkey [4e868098@gateway/web/freenode/ip.78.134.128.152] has joined #scheme 22:39:35 -!- pnkfelix [~Adium@108.113.71.205] has quit [Ping timeout: 260 seconds] 22:40:46 pcavs [~Adium@63.139.127.6] has joined #scheme 22:49:51 -!- pcavs [~Adium@63.139.127.6] has quit [Quit: Leaving.] 22:56:41 -!- samth is now known as samth_away 23:02:48 pcavs [~Adium@63.139.127.6] has joined #scheme 23:04:03 -!- arcfide [1000@c-69-136-7-94.hsd1.in.comcast.net] has quit [Read error: Connection reset by peer] 23:06:04 -!- pcavs [~Adium@63.139.127.6] has quit [Client Quit] 23:07:59 -!- steampunkey [4e868098@gateway/web/freenode/ip.78.134.128.152] has quit [Quit: Page closed] 23:14:46 pcavs [~Adium@63.139.127.6] has joined #scheme 23:23:10 -!- PreciousMetals [~Heart@unaffiliated/colours] has quit [Read error: Connection reset by peer] 23:25:52 PreciousMetals [~Heart@unaffiliated/colours] has joined #scheme 23:45:47 fantazo [~fantazo@178-190-238-155.adsl.highway.telekom.at] has joined #scheme