00:00:03 -!- carleastlund [~cce@gotham.ccs.neu.edu] has left #scheme 00:05:30 RageOfThou [~RageOfTho@users-55-248.vinet.ba] has joined #scheme 00:08:43 -!- MrFahrenheit [~RageOfTho@users-33-18.vinet.ba] has quit [Ping timeout: 240 seconds] 00:09:29 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has left #scheme 00:10:07 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 272 seconds] 00:12:45 -!- davazp [~user@201.Red-88-6-206.staticIP.rima-tde.net] has quit [Remote host closed the connection] 00:18:21 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 00:32:46 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 00:36:23 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 245 seconds] 00:54:41 Lizard46 [~Lizard46@pool-74-104-101-204.bstnma.east.verizon.net] has joined #scheme 01:01:28 imran_sr [~imran@75-18-254-4.lightspeed.uncyca.sbcglobal.net] has joined #scheme 01:06:04 -!- Lizard46 [~Lizard46@pool-74-104-101-204.bstnma.east.verizon.net] has quit [Quit: http://irc2go.com/] 01:12:25 -!- drdo` [~user@98.192.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 01:14:31 ice_man [~user@CPE001195074637-CM001a66704e52.cpe.net.cable.rogers.com] has joined #scheme 01:18:33 -!- Koven is now known as Kovensky 01:30:05 -!- acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has quit [Ping timeout: 255 seconds] 01:32:44 acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has joined #scheme 01:38:01 masm1 [~masm@bl19-147-100.dsl.telepac.pt] has joined #scheme 01:39:52 -!- masm [~masm@bl15-65-73.dsl.telepac.pt] has quit [Ping timeout: 276 seconds] 01:46:19 -!- RageOfThou [~RageOfTho@users-55-248.vinet.ba] has quit [Ping timeout: 240 seconds] 01:54:10 Blkt [~user@dynamic-adsl-94-37-236-50.clienti.tiscali.it] has joined #scheme 02:18:35 -!- acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has quit [Ping timeout: 260 seconds] 02:21:12 -!- ice_man [~user@CPE001195074637-CM001a66704e52.cpe.net.cable.rogers.com] has quit [Ping timeout: 250 seconds] 02:21:42 -!- Blkt [~user@dynamic-adsl-94-37-236-50.clienti.tiscali.it] has quit [Quit: Error: do not makunbound t please!] 02:25:06 metasyntax` [~taylor@72.86.89.174] has joined #scheme 02:25:08 jeapostrophe_ [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 02:25:21 -!- leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 02:25:21 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 240 seconds] 02:25:22 -!- anli_ [~anders@62.168.159.122] has quit [Ping timeout: 240 seconds] 02:25:22 -!- metasyntax [~taylor@72.86.89.174] has quit [Ping timeout: 240 seconds] 02:25:22 -!- jeapostrophe_ is now known as jeapostrophe 02:26:07 anli_ [~anders@62.168.159.122] has joined #scheme 02:27:29 leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has joined #scheme 02:36:15 Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has joined #scheme 02:37:41 hi, i've been trying to learn scheme, but most of my efforts have gone into learning compatible ide's rather than the language itself, does anyone have a suggestion for a good linux ide (preferably one which will load in less time than the operating system) 02:39:05 Emacs 02:40:06 well, i emacs is what i've been trying to learn, because it looks to be the best option; but again, that's a lot of effort spent on the ide rather than the language 02:40:50 In my opinion, it's worth it. Plus, you can learn Emacs Lisp, which is like Scheme, but uglier. :) 02:45:05 heh 02:45:50 Buttons840: I don't think there are any good scheme IDEs. Racket's "DrRacket" is probably the closest to one. 02:45:53 I don't use it though. 02:47:16 -!- imran_sr [~imran@75-18-254-4.lightspeed.uncyca.sbcglobal.net] has left #scheme 02:51:20 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night] 02:52:53 timj__ [~timj@e176198147.adsl.alicedsl.de] has joined #scheme 02:56:28 -!- timj_ [~timj@e176199169.adsl.alicedsl.de] has quit [Ping timeout: 252 seconds] 02:57:10 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 03:02:12 Emacs has one huge advantage which is called paredit. ;-) 03:02:25 Though apparently someone is attempting to port paredit to vim. *shrug* 03:06:21 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 03:06:44 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Client Quit] 03:07:11 -!- Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has quit [Quit: leaving] 03:26:34 -!- masm1 [~masm@bl19-147-100.dsl.telepac.pt] has quit [Quit: Leaving.] 03:29:17 -!- hohoho [~hohoho@ntkngw226086.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 04:00:01 -!- kephas [~pierre@AStrasbourg-551-1-22-182.w86-213.abo.wanadoo.fr] has quit [Ping timeout: 272 seconds] 04:00:59 kephas [~pierre@AStrasbourg-551-1-19-221.w86-213.abo.wanadoo.fr] has joined #scheme 04:07:37 -!- SirNick_ [~nick@199.223.126.66] has quit [Ping timeout: 272 seconds] 04:36:43 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 04:56:00 -!- joast [~rick@76.178.178.72] has quit [Ping timeout: 240 seconds] 05:06:15 -!- Adrinael [~adrinael@barrel.rolli.org] has quit [Read error: Operation timed out] 05:10:01 joast [~rick@76.178.178.72] has joined #scheme 05:10:55 Adrinael [~adrinael@barrel.rolli.org] has joined #scheme 05:15:47 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 05:36:40 mmc [~michal@cs27121126.pp.htv.fi] has joined #scheme 05:54:23 -!- luz [~davids@186.205.37.15] has quit [Quit: Client exiting] 06:24:59 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 252 seconds] 06:30:58 -!- PascalHunger [~user@65.60.128.84] has quit [Ping timeout: 252 seconds] 06:32:47 PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 06:41:36 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 06:48:20 -!- danking_ is now known as danking 06:51:02 -!- PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has quit [Read error: Connection reset by peer] 06:51:51 PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 06:53:59 Unix sucks. 06:54:05 (...in case you weren't already aware.) 07:02:27 What now? 07:02:43 (I assume compared to Lisp Machines everything sucks). 07:03:27 There is no reliable way to do blocking I/O, and there is no reliable way to do non-blocking I/O. There is a reliable way to do either blocking or non-blocking I/O, but not one to the exclusion of the other. 07:04:22 Yes, moreover blocking I/O may be interrupted by signals. 07:04:39 You need user-space libraries to complete the kernel. 07:07:13 Well, it's not clear a priori that the I/O should continue to block the process after the signal. If the signal indicated a timer interrupt, then it may be time to switch threads. Of course, this is not an issue if all blocking I/O happens only when there are no threads ready to run, which would be a reasonable state of affairs, if it were possible to arrange in Unix, which it is not. 07:08:43 It is not possible to arrange this state of affairs because, for example, the open system call may block, with no way even to *request* that it not block, let alone any reliable way to require that it not block. One needn't even involve NFS for this to be so: FIFOs do it. 07:09:05 Of course, NFS can make everything block. 07:10:09 So I suppose a lot of apparently unrelated brain damage in Unix can be used as an excuse not to pclsr. 07:12:17 Did I mention that Unix sucks? 07:14:51 By the way, if you want to be alerted when you can no longer write to a pipe (because the reading end was closed, or, for sockets rather than pipes, because of network errors), what you have to do is to ask to be alerted (say, with select or poll) when you *can*read* from the pipe -- yes, from the writing end of the pipe. That you can read from the writing end of a pipe actually means that you can't write to it any more. 07:15:31 :-) 07:15:49 Oh, did you want to do this without sucking all the data out of the socket's receive buffer? Sorry! You lose. 07:16:41 I'd bang my head on my desk, but I'm afraid that might inflict upon me the brain damage that caused Unix. 07:16:49 As I said, the kernel needs help from the library! 07:17:04 After all, it's named unix for something. 07:18:23 (`Surely,' you say, `Linux must be able to do this with epoll, or BSD with kqueue.' But no, you would be wrong. Sorry. You still lose. Maybe you win if you're on Solaris and use /dev/poll, but I doubt it, and in any case, if you're on Solaris, that would hardly qualify as `winning'.) 07:19:10 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 07:19:19 You could add a chapter to the UHH. 07:19:53 http://simson.net/ref/ugh.pdf 07:22:43 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 07:28:39 Reading the foreword, it would be a cool hack if when logging in MacOSX with a all-uppercase username we would get all the GUI in uppercase :-) 07:30:14 ...heheh. 07:42:06 -!- PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has quit [Read error: Connection reset by peer] 07:42:56 PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 08:13:52 -!- PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has quit [Read error: Connection reset by peer] 08:14:41 PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 08:20:19 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 272 seconds] 08:36:10 -!- Nshag [user@lns-bzn-53-82-65-61-141.adsl.proxad.net] has quit [Read error: Operation timed out] 08:51:17 rdd [~rdd@c83-250-48-164.bredband.comhem.se] has joined #scheme 08:51:20 Nshag [user@lns-bzn-54-82-251-115-225.adsl.proxad.net] has joined #scheme 08:52:58 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 08:57:00 -!- PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has quit [Read error: Connection reset by peer] 08:57:52 PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 09:07:52 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 09:39:29 choas [~lars@p5792CC3E.dip.t-dialin.net] has joined #scheme 09:40:56 femtoo [~femto@95-89-248-43-dynip.superkabel.de] has joined #scheme 09:46:29 offby1: I think JazzScheme has a good IDE, but I never tried it, and I don't know wether Jazz implements R{4,5,6}RS or another distinct dialect. 09:59:25 -!- jao [~user@31.Red-79-155-158.dynamicIP.rima-tde.net] has quit [Ping timeout: 252 seconds] 10:03:12 masm [~masm@bl19-147-100.dsl.telepac.pt] has joined #scheme 10:07:09 -!- wbooze [~user@xdsl-84-44-140-231.netcologne.de] has quit [Read error: Operation timed out] 10:07:10 -!- homie [~user@xdsl-84-44-140-231.netcologne.de] has quit [Read error: Operation timed out] 10:07:20 wbooze` [~user@xdsl-213-168-95-3.netcologne.de] has joined #scheme 10:07:41 homie` [~user@xdsl-213-168-95-3.netcologne.de] has joined #scheme 10:14:06 dfeuer [~dfeuer@pool-71-178-183-35.washdc.fios.verizon.net] has joined #scheme 10:14:10 -!- dfeuer [~dfeuer@pool-71-178-183-35.washdc.fios.verizon.net] has quit [Changing host] 10:14:10 dfeuer [~dfeuer@wikimedia/Dfeuer] has joined #scheme 10:19:54 hotblack23 [~jh@p57B5A4FB.dip.t-dialin.net] has joined #scheme 10:35:19 MrFahrenheit [~RageOfTho@users-55-172.vinet.ba] has joined #scheme 10:54:33 -!- leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 10:54:40 leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has joined #scheme 11:15:04 -!- timj__ [~timj@e176198147.adsl.alicedsl.de] has quit [Quit: Ex-Chat] 11:15:57 timj [~timj@e176198147.adsl.alicedsl.de] has joined #scheme 11:27:24 -!- zeroish [~zeroish@135.207.174.50] has quit [Ping timeout: 265 seconds] 11:29:43 -!- homie` [~user@xdsl-213-168-95-3.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:29:58 -!- wbooze` [~user@xdsl-213-168-95-3.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:31:31 -!- mmc [~michal@cs27121126.pp.htv.fi] has quit [Ping timeout: 240 seconds] 11:33:51 hotblack231 [~jh@p57B5A4C2.dip.t-dialin.net] has joined #scheme 11:35:47 -!- hotblack23 [~jh@p57B5A4FB.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 11:39:15 wbooze [~user@xdsl-213-168-95-3.netcologne.de] has joined #scheme 11:39:18 homie [~user@xdsl-213-168-95-3.netcologne.de] has joined #scheme 11:40:26 mmc [~michal@cs27121126.pp.htv.fi] has joined #scheme 11:47:51 -!- homie [~user@xdsl-213-168-95-3.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:47:56 -!- wbooze [~user@xdsl-213-168-95-3.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:50:44 pavelludiq [~quassel@87.246.15.23] has joined #scheme 12:02:08 wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has joined #scheme 12:19:46 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 12:24:50 -!- PascalHunger [~user@d60-65-84-128.col.wideopenwest.com] has quit [Remote host closed the connection] 12:25:24 -!- wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has quit [Ping timeout: 265 seconds] 12:35:48 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 12:45:57 Axius [~darkstar@92.84.27.215] has joined #scheme 13:11:39 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 13:14:02 -!- pavelludiq [~quassel@87.246.15.23] has quit [Read error: Connection reset by peer] 13:17:36 Lizard46 [~Lizard46@173-166-26-206-newengland.hfc.comcastbusiness.net] has joined #scheme 13:35:03 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 13:40:13 -!- chturne [~chturne@nas45-44.york.ac.uk] has quit [Quit: Leaving] 13:45:17 -!- rbarraud [~rbarraud@118-92-1-3.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 276 seconds] 13:48:14 jewel [~jewel@196-215-16-158.dynamic.isadsl.co.za] has joined #scheme 14:02:33 kuribas [~user@d54C43542.access.telenet.be] has joined #scheme 14:21:15 -!- Axius [~darkstar@92.84.27.215] has quit [Quit: Leaving] 14:30:55 hohoho [~hohoho@ntkngw226086.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:33:17 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 14:42:36 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 14:49:46 vu3rdd [~vu3rdd@122.166.154.107] has joined #scheme 14:51:00 -!- doc_who [~doc_who@138-78-106-107.resnet.smcm.edu] has quit [Ping timeout: 240 seconds] 14:54:39 jimrees_ [~jimrees@ita4fw1.itasoftware.com] has joined #scheme 14:55:38 -!- aoh [~aki@80.75.102.51] has quit [Ping timeout: 250 seconds] 14:57:39 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 15:04:52 chturne [~chturne@nas45-44.york.ac.uk] has joined #scheme 15:05:20 steven_t [~steven@unaffiliated/steven] has joined #scheme 15:05:21 hey guys 15:05:29 im having a *hell* of a time finding a scheme.vim syntax file 15:05:31 impossible to google 15:06:59 oh 15:07:00 -!- steven_t [~steven@unaffiliated/steven] has left #scheme 15:13:52 acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has joined #scheme 15:15:18 doc_who [~doc_who@138-78-106-107.resnet.smcm.edu] has joined #scheme 15:24:39 pavelludiq [~quassel@87.246.15.23] has joined #scheme 15:29:30 luz [~davids@186.205.37.15] has joined #scheme 15:44:14 -!- femtoo [~femto@95-89-248-43-dynip.superkabel.de] has quit [Quit: Leaving] 15:48:38 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 276 seconds] 15:48:48 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 15:53:19 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 15:53:23 Blkt [~user@dynamic-adsl-94-37-236-50.clienti.tiscali.it] has joined #scheme 15:54:30 aoh [~aki@80.75.102.51] has joined #scheme 15:55:18 femtoo [~femto@95-89-248-43-dynip.superkabel.de] has joined #scheme 16:00:16 HG` [~HG@xdsl-92-252-110-65.dip.osnanet.de] has joined #scheme 16:02:31 gravicappa [~gravicapp@91.78.228.153] has joined #scheme 16:06:07 Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has joined #scheme 16:12:42 please allow me to vent: My programming instructor challenged me to use another language for the remainder of our assignments, because all previous "assignments" I've finished with ease, usually with a single line of python. I've long wanted to learn scheme, so I commited to use it (the instructor likes scheme). Over the past 2 days I've spent about 6 hours trying to learn scheme, and about 5 of those hours have been spent looking f 16:13:18 You were truncated at `about 5 of those hours have been spent looking f'. 16:13:38 well, probably for the better :) 16:13:55 aw, I wanted to get to the meat of the vent. 16:13:56 all my time has been spent looking for an ide, or trying in vain to learn emacs 16:13:58 Or the vent of the meat. 16:14:10 What's troubling you with Emacs? 16:14:19 Buttons840: well, you don't need an IDE or emacs for scheme, although once you learn one, it will make things a bit easier 16:14:35 just use whatever you used for Python... unless you were using a python-specific IDE :) 16:14:59 Riastradh: i found slime for lisp, which had a nice interactive shell, but didn't support scheme 16:15:06 oooh 16:15:08 forget slime 16:15:15 waaay too hard to get going (as you've learned) 16:15:29 the built-in scheme mode has few features but actually works 16:16:04 Buttons840: Have you tried DrRacket yet? 16:16:10 Actually, SLIME supports several Schemes these days. 16:16:12 It works, and you don't need to learn Emacs to use it. 16:16:16 I don't know how well it does, though. 16:16:28 chandler: yes, the gui framework it's built on is ugly, and the drop down menus don't work 16:16:39 atleast for me 16:16:40 Riastradh: I suspect it's still waaay too hard for a beginner. Hell, I suspect it's too hard for me. 16:16:43 Anyway, as offby1 said, you don't need to use SLIME in Emacs. 16:16:47 "drop down menus don't work"? Which menus are these? 16:16:59 chandler: the "file" and "edit" near the top. 16:17:01 And does the ugliness actually prevent you from using it? 16:17:07 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 16:17:07 What platform are you on? 16:17:29 ubuntu 16:17:44 I'm using it on Ubuntu. It works fine for me. Which version of Ubuntu are you using? 16:17:50 10.10 16:18:00 The built-in Scheme Mode should be enabled automatically if you edit a file whose name ends in `.scm', and you can interact with a tty-oriented Scheme with `C-u M-x run-scheme RET your-favourite-installed-scheme RET'. 16:18:07 OK. I haven't upgraded past Lucid yet. I wonder if any other DrRacket users have this issue. 16:18:15 It's certainly nothing I've ever run across. 16:18:22 chandler: although i have drscheme and not "drracket" 16:18:40 (No configuration required, as of probably GNU Emacs 18 or so.) 16:18:41 Riastradh: i will try this scheme mode, does it have an interactive mode? 16:18:52 Yes: that's what `run-scheme' invokes. 16:19:22 Riastradh: so m-x run-scheme ? 16:19:42 Buttons840: I think you're unnecessarily putting obstacles in your own way. You can get started using vim or notepad or textmate or anything you like. 16:20:53 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 16:21:08 Buttons840, you'll have to tell Emacs what Scheme system to use. For example, if you want to interact with Racket, it will probably be `C-u M-x run-scheme RET racket RET'. 16:21:39 Buttons840: C-c C-e will send a sexp from your program to the interactive interpreter. I've found it very usefull. 16:22:16 in racket, (enter! (file "your-file.rkt")) is pretty handy 16:22:42 Riastradh: ok, i have guile, but mx run-scheme RET gives and error without prompting for a "scheme system" 16:23:03 -!- easy4 [~easy4@c-174-60-36-128.hsd1.pa.comcast.net] has quit [Ping timeout: 245 seconds] 16:23:18 Buttons840, I said `C-u M-x run-scheme RET', not `M-x run-scheme RET'. 16:23:46 Buttons840: chances are your emacs is looking for a program named "scheme", which you don't have. 16:23:55 Riastradh: yes you did; i got it working now :) 16:23:58 now that I think about it, that's probably not a great default 16:24:34 If you want to avoid typing `C-u' and `guile' all the time, you can put (setq scheme-program-name "guile") into your .emacs file. 16:25:19 offby1, for a long time, the MIT Scheme executable was called `scheme', and it still leaves a symlink under that name to the real one (which is now called `mit-scheme-ARCH'). 16:25:57 thanks; this interactive shell looks pretty good :) 16:26:14 Riastradh: oh, I know that. 16:26:20 alvatar [~alvatar@3.148.220.87.dynamic.jazztel.es] has joined #scheme 16:26:21 -!- pavelludiq [~quassel@87.246.15.23] has quit [Read error: Connection reset by peer] 16:26:56 i see i have some good tab indentation, but is there any syntax highlighting? 16:27:11 Buttons840: a couple of quick pieces of Emacs advice: 1) do the tutorial by typing C-h t. It may seem beneath you, but it won't take long, and I bet you'll learn a couple of crucial things from it; 2) try out #emacs. We're an obnoxious bunch of jerks, but nevertheless occasionally helpful 16:27:21 Buttons840: there should indeed be decent syntax highlighting 16:27:23 I thought it was enabled by default in GNU Emacs 22 or GNU Emacs 23 or so. 16:27:43 In GNU Emacs, syntax highlighting is called `font lock', for hysterical raisins. 16:27:48 *nod 16:28:03 pretty much everything about emacs is due to hysterical raisins 16:28:04 i don't really care for raisins 16:28:06 You can toggle it per buffer with `M-x font-lock-mode RET', or globally with `M-x global-font-lock-mode RET'. 16:28:06 it being so hysterical 16:28:34 *kuribas* has some emacs code to make the promp immutable. 16:29:11 one last thing; i see that when adding a new closing paren ) it will highlight the matching opening paren breifly, but is there a way to just put your cursor on a peren and see it's match? 16:29:26 I think so 16:29:29 lemme think 16:29:37 Buttons840, yes: put the point after a closing delimiter, and type `C-M-b'; or before the opening delimiter, and type `C-M-f'. 16:29:43 M-x show-paren-mode, maybe 16:30:02 show-paren-mode is extremely useful. 16:30:57 Buttons840: if you're feeling daring, you could try out http://github.com/technomancy/emacs-starter-kit -- it's a whole pile of customizations that many people find useful. It includes, among many other things, a weird bit of code called "paredit" which I hear has some fans in the Scheme world ... 16:31:08 Show Paren Mode works too, if the matching delimiter is on-screen. 16:31:43 Really? Now why would anyone in the Scheme world want to use nonsense like paredit? 16:32:55 *Buttons840* leaves happy 16:33:48 Riastradh: I've been wondering that myself^W^W^W^W^W uh, I dunno 16:35:03 -!- MrFahrenheit [~RageOfTho@users-55-172.vinet.ba] has quit [Read error: No route to host] 16:35:24 MrFahrenheit [~RageOfTho@users-55-172.vinet.ba] has joined #scheme 16:43:37 -!- femtoo [~femto@95-89-248-43-dynip.superkabel.de] has quit [Quit: Leaving] 16:44:49 saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has joined #scheme 16:44:50 paredit is awesome 16:45:32 I'm the only person I know who's tried it but doesn't like it :-( 16:45:57 it has weird key bindings I guess 16:46:10 but is the *main* reason for me to use emacs over vim 16:46:14 huh 16:46:31 for all the other languages I use vim actually, the repl connection is nice too, but I can do that in vim more or less 16:51:16 I've probably asked this before, but was there anything in particular that bothered you about paredit, offby1? 16:51:37 I can't say it was anything in particular; it was just so surprising so often that my brain said "ick" 16:51:44 I'm pretty set in my ways 16:52:21 OK. 16:57:06 -!- saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 16:58:15 I think one thing that "surprised" me about paredit that thankfully doesn't surprise me anymore was the new behaviour of ) vs M-). 16:58:29 Being mostly a vi user, I'm used to ) not putting a newline for me. 16:58:52 So, when I read that in the newest version ) doesn't put a newline, I was overjoyed. :-P 17:01:48 -!- Lizard46 [~Lizard46@173-166-26-206-newengland.hfc.comcastbusiness.net] has quit [Ping timeout: 245 seconds] 17:04:57 kilimanjaro [~kilimanja@ip24-255-34-109.tc.ph.cox.net] has joined #scheme 17:04:57 -!- kilimanjaro [~kilimanja@ip24-255-34-109.tc.ph.cox.net] has quit [Changing host] 17:04:57 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 17:07:04 saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has joined #scheme 17:08:42 I cannot image editing scheme/lisp without paredit again. 17:09:19 nowhere_man [~pierre@AStrasbourg-551-1-46-76.w92-148.abo.wanadoo.fr] has joined #scheme 17:09:32 -!- kephas [~pierre@AStrasbourg-551-1-19-221.w86-213.abo.wanadoo.fr] has quit [Ping timeout: 250 seconds] 17:12:32 femtoo [~femto@95-89-248-43-dynip.superkabel.de] has joined #scheme 17:18:54 -!- HG` [~HG@xdsl-92-252-110-65.dip.osnanet.de] has quit [Quit: Leaving.] 17:31:55 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 17:32:14 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 17:32:30 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Client Quit] 17:35:53 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 17:47:56 -!- saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 17:49:12 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 17:55:21 saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has joined #scheme 17:58:28 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 252 seconds] 18:00:39 homie [~user@xdsl-87-79-161-161.netcologne.de] has joined #scheme 18:00:57 wbooze [~user@xdsl-87-79-161-161.netcologne.de] has joined #scheme 18:02:21 -!- Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has quit [Ping timeout: 265 seconds] 18:07:57 -!- atomx [~user@92.81.118.66] has quit [Read error: Connection reset by peer] 18:11:02 bgs100_ [~ian@adsl-070-147-167-154.sip.mcn.bellsouth.net] has joined #scheme 18:12:11 -!- bgs100_ [~ian@adsl-070-147-167-154.sip.mcn.bellsouth.net] has quit [Client Quit] 18:13:57 araujo [~araujo@190.38.50.25] has joined #scheme 18:13:57 -!- araujo [~araujo@190.38.50.25] has quit [Changing host] 18:13:57 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 18:15:37 bgs101 [~ian@unaffiliated/bgs100] has joined #scheme 18:33:08 vy [~user@88.246.246.131] has joined #scheme 18:33:44 Hi! How can I alter the value of the variable pointed by a symbol? 18:33:50 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 255 seconds] 18:34:01 rudybot: eval (define x 3) 18:34:03 *offby1: your scheme sandbox is ready 18:34:03 rudybot: eval x 18:34:04 *offby1: ; Value: 3 18:34:11 rudybot: eval (set! x "A new value") 18:34:13 rudybot: eval x 18:34:13 *offby1: ; Value: "A new value" 18:34:35 offby1: I mean sth like (set! (string->symbol "x") "new val") 18:34:46 vy: that makes no sense. 18:34:51 why would you want to do that? 18:35:31 It's a question asked in turkish lisp group, I know it's stupid, but I just wonder if I can do that. Such a think is possible in CL, but how about Scheme? 18:35:41 I don't even know what it means. 18:36:04 vy, consider that the following two programs are equivalent: (let ((x 5)) (write "x") x) (let ((y 5)) (write "x") y). 18:36:07 my hunch is that you can't do it without using "eval" 18:36:33 offby1: (setf (symbol-value 'x) "new val") 18:36:45 vy: This isn't any more possible in Common Lisp than it is in Scheme. Both Common Lisp and Scheme are lexically scoped languages. 18:36:55 vy, Common Lisp has a couple different notion of variables, whereas Scheme has only one. 18:37:45 Depending on your implementation of Scheme, you might be able to use `eval' to change the value of the top-level binding of a variable. 18:37:48 In Common Lisp, special variables are basically a giant hash table that is reflected to the program. So the analogue in Scheme would be to have (define special-variables (make-symbol-hash-table)), and to translate DEFVAR, DEFPARAMETER, special variable references, &c., into hash table lookups. 18:37:51 rudybot: eval (eval (list 'set! (string->symbol "x") "another new val")) 18:37:54 rudybot: eval x 18:37:54 *offby1: ; Value: "another new val" 18:37:56 But if I can create a symbol from a string, how am I not be able to also reference to the variable pointed by that symbol? 18:38:02 vy: I guess that's what you want 18:38:10 offby1: Yep! Thanks. 18:38:10 vy, consider the equivalence I pointed out. 18:38:23 somehow, though, using 'eval' like that makes my stomach hurt. 18:38:26 I can't explain why. 18:38:31 Symbols don't point at variables; identifiers do. 18:38:38 offby1's trick works only by accident in an interactive Scheme. 18:38:41 yep 18:38:44 something like that. 18:38:46 It won't work in to break the equivalence I showed. 18:39:04 I think you can also do it in a program, if you're willing to use non-portable features 18:39:30 The two procedures (lambda (f) (let ((x 5)) (f "x") x)) and (lambda (f) (let ((y 5)) (f "x") y)) behave identically in Scheme; there is no value of F that can distinguish the two. 18:39:31 rudybot: init racket 18:39:32 chandler: your racket sandbox is ready 18:39:43 rudybot: eval (define x 1) 18:40:01 rudybot: eval (define-namespace-anchor anchor) 18:40:09 pavelludiq [~quassel@83.222.175.21] has joined #scheme 18:40:17 rudybot: eval (namespace-set-variable-value! 'x 2 #f (namespace-anchor->namespace anchor)) 18:40:21 rudybot: eval x 18:40:21 chandler: ; Value: 2 18:40:32 Adamant [~Adamant@c-69-136-200-213.hsd1.ga.comcast.net] has joined #scheme 18:40:33 -!- Adamant [~Adamant@c-69-136-200-213.hsd1.ga.comcast.net] has quit [Changing host] 18:40:33 Adamant [~Adamant@unaffiliated/adamant] has joined #scheme 18:40:41 -!- saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 18:40:49 Axius [~darkstar@109.97.54.156] has joined #scheme 18:41:11 offby1: That's your non-eval-based solution for Racket, anyway. 18:41:19 -!- vu3rdd [~vu3rdd@122.166.154.107] has quit [Remote host closed the connection] 18:41:20 vy, however, the following two procedures are *not* equivalent: (lambda (f) (let ((foo 5)) (f (lambda (n v) (case n ((x) (set! foo x))))) foo], (lambda (f) (let ((foo 5)) (f (lambda (n v) (case n ((y) (set! foo v))))) foo] 18:42:08 What's the difference? The names X and Y are part of the semantics of the last pair of programs -- not just part of the way they happened to be written. 18:42:24 The namespace anchor based solution for Racket will take you about as far as using (SETF SYMBOL-VALUE) will in Common Lisp. In neither case will you be able to alter the value of a non-top-level binding. 18:42:38 Alternating between (let ((x 5)) ... x ...) and (let ((y 5)) ... x ...) is no more semantically significant than alternating between (let ((x 5)) ... x ...) and (let ((x 5)) ... x ...). 18:43:43 If you want a map from names to data, use that -- e.g., use a hash table. The environment is just a part of the way that the program is written, not a part of the program's behaviour. 18:46:09 Sorry, I meant `Alternating between (let ((x 5)) ... x ...) and (let ((y 5)) ... y ...)' at the beginning of my penultimate message; I miswrote the last `y' as `x'. 18:47:07 thot so 18:50:00 -!- bgs101 [~ian@unaffiliated/bgs100] has quit [Remote host closed the connection] 18:50:23 bgs101 [~ian@unaffiliated/bgs100] has joined #scheme 18:56:25 Thanks all for overly-detailed answers. ;) 18:57:06 -!- vy [~user@88.246.246.131] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:58:12 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 18:58:39 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 19:05:31 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 19:07:54 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 19:20:43 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 19:24:01 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Quit: Lost terminal] 19:24:26 saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 19:24:54 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 19:30:48 -!- MrFahrenheit [~RageOfTho@users-55-172.vinet.ba] has quit [Read error: Connection reset by peer] 19:33:08 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Quit: jeapostrophe] 19:34:40 MrFahrenheit [~RageOfTho@users-33-42.vinet.ba] has joined #scheme 19:34:53 -!- Axius [~darkstar@109.97.54.156] has quit [Quit: Leaving] 19:44:45 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 19:49:10 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 19:52:28 -!- kuribas [~user@d54C43542.access.telenet.be] has quit [Read error: Connection reset by peer] 19:52:32 kuribas [~user@d54C43542.access.telenet.be] has joined #scheme 19:59:18 -!- kuribas [~user@d54C43542.access.telenet.be] has left #scheme 20:15:24 Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has joined #scheme 20:15:59 im editing a scm file in emacs, is there a way to evaluate/run the scheme file using a emacs commad? 20:16:17 yeah ... 20:16:20 lemme thing 20:16:22 think 20:16:23 Type `C-h m' in the Scheme buffer. 20:16:28 well, sure 20:16:33 That will show you what the relevant commands are. 20:17:20 oddly, I don't see anything relevant when I do that. 20:17:41 whats c-c c-c ? 20:17:55 that's hitting Control C twice in a row 20:17:56 scheme-load-file? 20:18:03 offby1, did you start an inferior Scheme process first? 20:18:10 scheme-compile-definition-and-go but what does that mean? 20:18:16 Riastradh: ah, no 20:18:37 that did it. 20:18:42 Buttons840, basically, it's the same as scheme-send-definition-and-go, but theoretically, in some Scheme systems, it might make the code run faster. 20:19:28 If you type `C-h f scheme-compile-definition-and-go RET', Emacs will describe the command for you. 20:19:36 Buttons840: run-scheme and then C-x h C-c C-r if you are using the built in scheme-mode 20:20:21 Riastradh: ok; but i'm asking if this might be what i'm looking for, which is a way to run the code i have in my file currently? it doesn't look like it 20:20:30 well, M-x run-scheme, actually. you only have to do that once though 20:21:12 i can always run it from the shell outside emacs... 20:21:18 got to be an easier way though 20:21:35 Buttons840, if you want to load the whole file, use `scheme-load-file', or `C-c C-l'. 20:21:53 If you want to load just a single definition (the one the point is on), use `scheme-send-definition', or `C-M-x'. 20:22:22 Buttons840: I generally do M-x compile RET racket my-file-name.rkt RET 20:22:24 that works reasonably well 20:22:45 I arrange my files to run self-tests when invoked that way 20:22:55 i don't have racket 20:24:07 Substitute `guile' for `racket' in what offby1 said, then. 20:25:02 I don't know what the difference is between `M-x compile RET' and `M-!' (`M-x shell-command RET'), but they both run a shell command for you. The effect is to start up a fresh Scheme instance to load your file and exit. 20:28:09 i don't see any for-loop structure in scheme, i'm guessing i should use something like apply and a lambda instead? 20:29:23 The primitive looping mechanism is the procedure call. 20:29:49 There is some syntactic sugar for common structures of recursive procedures, too. 20:31:05 Example: (define (factorial n) (factorial-loop n 1)) (define (factorial-loop n product) (if (< n 2) product (factorial-loop (- n 1) (* n product] 20:31:31 hotblack23 [~jh@p57BD6408.dip.t-dialin.net] has joined #scheme 20:31:38 When you want to create a procedure that refers to itself, and immediately apply it to a set of arguments, you can use the syntactic sugar called named LET: (define (factorial n) (let factorial-loop ((n n) (product 1)) (if (< n 2) product (factorial-loop (- n 1) (* n product] 20:32:11 There is also a construct somewhat closer to C's for, called DO. 20:32:38 -!- hotblack231 [~jh@p57B5A4C2.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 20:33:24 hmmm.... i think i better just keep reading for now maybe :) 20:33:49 hotblack231 [~jh@p57BD604A.dip.t-dialin.net] has joined #scheme 20:34:32 does anyone actually use DO? 20:34:36 never seen it in the wild 20:35:34 -!- bgs101 [~ian@unaffiliated/bgs100] has quit [Read error: Connection reset by peer] 20:35:39 pothos_ [~pothos@111-240-208-110.dynamic.hinet.net] has joined #scheme 20:35:48 -!- hotblack23 [~jh@p57BD6408.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 20:35:52 -!- pothos [~pothos@111-240-212-186.dynamic.hinet.net] has quit [Read error: Operation timed out] 20:35:55 M-x compile lets you watch the output as it arrives asynchronously; M-! freezes emacs until the command completes. 20:36:08 Thus it's useful only for commands that finish very quickly 20:36:32 I see. 20:36:33 That is handy. 20:38:00 -!- pothos_ [~pothos@111-240-208-110.dynamic.hinet.net] has quit [Read error: Connection reset by peer] 20:38:16 pothos [~pothos@111-240-208-110.dynamic.hinet.net] has joined #scheme 20:43:22 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 20:44:07 M-x recompile RET is subtly different from M-x compile RET RET -- it preserves the compilation's working directory. It's hard to explain, but it's useful, and worth trying 20:44:29 -!- hotblack231 [~jh@p57BD604A.dip.t-dialin.net] has quit [Ping timeout: 272 seconds] 20:44:43 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 20:46:04 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 20:46:30 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Quit: Lost terminal] 20:47:28 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 20:47:58 schmir [~schmir@p54A9012A.dip0.t-ipconnect.de] has joined #scheme 20:49:31 -!- schmir [~schmir@p54A9012A.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20:55:19 -!- wgd [~will@76-205-0-91.lightspeed.stlsmo.sbcglobal.net] has quit [Ping timeout: 265 seconds] 20:56:03 wgd [~will@76-205-0-91.lightspeed.stlsmo.sbcglobal.net] has joined #scheme 20:56:05 -!- Buttons840 [~buttons@c-76-27-4-93.hsd1.ut.comcast.net] has quit [Quit: leaving] 21:15:38 gwynddyllyd [~gwynddyll@201.29.217.74] has joined #scheme 21:16:43 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 21:17:13 -!- gwynddyllyd [~gwynddyll@201.29.217.74] has left #scheme 21:20:58 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 21:29:03 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 21:30:24 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 21:36:21 femtooo [~femto@95-89-248-43-dynip.superkabel.de] has joined #scheme 21:38:27 rbarraud [~rbarraud@118-92-1-3.dsl.dyn.ihug.co.nz] has joined #scheme 21:39:29 -!- femtoo [~femto@95-89-248-43-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 21:41:03 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 21:41:38 -!- gravicappa [~gravicapp@91.78.228.153] has quit [Remote host closed the connection] 21:54:37 hotblack23 [~jh@p57B5B0B1.dip.t-dialin.net] has joined #scheme 21:58:34 -!- femtooo [~femto@95-89-248-43-dynip.superkabel.de] has quit [Quit: Leaving] 21:59:41 -!- choas [~lars@p5792CC3E.dip.t-dialin.net] has quit [Quit: leaving] 22:02:24 -!- pavelludiq [~quassel@83.222.175.21] has quit [Remote host closed the connection] 22:06:51 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 22:24:50 ventonegro [~alex@c934769c.virtua.com.br] has joined #scheme 22:26:12 offby1: Good idea. Does it also pick on error messages with source location? 22:29:07 yep 22:29:21 it really just invokes M-x compile after fiddling the default-directory, as far as I can tell 22:29:34 I have it aliased to "make", and use it _all_ the time. 22:32:47 -!- ventonegro [~alex@c934769c.virtua.com.br] has quit [Quit: ventonegro] 22:43:24 chris_bryant [~chrisbrya@cpe-75-84-188-152.socal.res.rr.com] has joined #scheme 22:45:50 http://gitorious.org/koan/koan/trees/master/examples 22:46:00 code uploaded, in case someone would like to check out :P 23:39:01 -!- hotblack23 [~jh@p57B5B0B1.dip.t-dialin.net] has quit [Quit: Leaving.] 23:44:22 Lizard46 [~Lizard46@173-166-26-206-newengland.hfc.comcastbusiness.net] has joined #scheme 23:49:24 Azuvix [~user@174-19-225-8.bois.qwest.net] has joined #scheme