00:04:35 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 250 seconds] 00:06:01 rstandy [~rastandy@net-2-32-233-201.cust.dsl.teletu.it] has joined #scheme 00:07:50 -!- zmv is now known as luigi 00:08:11 -!- luigi is now known as zmv 00:09:46 genieliu [~genieliu@59.78.62.120] has joined #scheme 00:12:36 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 00:12:49 -!- pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has quit [Quit: from my iPad] 00:12:49 -!- zanes [~zane@mail.barackobama.com] has quit [] 00:17:38 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 00:21:28 -!- hussaibi__ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 246 seconds] 00:22:03 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 276 seconds] 00:23:18 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 00:24:13 does r5rs allow redefining toplevel functions? 00:25:46 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: Lost terminal] 00:26:06 -!- Quetzalcoatl_ [~Administr@cpe-75-186-5-185.cinci.res.rr.com] has quit [Read error: Connection reset by peer] 00:29:13 -!- masm [~masm@bl15-76-171.dsl.telepac.pt] has quit [Quit: Leaving.] 00:29:20 genieliu [~genieliu@59.78.62.120] has joined #scheme 00:30:13 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 00:36:38 rudybot: init r5rs 00:36:38 *offby1: your r5rs sandbox is ready 00:36:52 offby1: init r7rs 00:36:53 rudybot: (define (cons car cdr) "you lose!!") 00:36:53 *offby1: Done. 00:36:57 rudybot: (cons 1 2) 00:36:57 *offby1: ; Value: "you lose!!" 00:37:09 weirdo: unless racket has gotten r5rs wrong, there's your answer 00:37:27 Riastradh: smartypants 00:37:44 rudybot: fancypants 00:37:44 Riastradh: eh? Try "rudybot: help". 00:37:59 offby1, i mean with set! 00:38:01 wait 00:38:05 rudybot, init r5rs 00:38:05 weirdo: your r5rs sandbox is ready 00:38:11 rudybot, (set! cons 42) 00:38:11 weirdo: error: eval:1:6: set!: cannot mutate module-required identifier at: mcons in: cons 00:39:10 -!- rstandy [~rastandy@net-2-32-233-201.cust.dsl.teletu.it] has quit [Ping timeout: 264 seconds] 00:39:57 rudybot, (define foo 42) 00:39:58 weirdo: Done. 00:40:01 rudybot, (define foo 69) 00:40:01 weirdo: Done. 00:40:08 rudybot, (set! foo 42) 00:40:08 weirdo: Done. 00:40:12 hmm, strange 00:40:15 If you didn't define it, you can't set it. 00:40:26 and that really complicates my type inference 00:40:58 Why? You look at the module and see what variables it sets. Anything not defined in the module is not OK to set. 00:41:07 i see 00:41:08 Anything that's not set doesn't change over time. 00:41:17 but what about eval in interaction-environment? 00:41:43 The interaction environment is intended to be whatever an interactive user would get by typing at the REPL. 00:42:35 yes, user can eval arbitrary assignments in interaction-environment 00:42:40 -!- MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has quit [Ping timeout: 258 seconds] 00:42:41 At the REPL you have to assume the user might define anything later, so you can't make assumptions about what hasn't been defined, but what the user types interactively into the REPL doesn't need to be blazingly fast anyway. 00:49:06 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 00:49:32 ohwow_ [~oh@www.nig.gs] has joined #scheme 00:49:36 hi 00:52:00 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 01:00:55 -!- G_ [~G@41.51.68.86.rev.sfr.net] has quit [Ping timeout: 260 seconds] 01:02:02 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 01:05:34 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 01:08:08 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 01:11:26 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 01:15:01 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 01:15:16 mejja [~user@c-0eb9e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:21:12 -!- lusory [~bart@bb119-74-156-138.singnet.com.sg] has quit [Ping timeout: 276 seconds] 01:22:50 leo2007 [~leo@222.130.140.203] has joined #scheme 01:27:23 -!- pumpkin is now known as copumpkin 01:43:51 -!- mejja [~user@c-0eb9e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]] 01:57:38 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Remote host closed the connection] 01:58:09 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 02:01:13 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 246 seconds] 02:02:49 -!- Adrinael [~adrinael@barrel.rolli.org] has quit [Read error: Operation timed out] 02:03:01 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 02:12:33 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 02:14:27 pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has joined #scheme 02:14:28 -!- rgee [~rgrinberg@dsl-69-171-144-233.acanac.net] has quit [Read error: Connection reset by peer] 02:16:23 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 02:17:55 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 260 seconds] 02:25:46 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 02:29:47 doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has joined #scheme 02:32:41 -!- turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has quit [Ping timeout: 258 seconds] 02:35:19 -!- pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has quit [Quit: from my iPad] 02:40:41 -!- emma is now known as em 02:45:29 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 02:59:39 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 250 seconds] 03:01:13 -!- leo2007 [~leo@222.130.140.203] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 03:02:13 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: *whistle*] 03:03:03 -!- jdfjklajkl [~paulh@244-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 276 seconds] 03:11:05 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 03:22:51 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 03:28:34 leo2007 [~leo@123.114.44.231] has joined #scheme 03:32:11 -!- tupi [~david@189.60.160.15] has quit [Quit: Leaving] 03:33:54 damingeay [~damingeay@108-69-249-57.lightspeed.frokca.sbcglobal.net] has joined #scheme 03:34:26 does mit-scheme have to depend on xorg? 03:36:55 exit 03:36:56 -!- damingeay [~damingeay@108-69-249-57.lightspeed.frokca.sbcglobal.net] has quit [Client Quit] 03:37:47 homie` [~levgue@xdsl-78-35-185-51.netcologne.de] has joined #scheme 03:39:39 -!- homie [~levgue@xdsl-84-44-210-160.netcologne.de] has quit [Ping timeout: 255 seconds] 03:41:41 -!- pyrony [~epic@office1.klout.com] has quit [Ping timeout: 240 seconds] 03:54:21 littlebobby [~bob@unaffiliated/littlebobby] has joined #scheme 04:07:07 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 04:07:21 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 04:29:16 -!- leo2007 [~leo@123.114.44.231] has quit [Ping timeout: 240 seconds] 04:42:08 -!- Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Read error: Connection reset by peer] 04:42:37 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #scheme 04:44:29 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 05:05:13 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 05:07:07 -!- YokYok [~david@AClermont-Ferrand-651-1-24-147.w86-194.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 05:12:51 Euthydemus` [~euthydemu@unaffiliated/euthydemus] has joined #scheme 05:15:47 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Ping timeout: 255 seconds] 05:15:47 -!- incubot [incubot@klutometis.wikitex.org] has quit [Read error: Connection reset by peer] 05:16:24 -!- leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 05:17:05 leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has joined #scheme 05:17:15 incubot [incubot@klutometis.wikitex.org] has joined #scheme 05:18:12 -!- tunes [~Fare@ita4fw1.itasoftware.com] has quit [Ping timeout: 255 seconds] 05:18:42 tunes [~Fare@ita4fw1.itasoftware.com] has joined #scheme 05:21:48 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 05:28:51 -!- AtnNn [~welcome@modemcable110.176-176-173.mc.videotron.ca] has quit [Ping timeout: 276 seconds] 05:58:27 rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has joined #scheme 05:58:44 Anyone around? 06:02:13 yes 06:03:47 DrDuck [~duck@adsl-98-81-127-117.hsv.bellsouth.net] has joined #scheme 06:04:04 Do you have any insight as to why this scrap of code doesn't work? 06:04:06 http://codepad.org/gDLIKu3G 06:04:35 I'm an amateur, obviously, and I was doing a Calc problem and thought to myself, "I can write this in Scheme." And now I think, "No I can't." 06:06:00 I suppose it works, because it returns the appropriate answer, but it displays that error. What does it all mean? 06:06:48 rageous: your problem is the ((helper (function x) (+ 1 counter))) 06:07:15 the extra set of parens causes it to try to apply the return value of (helper (function x) (+ 1 counter)) as a function of zero arguments 06:07:30 and since your base case is (display x), which returns #, ... 06:07:50 Ah, that's so obvious now. 06:07:52 Thanks, Elly. 06:07:58 no problem 06:08:02 *rageous* dies 06:08:12 oO 06:08:14 don't die 06:08:48 That was kind of fun, though, really. The Computer Science minor that I'm striving for has moved me away from Scheme and on to C++ 06:09:15 Now I return to Scheme, and I can't even write something so simple without 10 minutes of confusion. 06:10:22 soveran [~soveran@186.19.214.247] has joined #scheme 06:12:05 Scheme is nicer anyway :) 06:13:51 C++ is very mean. 06:14:38 yes 06:17:26 Now the question is whether or not my teacher will accept scraps of poorly written Scheme in lieu of by-hand iteration. 06:32:42 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: Lost terminal] 06:35:07 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 258 seconds] 06:38:42 gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has joined #scheme 06:42:46 vu3rdd [~vu3rdd@122.178.242.215] has joined #scheme 06:42:46 -!- vu3rdd [~vu3rdd@122.178.242.215] has quit [Changing host] 06:42:46 vu3rdd [~vu3rdd@fsf/member/vu3rdd] has joined #scheme 07:14:11 jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has joined #scheme 07:15:18 YokYok [~david@AClermont-Ferrand-651-1-24-147.w86-194.abo.wanadoo.fr] has joined #scheme 07:15:46 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 07:39:08 choas [~lars@p5792CB46.dip.t-dialin.net] has joined #scheme 07:51:31 fbass [~fbass@75-173-76-35.albq.qwest.net] has joined #scheme 08:16:49 wingo [~wingo@client194-121.wlan.hu-berlin.de] has joined #scheme 08:21:21 -!- wingo [~wingo@client194-121.wlan.hu-berlin.de] has quit [Ping timeout: 252 seconds] 08:29:40 delian66 [~quassel@84.252.14.164] has joined #scheme 08:37:28 -!- DrDuck [~duck@adsl-98-81-127-117.hsv.bellsouth.net] has quit [Ping timeout: 252 seconds] 08:40:20 EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has joined #scheme 08:43:26 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire] 08:53:46 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 08:54:00 -!- leppie [~lolcow@196-215-83-98.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 09:02:53 -!- EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has left #scheme 09:21:50 leo2007 [~leo@222.130.140.203] has joined #scheme 09:24:59 -!- pygospa [~TheRealPy@kiel-d9bfcd1f.pool.mediaWays.net] has quit [Disconnected by services] 09:25:11 pygospa [~TheRealPy@kiel-d9bfd411.pool.mediaWays.net] has joined #scheme 09:26:16 csdwifi [~csdwifi@76.177.215.56] has joined #scheme 09:26:16 -!- csdwifi [~csdwifi@76.177.215.56] has quit [Changing host] 09:26:16 csdwifi [~csdwifi@unaffiliated/csddesk] has joined #scheme 09:34:05 tupi [~david@189.60.160.15] has joined #scheme 09:44:59 fantazo [~fantazo@178-191-168-9.adsl.highway.telekom.at] has joined #scheme 10:06:09 -!- csdwifi [~csdwifi@unaffiliated/csddesk] has quit [Read error: Connection reset by peer] 10:09:23 -!- rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has quit [Ping timeout: 258 seconds] 10:18:06 replore [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 10:20:03 jdfjklajkl [~paulh@244-15-ftth.onsnetstudenten.nl] has joined #scheme 10:30:50 genieliu [~genieliu@59.78.62.120] has joined #scheme 10:38:37 csdwifi [~csdwifi@unaffiliated/csddesk] has joined #scheme 10:43:24 -!- betta_y_omega [~betta_y_o@90.166.231.220] has quit [Ping timeout: 246 seconds] 10:46:51 betta_y_omega [~betta_y_o@90.166.231.220] has joined #scheme 11:00:02 Actually the STL in C++ feels quite scheme-y if you use functors and the like... 11:00:49 -!- csdwifi [~csdwifi@unaffiliated/csddesk] has quit [Read error: Connection reset by peer] 11:15:10 -!- snorble [~snorble@s83-179-14-167.cust.tele2.se] has left #scheme 11:35:40 -!- fantazo [~fantazo@178-191-168-9.adsl.highway.telekom.at] has quit [Ping timeout: 252 seconds] 11:39:21 -!- leo2007 [~leo@222.130.140.203] has quit [Ping timeout: 252 seconds] 11:48:08 fantazo [~fantazo@178-191-170-96.adsl.highway.telekom.at] has joined #scheme 12:01:30 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 12:10:12 dostoyevsky: and boost has lambda, and there's OpenC++, Lpp, and InteLib. But those are jokes, you can't do any serrious work with them. http://www.informatimago.com/articles/life-saver.html 12:11:27 -!- homie` [~levgue@xdsl-78-35-185-51.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:12:29 My C++ colleague told me yesterday that after digging into boost's guts, 12:12:39 he thinks that templates are ruled out justfully. 12:13:22 Definitely. 12:13:38 They're just a Turing Tarpit, like so many others. 12:13:38 homie [~levgue@xdsl-78-35-185-51.netcologne.de] has joined #scheme 12:16:42 -!- confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has quit [Ping timeout: 252 seconds] 12:17:46 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Read error: Operation timed out] 12:22:58 drdo` [~drdo@91.205.108.93.rev.vodafone.pt] has joined #scheme 12:24:28 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 240 seconds] 12:33:38 Eataix [~Eataix@CPE-58-165-251-47.lns1.civ.bigpond.net.au] has joined #scheme 12:35:54 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 12:36:50 snorble [~snorble@s83-179-14-167.cust.tele2.se] has joined #scheme 12:52:44 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 12:54:03 leo2007 [~leo@123.123.248.30] has joined #scheme 12:57:05 -!- joast [~rick@76.178.178.72] has quit [Quit: Leaving.] 13:02:17 soveran [~soveran@186.19.214.247] has joined #scheme 13:08:18 joast [~rick@76.178.178.72] has joined #scheme 13:09:48 -!- Eataix [~Eataix@CPE-58-165-251-47.lns1.civ.bigpond.net.au] has quit [] 13:13:11 -!- betta_y_omega [~betta_y_o@90.166.231.220] has quit [Ping timeout: 240 seconds] 13:21:06 -!- fantazo [~fantazo@178-191-170-96.adsl.highway.telekom.at] has quit [Remote host closed the connection] 13:23:27 -!- fbass [~fbass@75-173-76-35.albq.qwest.net] has quit [Quit: leaving] 13:24:37 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 13:29:03 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 13:33:36 -!- jdfjklajkl [~paulh@244-15-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 13:35:10 -!- choas [~lars@p5792CB46.dip.t-dialin.net] has quit [Read error: Operation timed out] 13:35:41 betta_y_omega [~betta_y_o@90.166.231.220] has joined #scheme 13:41:59 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #scheme 13:41:59 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 13:41:59 phax [~phax@unaffiliated/phax] has joined #scheme 13:46:59 -!- drdo` [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 13:51:50 teurastaja [~samuel@modemcable072.213-81-70.mc.videotron.ca] has joined #scheme 13:57:17 pjb: why doesn't unintern make sense for scheme? 14:01:14 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #scheme 14:03:07 the #javascript crowd doesnt answer to my functional questions but im sure the #scheme crowd will even though my question is about javascript 14:03:13 closures 14:03:18 tail-call elimination 14:03:22 how? 14:06:11 id use cps eventually but i need tail-call elimination and google throws too much junk. the #javascript crowd seems to lack knowledge about such concepts 14:06:40 leo2007: first notice that there's no intern, but string->symbol. The reason for that mostly is that there's no packages in scheme (emacs lisp lacks packages too, but it has obarrays which serve the same purpose). Notably the point is that in CL or emacs lisp, symbols can exist without being "interned" in any package or obarray. 14:06:47 confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has joined #scheme 14:07:15 But that's not the case in scheme. Any symbol that exists is readable. Actually, in the model of scheme, all symbols always exist (just like numbers). 14:09:12 Second, the big difference between Lisp and scheme is that in Lisp symbols are data structure with attributes and values (value slot, function slot, property list), and can be used for highly "unhigienic" practices, such as transmitting information between the phases of execution (read-time, macro expansion time, compilation time, run time). Of course, when a load-time intervene, care must be taken, and the CL doesn't enforce a unique 14:09:12 environment between compilation time and runtime, but still, the symbol data structure is there and can be used in untasty ways. 14:09:17 im still googling meanwhile but the junk is overwhelming when refering to both javascript and tail recursion. i cant seem to narrow down my search 14:10:13 In these circumstances, uninterning is meaningful and sometimes useful. But in scheme, symbols have no attribute, and cannot be used that way, so there would be no point in "uninterning" them. All you can do, is to let them be garbage collected, once you don't use them anymore. 14:11:50 pjb: thanks for the explanation. 14:11:53 teurastaja: are you implementing javascript, or using it to implement something else? 14:14:27 leo2007: and notice how scheme has "identifiers" while Lisp has none. Lisp use symbols to name variables. Scheme use "identifiers" to name variables (despite the fact that identifiers are built from symbols read. In fact, one could write a scheme parser in yacc without instanciating any symbol or list. 14:14:47 pjb: no but since most engines lack proper tail-calls, im searching for an on-the-fly way of doing it. maybe through trampolining? 14:14:51 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 14:15:34 teurastaja: you've answered an OR question where I thought I had exhausted the cases with a NO answer. My bad, indeed, there is another case wher eyou are doing nothing with javascript. Then what's your question? 14:16:58 teurastaja: otherwise, tail call optimization consists in using a goto instad of a call. Has Javascript any goto? (You can always simulate a goto with a while loop or some other kind of loop). 14:17:20 i want to eventually use cps in javascript but it lacks tail-call elimination (except in select implementations but im looking for an algorithmic way) 14:18:09 pjb: im learning javascript the hard way since yesterday 14:20:37 Well, if the language doesn't support CPS, it's hard to use it in a CPS style. 14:20:53 If you want to do CPS style programming, why don't you use a language that support it? 14:21:19 because javascript + cps = magic 14:21:56 http://chumsley.org/jwacs/ 14:22:01 I think you need that. 14:23:02 besides, using only scheme without ever porting core concepts elsewhere is like learning to fish without ever needing it 14:24:04 teurastaja: perhaps you could employ your life to a more useful purpose. For example, instead of losing your time with Javascript, you could use scheme to develop a new application (web app?) and make a fortune of it, like Paul Graham did with clisp? 14:24:04 pjb: how to differentiate symbols from identifiers? 14:24:40 PG used clisp for viaweb? 14:25:31 pjb: porting a concept is the best way to learn how it works 14:26:12 leo2007: identifiers are what there is in the scheme compiler. symbols is a user level data structure. They've got nothing in common, in general, because there is no standard way to get the value of a variable identified by an identifier, given a symbol similar looking. Some implementation may let you get the value of a global variable, thru an environment, but notice how interactive-environment is optional and implementation 14:26:13 dependant. 14:26:27 teurastaja: jwacs already did the job. Have a look at it. 14:26:53 leo2007: indeed, PG used clisp, not even sbcl to implement viaweb. 14:27:10 (sbcl didn't exist yet, he could have used cmucl, but clisp has advantages). 14:27:21 i feel like i could bring the fun back to javascript, tampering web pages in a browser 14:27:24 what advantages? 14:27:48 leo2007: it's more portable and works on a wider range ot plateforms than cmucl. 14:28:05 leo2007: it has a faster compiler (since it compiles to a closer lisp VM, instead of the barbaric x86). 14:28:35 leo2007: it has a smaller memory foot print. 14:29:28 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 252 seconds] 14:30:08 choas [~lars@p5792CB46.dip.t-dialin.net] has joined #scheme 14:30:51 this guy has implemented it in common lisp... 14:31:06 teurastaja: a smart guy. 14:31:27 unfortunately, i dont know common lisp 14:31:33 it's like scheme. 14:31:42 Only more practical. 14:31:53 teurastaja: http://www.gigamonkeys.com/book 14:32:18 is this the music database common lisp intro? 14:32:27 ? 14:32:48 it is 14:33:01 There's Land of Lisp which has a musical intro, but no database here. 14:33:06 http://www.youtube.com/watch?v=HM1Zb3xmvMc 14:33:23 http://nostarch.com/lisp.htm 14:34:01 i would learn common lisp, but im learning javascript so learning common lisp to learn javascript seems unpractical. im reading the comments though 14:34:20 Oh, you mean the mp3 browser and database, it's only but one example, in Practical Common Lisp. 14:34:59 teurastaja: you can use programs written in python, ruby or fortran without having to learn those languages. What makes you think you can't use programs written in CL without learning CL? 14:35:26 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 14:35:53 what i want is understand how to implement it myself 14:36:08 not just use some implementation 14:36:12 Then read the CL code: it's lisp, same as scheme, you can read the algorithms. 14:36:29 im reading 14:36:51 brb (cig) 14:36:58 teurastaja: I've got another example in mind, but it's CL too: Uncommon Web has also a CPS transformer. 14:37:09 But for CL in this case; jwacs corresponds to what you want. 14:49:36 -!- choas [~lars@p5792CB46.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 14:52:41 rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has joined #scheme 14:53:30 Nisstyre [~nisstyre@infocalypse-net.info] has joined #scheme 15:00:35 -!- leo2007 [~leo@123.123.248.30] has quit [Remote host closed the connection] 15:05:49 MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has joined #scheme 15:06:33 leo2007 [~leo@123.123.248.30] has joined #scheme 15:09:52 leo2007` [~leo@222.130.134.220] has joined #scheme 15:11:42 -!- leo2007 [~leo@123.123.248.30] has quit [Ping timeout: 276 seconds] 15:12:43 -!- leo2007` is now known as leo2007 15:14:15 cps? 15:14:39 what's CPS? 15:16:25 continuation-passing style 15:16:31 leo2007: http://en.wikipedia.org/wiki/Continuation-passing_style 15:17:11 ok, thanks. 15:17:42 teurastaja: I just finished my tail call implementation for scheme in C.... Without CPS actually.. 15:21:17 dostoyevsky, longjmp? 15:21:18 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 15:22:22 so here comes the tricky part of type inference. if i call a function that, for instance, *only* assumes numbers as arguments, let's assume that the variable that gets passes is always a number 15:22:26 does it make sense? 15:22:51 weirdo: My sj_eval just returns a special Value.. sjTail instead of doing a call to a function, and then the upper layer just resets the current context to the start 15:23:49 dostoyevsky, this is expensive 15:24:05 you might wanna do that when the stack is about to run out 15:24:06 ) 15:24:18 weirdo: Yep.. but it works.. And I can do loops without running out of stack 15:24:38 do you have atomic GC blocks yet? 15:25:08 weirdo: not sure what you mean with that... 15:25:26 dostoyevsky, blocks where gc won't get called, to allow for allocation of compound data structures 15:26:34 weirdo: Usually I handle these things by a release/retain mechanism reference-counting 15:26:46 oh 15:27:00 so only when it's 0, you run gc? 15:27:26 AtnNn [~welcome@modemcable110.176-176-173.mc.videotron.ca] has joined #scheme 15:27:53 weirdo: The GC iterates over all objects and if a RC gets to 0 it calls the destructor for that object... which might release other objects that are then to be free the next time the GC looks at them 15:28:21 dostoyevsky, that's a very strange setup 15:28:28 GC should know about your data structures 15:28:35 like conses, and stuff 15:28:52 instead of keeping a destructor for each of them 15:31:48 One of the optmizations I made in the GC was that I made it more generational... It checks the start of the heap more often and then occasionally runs a full GC over all objects.. It has drastically improved my performance.. E.g. a loop that I call 20000 times went down from 20s to 3s... which is still a lot actually 15:33:43 :) 15:34:27 do you tag your objects or do they contain some type info other way? 15:36:04 daniel___ [~daniel@c95334de.virtua.com.br] has joined #scheme 15:36:10 I have my own allocator that has a mandator type field... so everything that gets allocated is typed... so you can call sj_delete() on any memory address and it will do the right cleanup for you 15:36:51 have you considered using tag bits? 15:37:16 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 260 seconds] 15:39:31 weirdo: I wanted to avoid bit operations as I felt it would make compilation to x86 more difficult later... So I tried to keep it very simple and use only what I could access easy later 15:39:52 what? compilation of bitwise ops hard? 15:40:28 i'm having tons of problems with type inference :( 15:41:29 first i need to finally decide upon a type designator for functions 15:41:59 weirdo: It may be hard... It might be that I will need to write my own assembler and disassembler from the start.. for debugging.. the easier I can keep things, the better... but maybe it's not actually an issue, I do not know.. 15:43:32 weirdo: Where do you need type inference? 15:44:26 -!- daniel___ is now known as zmv 15:45:15 dostoyevsky, everywhere :) 15:46:12 i need to e.g. change generic-+ to fixnum-fixnum-+ 15:49:24 weirdo: I do something like that... promotion to some kind of datatype.. It's very ugly in my C code... 15:50:11 Id sj_add(VB, Id x) { ON_I r = sj_int(ai + bi) ON_F r = sj_float(af + bf) R } 15:50:44 dostoyevsky, that's very expensive when you get, like, 5 numeric datatypes 15:50:50 that's what i'm trying to avoid 15:51:03 But it only differentiates between ints and floats.. not all the other scheme number types... 15:51:24 yes, but i suppose you might add them at some point... that's the reason for having type inference 15:51:30 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 15:52:08 Oh yea... it will convert all ints to float if there's one float present in the list.. 15:52:28 It's very slow probably.. 15:52:47 yes 15:52:48 it is 15:52:50 :| 15:54:11 But it will be easy in tracing jit mode for me to see how it's used, I think... And then just creating a couple of alternative compilations and an easy dispatch for calling the right specialization 15:54:36 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 276 seconds] 15:54:37 easy dispatch? that's what i made 15:54:43 and it's hella expensive 15:54:50 the problem is an easy case when 2 ints are added 15:54:57 it gets passes through all that machinery 15:56:25 weirdo: If you can trace it.. then you know when the dispatch matters... and when not... E.g. it might be that you call a long call of functions but the crucial dispatch it actually happening right from the start when you give a function an float or int number... 15:57:29 But yeah, you still need to have some checks for when it gets called differently.. :-\ 15:57:55 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 250 seconds] 15:58:54 -!- confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has quit [Ping timeout: 252 seconds] 15:59:29 besides, ints can be promoted to bigints 15:59:39 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 16:00:23 -!- gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has quit [Read error: Connection reset by peer] 16:01:50 weirdo: What does JavaScript actually use when you have `1' or `1.00' -- are these just cpu registers or are they some kind of more generic bignum/float datatypes? 16:02:14 dostoyevsky, 1.00 == 1 :| 16:02:20 they're indistinguishable :( 16:02:32 bignums, i found an impl, there's not a builtin one 16:02:38 hmmm... 16:06:37 pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has joined #scheme 16:06:43 homie` [~levgue@xdsl-78-35-152-142.netcologne.de] has joined #scheme 16:08:04 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 16:08:12 DrDuck [~duck@adsl-98-81-127-117.hsv.bellsouth.net] has joined #scheme 16:08:27 -!- homie [~levgue@xdsl-78-35-185-51.netcologne.de] has quit [Ping timeout: 240 seconds] 16:17:08 -!- pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has quit [Quit: from my iPad] 16:21:01 -!- leo2007 [~leo@222.130.134.220] has quit [Ping timeout: 260 seconds] 16:23:03 -!- doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has quit [Quit: Leaving] 16:23:51 doc_who [~doc_who@pool-108-28-6-47.washdc.fios.verizon.net] has joined #scheme 16:28:07 leo2007 [~leo@222.130.134.220] has joined #scheme 16:28:43 -!- homie` [~levgue@xdsl-78-35-152-142.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:31:15 homie [~levgue@xdsl-78-35-152-142.netcologne.de] has joined #scheme 16:32:29 gravicappa [~gravicapp@ppp91-77-210-243.pppoe.mtu-net.ru] has joined #scheme 16:33:22 i'm having tons of problems with my code walker that's supposed to do type inference :| 16:33:51 alvis [~alvis@tx-71-2-127-56.dhcp.embarqhsd.net] has joined #scheme 16:40:58 weirdo: Weren't you doing it all dynamically? 16:41:47 i don't understanc 16:42:59 If you just walk scheme code, it's difficult to do any type inference, no? Since only during execution you can do type inference... 16:43:31 no 16:43:32 you can 16:43:43 ok 16:43:53 do it incrementally. define types for primitive functions, and then do it as stamourv said 16:47:12 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: leaving] 16:48:22 -!- rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has quit [Ping timeout: 240 seconds] 17:11:36 rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has joined #scheme 17:22:29 kuribas [~user@94-227-91-248.access.telenet.be] has joined #scheme 17:36:10 soveran [~soveran@186.19.214.247] has joined #scheme 17:43:44 spark_ [~spark@123.147.247.87] has joined #scheme 17:44:30 fbass [~fbass@75-173-76-35.albq.qwest.net] has joined #scheme 17:47:13 -!- spark_ [~spark@123.147.247.87] has quit [Client Quit] 17:53:35 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Ping timeout: 260 seconds] 18:00:09 dostoyevsky, stamourv: what should i do when there are set! forms to free variables in a begin-form *after* a lambda-form? 18:05:12 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 18:08:42 weirdo: Is there a reason why that would be special? 18:09:15 cky, when i type-recover the form, the set! form doesn't yet take effect 18:09:30 perhaps i'm doing it in wrong order 18:11:36 Do you have some sample Scheme code that demonstrates your point, as well as what you are expecting to see? 18:13:26 (begin (define foo #f) (define bar 42) (set! foo (lambda () bar)) (set! bar '())) 18:14:03 return value of foo ought to have a type of (or integer null) but it has a type of integer 18:14:28 i don't know in which order to do the inference 18:14:39 or perhaps there's some better algorithm to do it 18:19:48 weirdo: You currently try to infer type in a static-analysis kind of fashion, right? 18:20:09 dostoyevsky, i suppose so 18:20:27 -!- leo2007 [~leo@222.130.134.220] has quit [Ping timeout: 240 seconds] 18:20:29 i need to know the types before the code is actually compiled 18:21:34 weirdo: I am not sure what that thing is that stamourv refers to.. maybe Racket has a more detailed description on this somewhere... 18:23:47 But my feeling is that things in scheme are too dynamic to infer things on compile time... and for incremental you would need to mix compile and execution time... 18:24:48 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 18:25:24 no, just disallow changing bindings in interaction-environment 18:28:14 -!- fbass [~fbass@75-173-76-35.albq.qwest.net] has quit [Quit: leaving] 18:28:29 fbass [~fbass@75-173-76-35.albq.qwest.net] has joined #scheme 18:29:46 ok, find-matching-ftype works 18:34:52 it's not much, but still: 18:34:53 > (find-matching-ftype (cdr (tc-lookup '+ js-tc)) '((integer)) js-tc) 18:34:53 {integer} 18:52:00 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 19:00:22 taylanub [~taylanub@p4FD959ED.dip.t-dialin.net] has joined #scheme 19:00:26 -!- fbass [~fbass@75-173-76-35.albq.qwest.net] has quit [Quit: leaving] 19:00:56 fbass [~fbass@75-173-76-35.albq.qwest.net] has joined #scheme 19:00:56 there's no standard function to get the nth element of a list ? 19:01:11 list-ref 19:01:41 -!- MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has quit [Ping timeout: 258 seconds] 19:02:16 thanks 19:06:42 -!- ecraven [~user@140.78.42.213] has quit [Quit: brb] 19:07:21 ecraven [~user@140.78.42.213] has joined #scheme 19:08:00 -!- jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 19:08:53 taylanub: Excessive use of list-ref is a code smell. 19:09:09 true, true 19:09:17 It may be a sign that you should switch to vectors, for example. 19:09:42 (Though some would say that excessive use of vectors is a code smell, also.) 19:22:37 stamourv, you there? 19:23:36 -!- rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has quit [Ping timeout: 260 seconds] 19:29:27 ftp://ftp.cs.cmu.edu/afs%2Fcs.cmu.edu%2Fuser%2Fshivers%2Flib%2Fpapers/trec.ps.Z 19:31:06 barglfargl [4b83ce06@gateway/web/freenode/ip.75.131.206.6] has joined #scheme 19:31:08 hi 19:31:31 what is the easiest way to convert a string to a list of symbols? 19:32:01 string->list gives you a list of chars, is there a way to convert a char to a symbol? 19:32:16 string->ref also returns a char 19:32:41 (string->symbol (make-string 1 char)) 19:32:57 standard name for this function is "explode" 19:33:40 ah, thanks weirdo 19:34:15 (best nick ever by the way) 19:34:55 haha 19:35:28 makes me think of weirdo from beartato & friends 19:45:37 littlebobby [~bob@unaffiliated/littlebobby] has joined #scheme 19:47:34 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection] 19:48:43 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 19:49:13 soveran [~soveran@186.19.214.247] has joined #scheme 19:49:23 rudybot: (define (explode str) (map (compose string->symbol list->string list) (string->list str))) 19:49:24 cky: Done. 19:49:31 rudybot: (explode "Hello, world!") 19:49:32 cky: aha. defining the jisx0201 charset is what cause qemu-armel to explode. 19:49:37 rudybot: eval (explode "Hello, world!") 19:49:37 cky: ; Value: (H e l l o |,| | | w o r l d !) 19:49:50 Sounds good to me. :-P 19:49:55 barglfargl: ^^--- 19:50:01 confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has joined #scheme 19:50:31 cky: much more condense than my version! 19:51:10 was using do to loop over the string and build the list, no idea why i didn't just juse map 19:54:46 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire] 19:55:31 'splode! 19:55:43 your head asplode 19:57:06 standard 'explode' does it on symbols, actually 19:57:09 :) 19:57:41 there's also 'implode' that makes a symbol of many one-character symbol 19:57:49 and of course GCTWA 19:57:49 :) 19:58:09 GCTWA? 19:58:21 garbage-collect totally worthless atoms 19:58:50 ah 20:01:38 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 20:06:21 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has quit [Client Quit] 20:26:29 My allocator works in concurrent mode... 20:26:33 -!- barglfargl [4b83ce06@gateway/web/freenode/ip.75.131.206.6] has quit [Quit: Page closed] 20:26:46 :) 20:26:49 My aligator works in the current mud. 20:27:11 Mine doesn't. 20:27:15 So I can use it from more than one thread at the same time 20:56:30 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 20:56:51 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 276 seconds] 20:58:37 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 21:14:36 -!- confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has quit [Ping timeout: 252 seconds] 21:15:08 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 21:17:25 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 21:19:30 -!- gravicappa [~gravicapp@ppp91-77-210-243.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:28:09 weirdo, why disallow changing bindings in the interaction environment? 21:28:30 Remember that `the interaction environment' is *not* `the current environment of the caller of INTERACTION-ENVIRONMENT' or any similar such notion. 21:29:05 Riastradh, if i have a variable foo that's used in (+ foo bar) 21:29:18 and bar is proven to be a fixnum, i can optimize + to +-fixnum-fixnum 21:29:59 Did you prove foo to be a fixnum, too? 21:31:45 Riastradh, yes 21:32:05 but it's a global variable that could be modified through interaction-environment 21:32:56 Why is it modifiable through the interaction environment? Did you expose it to the interaction environment? E.g., did the user introduce it interactively, or tell the system `Please expose this to the interaction environment!' somehow? 21:33:35 (If it is modifiable, and you don't a priori know what it might be modified to be, then you haven't proven it to be a fixnum.) 21:34:15 Riastradh, no, it has been introduced inside a compiled program, which the user is currently editing with REPL 21:34:34 frankly, i'm largely ignorant to the interaction-environment 21:34:47 and its semantics 21:35:07 Well, then it is sensible to make that particular environment immutable, by virtue of the fact that it is compiled, not because it happens to be the interaction environment for some particular interaction. 21:35:18 thank you 21:35:20 it makes sense 21:35:50 -!- kuribas [~user@94-227-91-248.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:36:05 `The interaction environment' is just a bit of state in a REPL; it is nothing special in the semantics of Scheme. 21:38:47 pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has joined #scheme 21:42:42 -!- taylanub [~taylanub@p4FD959ED.dip.t-dialin.net] has quit [Disconnected by services] 21:45:32 soveran [~soveran@186.19.214.247] has joined #scheme 21:46:19 -!- kennyd [~kennyd@93-141-64-136.adsl.net.t-com.hr] has quit [Ping timeout: 250 seconds] 21:48:03 kennyd [~kennyd@78-1-141-228.adsl.net.t-com.hr] has joined #scheme 21:49:45 G_ [~G@41.51.68.86.rev.sfr.net] has joined #scheme 21:53:37 is it sane to simply assume all set!'d variables are of type T, the root type? 21:53:52 i feel bad about it, but i dunno a better algorithm to make it all work 21:54:31 that is, in a compiled program 22:00:21 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 22:04:51 weirdo, an union of all the types it is set!ed to? if it is a local variable, you can also just change the type of the variable for the expressions after that set!, I think. 22:05:09 DT``, i see, ok 22:05:55 for the latter, i have to, however, make sure i call the walker in the right order 22:06:27 and allocate separate frames for union and current 22:06:49 current, as in, current value for the next expression, and union, for all types of given value 22:08:31 jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has joined #scheme 22:10:23 phao [phao@187.91.113.221] has joined #scheme 22:22:45 gtoast [~gtoast@99-100-70-120.lightspeed.sntcca.sbcglobal.net] has joined #scheme 22:46:10 MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has joined #scheme 22:47:17 X-Scale [email@2001:470:1f14:135b::2] has joined #scheme 22:53:05 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire] 22:54:57 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 22:57:43 -!- phao [phao@187.91.113.221] has quit [Quit: Fui embora] 22:58:50 Indian [~Indian@unaffiliated/londonmet050] has joined #scheme 22:59:22 hello 22:59:45 scheme is dialect of LISP? 22:59:59 yes 23:00:17 So what is LISP 23:00:20 and scheme? 23:00:33 http://en.Wikipedia.org/wiki/Scheme_(programming_language) 23:00:38 good place to start 23:01:03 also http://tinyurl.com/44ebt4j 23:03:05 http://pl.wikipedia.org/wiki/Scheme#Kontynuacje - my code 23:03:06 :) 23:03:21 nice nick weirdo 23:03:27 :) 23:05:08 he's a weirdo 23:05:20 -- Captain Obvious on weirdo 23:05:36 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Read error: Operation timed out] 23:06:47 -!- pygospa [~TheRealPy@kiel-d9bfd411.pool.mediaWays.net] has quit [Quit: Lost terminal] 23:07:22 pygospa [~TheRealPy@kiel-d9bfd411.pool.mediaWays.net] has joined #scheme 23:12:20 People named "Green" aren't typically green. 23:16:28 why people learn scheme? 23:16:34 18WAA90M9 [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 23:16:34 17SAA245G [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 23:18:12 Interest. Curiosity. Mind-expansion. 23:19:26 *offby1* smells the faint whiff of troll 23:22:49 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 23:23:03 hussaibi__ [~hussaibi@wirewall.cs.toronto.edu] has joined #scheme 23:23:25 turbofail [~user@c-71-198-168-93.hsd1.ca.comcast.net] has joined #scheme 23:26:11 -!- 17SAA245G [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 258 seconds] 23:26:18 -!- 18WAA90M9 [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 255 seconds] 23:27:49 jcowan: but can one use scheme to code programmes 23:28:00 Oh yes. It is a programming language. 23:28:07 it is?! 23:29:14 That should probably be in the topic. 23:29:45 Just to avoid possible confusion. 23:30:48 "Scheme" is already confusing. In the UK it means plan, whereas in the U.S. it means plot. 23:32:46 lol 23:33:00 Maybe they are scheming against us 23:33:20 -!- smtlaissezfaire [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire] 23:33:35 *jcowan* wishes it had been SCHEMR, "Schemer" instead of SCHEME, "Scheme". 23:34:06 rageous [~chatzilla@67-6-75-73.mpls.qwest.net] has joined #scheme 23:34:11 smtlaissezfaire [~smtlaisse@76.15.192.54] has joined #scheme 23:37:43 Nobody seems to have written an implementation called Ponzi Scheme, though. 23:37:56 jcowan: Interesting idea... 23:38:09 I should rename my project to ponzi 23:38:41 :) 23:38:47 What is it called now? 23:39:52 http://oppugn.us/posts/1271240827.html <-- Programming languages as a Ponzi scheme 23:42:10 dostoyevsky: What is your project called now? 23:42:44 jcowan: schemejit... kinda boring... Ponzi sounds better. :-) 23:42:51 Deffo. 23:49:24 what is best place to learn scheme 23:49:28 that MIT book? 23:50:36 Indian: Depends on how much programming experience you already have, I think. 23:50:42 ok 23:51:01 Indian: What's your level of programming experience? 23:51:13 cky: I learned but I dont code 23:51:37 I like to start with something basic 23:53:25 cky: any suggestions 23:54:40 https://github.com/sck/ponzi 23:56:35 dostoyevsky, `cdr' is `rest', not `last'. 23:57:01 Indian: http://www.htdp.org/ 23:57:16 ok.. fixed... I have yet to make it more compliant to R5RS.. 23:57:17 Indian: It's Racket-orientated, but Racket is a good implementation to start with. 23:57:42 (It's also a good implementation to write production programs in too, so it's a bit like Python in that "good for many levels" respect.) 23:58:21 ok 23:58:23 thanks 23:59:05 There's also a 2nd edition that's in progress: http://www.ccs.neu.edu/home/matthias/HtDP2e/ 23:59:21 It's very different from the 1st edition; you might try one and see if it works well for you, and try the other.