00:00:03 The first reference to VECTOR-MAP must be evaluated before you assign VECTOR-MAP -- otherwise, you'll never have a chance to see the old value. 00:00:59 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 00:05:06 ecyrb annotated #89860 "vector-map attempt 2" at http://paste.lisp.org/display/89860#1 00:05:45 Oh, Chez? That probably doesn't implement the R5RS. 00:06:12 vector-map is there before evaluating that definition, then it goes away. 00:11:21 It's the same problem I was having initially with the reference implementation of SRFI 43... BTW, what is (define vector vector) supposed to do, anyway? 00:11:25 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 00:13:19 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [Remote closed the connection] 00:14:19 nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has joined #scheme 00:14:19 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 00:15:53 Nothing in particular. It is just a reminder that SRFI 43 assumes VECTOR to be defined already, as in the R5RS. 00:16:20 Anyway, what do you want to use SRFI 43 for? 00:16:22 So it's supposed to fail in some way if vector isn't already defined? 00:16:34 outworlder [n=user@201009066150.user.veloxzone.com.br] has joined #scheme 00:18:17 Well, sure. 00:18:44 Anyway, that code assumes the semantics of the R5RS. If you run this in an R6RS environment, it will probably behave differently. 00:19:42 Sorry - you're saying that define's semantics have changed between R5RS and R6RS? 00:19:50 Yes. 00:19:56 A lot of things changed between the R5RS and the R6RS. 00:20:21 Did you expect them to be compatible? 00:20:34 (at least in one direction) 00:20:39 Right. But in what way have define's semantics changed such that (define vector vector) behaves differently? 00:20:41 If so, your expectation was reasonable, but alas, not met by reality. 00:22:17 How does it behave differently? I don't recall the R6RS's precise semantics. 00:22:27 (I was using SRFI 43 with gambit, and I thought I would compare the performance to petite chez) 00:22:48 -!- wingo [n=wingo@88.Red-83-32-70.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 00:22:50 Fair enough. 00:24:52 -!- MrFahrenheit [n=RageOfTh@users-55-254.vinet.ba] has quit [Read error: 113 (No route to host)] 00:25:44 Obviously I'm new to scheme. When I started writing in Scheme a few weeks ago, I chose to stick with R6RS, and R6RS compatible implementations. I have since changed my approach as there seems to be some contention regarding R6RS, and I'm trying to write R5RS-ish code in the most portable manner of my ability. 00:28:06 Does that sound like a reasonable approach to development in scheme? 00:28:39 And is there some reason I shouldn't be using SRFI 43? 00:31:08 Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has joined #scheme 00:31:25 what scheme distribution do you recommend? 00:32:30 Riastradh: Also, thanks for all of the help over the last few weeks while I have struggled up the learning curve. The discussions have been over-my-head at times, but #scheme has generally been helpful in navigating the real-world issues. 00:33:57 TSPL4, which was one of my first references, doesn't give a *novice* information regarding the community's adoption of various standards, etc... 00:35:49 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 00:36:34 Lis: I don't think I'm qualified to answer your question, but as a novice I have played with a few of the different implementations. What are you trying to accomplish? 00:36:57 reading files and parsing data 00:37:21 and doing calculations 00:37:36 i currently try out plt scheme 00:37:43 Lis: Any platform limitations? 00:38:01 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [] 00:38:03 should run on every major os 00:38:06 thought 00:39:36 i read that plt scheme would be best 00:39:48 PLT seems like a "batteries included" scheme, so is probably not a bad choice. If you'd like to port your code to other schemes in the future, you might want to be careful of using PLT specific functionality. 00:39:50 -!- nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has quit [Read error: 145 (Connection timed out)] 00:40:08 But that's true of any scheme implementation. 00:42:38 seems that there isn't really an alternative since the most other distributions are not maintained anymore 00:42:43 most of the other 00:43:12 That's not entirely true. Various scheme maintainers and implementers even hang out here. 00:44:16 hm, I think for my everyday scripting and learning scheme I will stay with plt right now 00:44:36 clog [n=nef@bespin.org] has joined #scheme 00:45:04 looks awesome, but downloading planets manually is somehow complicated 00:47:49 brb 00:47:52 -!- Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has quit ["Nettalk6 - www.ntalk.de"] 00:57:58 -!- clog_ [n=nef@bespin.org] has quit [Read error: 110 (Connection timed out)] 00:58:25 -!- Axioplase_ [n=Axioplas@fortigate.kb.ecei.tohoku.ac.jp] has quit [Connection reset by peer] 00:59:06 nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has joined #scheme 01:02:47 reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 01:06:12 -!- nothingHappens [n=nothingH@173-25-176-111.client.mchsi.com] has quit [Read error: 54 (Connection reset by peer)] 01:06:28 sepult [n=levgue@xdsl-87-78-27-143.netcologne.de] has joined #scheme 01:07:35 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 01:09:47 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 01:10:12 kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has joined #scheme 01:18:17 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 01:19:49 Lis [n=Lis@p5B207505.dip.t-dialin.net] has joined #scheme 01:20:11 scheme is awesome 01:20:26 parsin csv files (with external libs) with 10 lines of code 01:23:49 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 01:24:53 Lis, it could be done with 9 lines, no? 01:25:15 I only guessed 01:26:34 bombshelter13__ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 01:29:57 -!- masm [n=masm@bl5-105-90.dsl.telepac.pt] has quit ["Leaving."] 01:33:35 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Read error: 148 (No route to host)] 01:45:47 -!- kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 01:48:03 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 01:51:50 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 01:52:04 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 01:53:06 sstrickl [n=sstrickl@pool-129-44-182-54.bos.east.verizon.net] has joined #scheme 01:56:37 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit ["ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.14/2009090900]"] 01:57:05 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:57:40 -!- ASau [n=user@83.69.227.32] has quit [Remote closed the connection] 01:57:58 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Client Quit] 01:58:17 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:58:57 ASau [n=user@83.69.227.32] has joined #scheme 01:59:02 rstandy [n=rastandy@net-93-144-41-152.t2.dsl.vodafone.it] has joined #scheme 01:59:03 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Client Quit] 02:02:25 Axioplase [n=Axioplas@fortigate.kb.ecei.tohoku.ac.jp] has joined #scheme 02:03:04 -!- mario-goulart [n=user@67.205.85.241] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 02:03:09 ecyrb, you asked, `Does [trying to write R5RS-ish code in the most portable manner] sound like a reasonable approach to development in Scheme?' Yes, that is reasonable. 02:03:40 clog_ [n=nef@bespin.org] has joined #scheme 02:03:52 ecyrb, `And is there some reason I shouldn't be using SRFI 43?' It is not very useful -- most of what one can write with it is more clearly (and more efficiently) written with a more general looping construct, such as . 02:04:40 splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has joined #scheme 02:05:29 -!- splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has quit [Client Quit] 02:05:35 ecyrb, TSPL is written by the author of Chez Scheme, who was also one of the authors of the R6RS. It has included various Chez-specific information in the past, and is probably now oriented toward the R6RS. 02:06:28 seamus_android [n=alistair@host86-154-174-83.range86-154.btcentralplus.com] has joined #scheme 02:07:29 -!- emma [n=em@unaffiliated/emma] has quit [Remote closed the connection] 02:07:31 splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has joined #scheme 02:08:42 sg [i=3e164621@gateway/web/freenode/x-4ae916aa301a7132] has joined #scheme 02:08:47 hi 02:09:56 emma [n=emma@unaffiliated/emma] has joined #scheme 02:10:51 https://synx.us.to/code/scheme/exec.ss 02:10:55 ^^^ exec for PLT 02:11:02 -!- bombshelter13__ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit ["If only your veins were filled with oil, the world would rush to your rescue!"] 02:16:52 -!- clog [n=nef@bespin.org] has quit [Connection timed out] 02:20:59 mmm are internal defines usually transformed into letrec constructions? 02:23:03 "A containing internal definitions can always be converted into a completely equivalent letrec expression." R5RS 5.2.2 02:24:46 The two are semantically equivalent, sg. Whether an implementation transforms one to the other is, well, an implementation detail. Some transform in the other direction, from LETREC to internal definitions. 02:24:49 may i ask why do internal defines have to be first in bodies and can't be anywhere? (i'm using mzscheme) 02:27:50 chandler: Riastradh thanks 02:29:01 -!- seamus_android [n=alistair@host86-154-174-83.range86-154.btcentralplus.com] has quit [Read error: 113 (No route to host)] 02:36:28 wtf 02:36:31 "Profiling Timer?" 02:36:35 How do you disable that? 02:48:47 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 02:50:44 how to make mzscheme execute a script file without echoing expression values along the way? 02:53:42 -!- emma [n=emma@unaffiliated/emma] has quit [Client Quit] 02:57:18 -!- dudrenov` [n=user@adsl-99-147-43-193.dsl.pltn13.sbcglobal.net] has quit [Remote closed the connection] 02:58:03 -!- proq [n=user@unaffiliated/proqesi] has quit [Read error: 110 (Connection timed out)] 02:58:21 emma [n=em@unaffiliated/emma] has joined #scheme 02:59:54 -!- timchen119 is now known as nasloc__ 03:00:18 Good stuff. Night all. 03:00:21 -!- ecyrb [i=bamoore@freeshell.org] has quit ["Real IRC clients know "to" is a preposition, not an adverb"] 03:07:18 peter_12: best you can do (I think) is to have your script all evaluate to a void. It's not clear what to do when you return something to the top level more than once. 03:07:43 whereas if you wrap it in (begin ...) it's very clear which values can be thrown out, and which must be considered. 03:07:50 synx: thanks. 03:08:18 strange behavior. 03:08:26 (begin ...) is a good idea 03:08:36 Not any stranger than throwing away values randomly. 03:09:09 I still wanna know how, after calling exec* C functions, PLT manages to keep something around long enough to ridiculously kill the subsequent process. 03:09:10 Randomly. 03:09:14 As a race condition. 03:13:12 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit [] 03:15:57 borism_ [n=boris@195-50-199-45-dsl.krw.estpak.ee] has joined #scheme 03:17:41 ffff... it looks like PLT randomly uses setitimer, which indicates it's done via a SIGPROF which PLT handles, but after execl, the SIGPROF handler is removed, but the timer is not... raising a fatal SIGPROF error that kills the subsequent process. 03:19:58 PLT Scheme probably uses setitimer to schedule thread switching. 03:21:40 -!- borism [n=boris@195-50-200-134-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 03:22:06 borism [n=boris@195-50-199-44-dsl.krw.estpak.ee] has joined #scheme 03:27:19 -!- borism_ [n=boris@195-50-199-45-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 03:27:23 well, I always wanted to learn about writing C extensions anyway. I can reset the timer and exec all in one fell swoop that way, without any chance of it being re-created between the resetting and the exec... 03:30:02 Any particular reason you're using exec? 03:31:30 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 03:32:33 I want to spawn a C process, without leaving a useless scheme process watching over it. 03:48:26 -!- outworlder [n=user@201009066150.user.veloxzone.com.br] has quit [Read error: 60 (Operation timed out)] 03:52:44 tjaway [n=timj@e176210135.adsl.alicedsl.de] has joined #scheme 03:53:47 -!- tjafk [n=timj@e176193197.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 04:03:49 synx: Just make a tail call to the C process... :-P 04:03:52 jonrafkind [n=jon@98.202.86.149] has joined #scheme 04:05:28 bombshelter13_ [n=bombshel@CPE004005ca19db-CM000f211fd04a.cpe.net.cable.rogers.com] has joined #scheme 04:07:51 lol 04:09:53 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [Read error: 131 (Connection reset by peer)] 04:15:13 -!- emma [n=em@unaffiliated/emma] has quit [Read error: 104 (Connection reset by peer)] 04:17:51 emma [n=em@unaffiliated/emma] has joined #scheme 04:25:18 -!- offby1` is now known as offby1 04:26:16 -!- joast [n=rick@76.178.178.72] has quit ["Leaving."] 04:27:07 -!- ada2358_ [n=ada2358@login-linux.ccs.neu.edu] has quit [Remote closed the connection] 04:27:09 ada2358 [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 04:28:48 joast [n=rick@76.178.178.72] has joined #scheme 04:28:57 -!- kilimanjaro [n=kilimanj@cpe-173-172-99-25.austin.res.rr.com] has quit ["Leaving"] 04:33:30 huh 04:33:52 found a case where dynamic wind does not guarantee the third procedure to be evaluated upon leaving the second one. 04:33:58 applied I mean 04:34:13 https://synx.us.to/code/scheme/dynamic-foild.ss 04:55:08 -!- emma [n=em@unaffiliated/emma] has quit [Remote closed the connection] 04:58:24 emma [n=emma@unaffiliated/emma] has joined #scheme 05:05:50 jeapostrophe [n=jay@80.187.146.110] has joined #scheme 05:07:37 -!- sg [i=3e164621@gateway/web/freenode/x-4ae916aa301a7132] has quit ["Page closed"] 05:08:24 well hum... 05:08:32 https://synx.us.to/code/scheme/exec/ is what I've got 05:09:23 it disables the itimer, but... I can't figure how to invoke cleanup routines. Cleaning up that way seems to do a longjmp... never gets to the execv. 05:11:56 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 05:19:07 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 05:24:57 -!- bombshelter13_ [n=bombshel@CPE004005ca19db-CM000f211fd04a.cpe.net.cable.rogers.com] has quit [Client Quit] 05:26:07 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 05:26:23 bombshelter13_ [n=bombshel@CPE004005ca19db-CM000f211fd04a.cpe.net.cable.rogers.com] has joined #scheme 05:52:39 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Remote closed the connection] 05:56:09 -!- reid02 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has quit [Connection timed out] 05:56:19 reid02 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has joined #scheme 06:18:00 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 60 (Operation timed out)] 06:20:20 bombshelter13__ [n=bombshel@CPE0023cdd7a4b1-CM001cea87a35c.cpe.net.cable.rogers.com] has joined #scheme 06:21:42 ada2358 [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 06:23:49 leppie|work [i=52d2e3c8@gateway/web/freenode/x-c6c0f31c3688ad51] has joined #scheme 06:24:49 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 60 (Operation timed out)] 06:27:03 ada2358 [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 06:28:45 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 60 (Operation timed out)] 06:32:27 -!- reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 06:34:55 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 60 (Operation timed out)] 06:37:18 sepult` [n=levgue@xdsl-87-78-170-15.netcologne.de] has joined #scheme 06:38:48 -!- bombshelter13_ [n=bombshel@CPE004005ca19db-CM000f211fd04a.cpe.net.cable.rogers.com] has quit [Connection timed out] 06:38:57 ada2358 [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 06:43:54 -!- TR2N [i=email@89-180-189-41.net.novis.pt] has left #scheme 06:44:10 ada2358_ [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 06:50:57 -!- jeapostrophe [n=jay@80.187.146.110] has quit [] 06:51:53 -!- sepult [n=levgue@xdsl-87-78-27-143.netcologne.de] has quit [Connection timed out] 06:54:50 -!- bombshelter13__ [n=bombshel@CPE0023cdd7a4b1-CM001cea87a35c.cpe.net.cable.rogers.com] has quit ["If only your veins were filled with oil, the world would rush to your rescue!"] 06:56:04 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 110 (Connection timed out)] 06:56:28 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 07:00:43 -!- flippo [n=frivol@unaffiliated/flippo] has quit ["Reality reasserts itself sooner or later."] 07:00:59 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 60 (Operation timed out)] 07:18:34 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 07:25:36 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 07:26:41 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 07:42:11 jeapostrophe [n=jay@dyn-145116032208.guest.tue.nl] has joined #scheme 07:42:16 -!- Lis [n=Lis@p5B207505.dip.t-dialin.net] has quit ["Nettalk6 - www.ntalk.de"] 07:42:51 -!- jeapostrophe [n=jay@dyn-145116032208.guest.tue.nl] has quit [Client Quit] 07:56:03 decker [n=decker@user-0c9h6n8.cable.mindspring.com] has joined #scheme 08:10:20 -!- rdd [n=user@c83-250-145-223.bredband.comhem.se] has quit [Remote closed the connection] 08:14:20 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 08:17:45 -!- rmrfchik_ is now known as rmrfchik 08:36:55 -!- decker [n=decker@user-0c9h6n8.cable.mindspring.com] has quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"] 08:42:00 -!- j0ni_ is now known as j0ni 08:44:11 brandelune [n=suzume@pl807.nas982.takamatsu.nttpc.ne.jp] has joined #scheme 08:59:51 a-s [n=user@nat-240.ro.66.com] has joined #scheme 09:10:48 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 09:11:22 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 09:12:49 -!- reid02 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 09:13:07 reid02 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has joined #scheme 09:17:57 QinGW [n=wangqing@203.86.89.226] has joined #scheme 09:20:24 -!- Axioplase is now known as Axioplase_ 09:28:42 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 09:29:10 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 09:34:09 QinGW [n=wangqing@203.86.89.226] has joined #scheme 09:36:54 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 60 (Operation timed out)] 09:38:56 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 09:43:40 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 145 (Connection timed out)] 09:45:55 -!- dmoerner [n=dmr@91-89.res.pomona.edu] has quit [Remote closed the connection] 09:50:17 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Remote closed the connection] 09:53:06 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 10:02:12 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 10:09:24 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 10:21:48 qebab [i=finnrobi@caracal.stud.ntnu.no] has joined #scheme 10:31:37 bhrgunatha [n=chatzill@118-170-170-57.dynamic.hinet.net] has joined #scheme 10:34:42 -!- bhrgunatha [n=chatzill@118-170-170-57.dynamic.hinet.net] has quit [Client Quit] 10:44:29 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 10:45:07 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 10:50:43 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 60 (Operation timed out)] 10:51:39 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 10:59:30 masm [n=masm@bl5-105-90.dsl.telepac.pt] has joined #scheme 11:15:17 bzzbzz [n=franco@207.236.146.245] has joined #scheme 11:18:31 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 11:19:20 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 11:48:25 mario-goulart [n=user@67.205.85.241] has joined #scheme 11:50:10 saccade__ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 11:51:38 -!- foof [n=user@FLH1Afl135.osk.mesh.ad.jp] has quit [Remote closed the connection] 11:51:48 foof [n=user@125.192.139.135] has joined #scheme 11:58:40 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 12:04:38 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 113 (No route to host)] 12:08:40 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 12:34:42 Edico [n=Edico@unaffiliated/edico] has joined #scheme 12:35:27 a-s` [n=user@nat-240.ro.66.com] has joined #scheme 12:35:39 luz [n=davids@139.82.89.70] has joined #scheme 12:35:58 -!- splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has quit ["Computer has gone to sleep"] 12:37:36 man, i totally fell asleep in front of DrScheme coding Scheme, and it turned out that all my dreams were about... well, what men usually dream about all night. 12:40:36 parens, of course. 12:46:08 :) 12:47:25 Apropos of Scheme in the broader picture, i was just browsing langpop. My inquiry was to find the most popular language(s) that both 1) supported GC and 2) compiled to machine language. Well, color me disappointed!!!! I'm not sure if Delphi supports GC, but if so, it wins. Otherwise, D is either the winner or a close 2nd (2 langs down). Both of these langs are right about in the middle of the long list of langs twixt C at the top and Ocaml at the very b 12:48:59 What gives? Do comp sci/eng folks lack the cahones to write real compilers these days (excepting legacy system languages like C, C++ or Pascal with relatively trivial runtime systems)??? 12:49:08 sjamaan: ;-) 12:49:47 -!- a-s [n=user@nat-240.ro.66.com] has quit [No route to host] 12:49:48 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 12:51:05 The *FUNNY* part of all this to me is that, at the ripe young age of 43, I don't think I've seen a time of greater CPU architecture homogeneity with the pretty much near (near) TOTAL domination of the x86 CPU instruction set. 12:51:29 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 12:51:58 Summermute: my guess is that popularity has little to do with the language. Libraries for real world programming is what matters. 12:52:13 It certainly does not dominate in volume. 12:52:27 One would guess that over the last few decades, *THIS* would be the era in which nearly every language would at least have a primary x86 compiled implementation, perhaps with a bytecode interpreter backup. But THE EXACT OPPOSITE is the case. 12:53:03 Jafet: r u refering to the oodles of embedded chips out there? 12:53:38 Oh god, I'm outta here 12:54:24 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 12:55:13 mario-goulart: I agree, but (I embarrassed to date myself) but in the late 1980's and early 1990's there were whole magazines full of adverts for all kinds of libraries for C, Pascal and C++ (mostly). The luck folk using BSD on Vaxen had their own universe of mostly free C libraries circulating around the very, very early net. 12:55:40 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 12:55:41 Jafet: didn't mean to say anything to offend 12:56:53 Back to Scheme (and CL), one of the nice things is that there are implementations that are nicely compiled right down to machine code. 12:59:22 Summermute: that's right, but only a few seem to care about this. Ruby, for example, is dog slow and has a huge community of users. 12:59:42 (in this case, users == developers) 13:00:00 Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has joined #scheme 13:01:10 I generally don't hold a high opinion of "users" 13:02:03 Jafet: if we are talking about "popularity", we need to take users into consideration... 13:02:04 mario-goulart: yes, which having run a mostly Java mostly Web app development company ~ 1990, this idea that everything is i/o bound and cpu cycles are free on a high volume (just meaning commercial service grade) is more than not bunk. The application performance matters. 13:02:41 Popularity isn't important when choosing between several major languages 13:03:00 if you wan't ultra performance network applications use erlang 13:03:13 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 13:03:14 Well, that's another question. 13:03:45 Jafet: having sat through a couple of "real" focus group/structured walk throughs, it IS trippy what "users" typically think about their computers and the software running on them. It's like their on drugs or something. 13:04:52 But here's how I "like" users: I like users the way a wolf likes the lamb, not the way a brother likes a brother :-) Users pay the bills - users are essentially, 'the food' of the commercial software industry. 13:06:24 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 13:06:27 And the developers are the hors d'oeuvre. 13:07:00 ~ 1990 Erikson had just decides to release Erlang to the public. Prior to that, one might hear about it from time to time in a paper or talk or something. 13:07:52 Jafet: :-) You're not a CPU architect are you? That would put you squarely at the top of the food chain ;-) 13:08:04 :-) 13:08:33 I thought that would be the marketing department 13:09:08 I developped a simple csv read application with the planet csv lib here is the programm: http://scheme.pastebin.com/m658ca1f3 . The data.csv looks like this: http://scheme.pastebin.com/m2a6df537 . How do I transform string double to real number values? How do i substitute single chars within a string? How am I able to parse the whole file at once, so a miltidimensional array is returned with 4,2 in size? 13:09:13 I can fully understand how Erlang would excel at a classical copper wire phone POP, but has its performance been actually benchmarked on Web style applications? 13:09:30 Shootouts 13:09:35 I searched google and found nothing on that topics :( 13:10:01 Could you point me to a site were this is explained? 13:10:02 Jafet: I was lucky. I was the founder and CEO, so the marketing pukes worked for me :-)))) 13:10:09 Pft. 13:12:07 i'm looking for shootout perf data 13:12:23 -!- brandelune [n=suzume@pl807.nas982.takamatsu.nttpc.ne.jp] has quit [] 13:12:48 you help me I help you... 13:13:26 so... here you go http://shootout.alioth.debian.org/ full language comparison between scheme and erlang and haskell and stuff 13:13:26 ok 13:13:57 Nshag [i=user@Mix-Nantes-109-1-72.w193-248.abo.wanadoo.fr] has joined #scheme 13:14:59 When you need to run it across fifty web servers and downtime costs you a month's salary per second, erlang is the obvious choice 13:15:13 The good performance is just a perk. 13:16:29 davazp [n=user@79.153.148.56] has joined #scheme 13:16:47 Ok, personally, on the CSV thing here is my off the cuff pseudo code: open file; read off first header line and discard; read remaining lines that match a regular expression /.+;\d\.\d+,\d/ (pick one's favorite regular expression syntax); then just translate the numbers 13:17:03 Lis: does that start to help? 13:17:25 "Now you have two problems" 13:18:04 Lis: oh, string->number makes life easy 13:18:57 MrFahrenheit [n=RageOfTh@users-55-218.vinet.ba] has joined #scheme 13:19:12 Summermute not really I want to use already coded libs 13:19:29 Summermute since I asked my question I already found something helpfull :D 13:19:36 Then use common lisp 13:19:54 Jafet hm 13:21:38 Jafet: I find that most "front-end" failure was handled by armies of boxen behind load balancers like F5 (those were cool back then; don't know what's in popular use these days) 13:22:14 Erlang facilitates writing "internal catastrophic failure" resistant programs 13:22:23 The F5 boxes weren't cheap, hence the desire to keep each app server not 'dimed', but well used. 13:26:55 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 13:27:27 Actually, Erlang HiPE is compiled and supports GC and fits my original search criteria. 13:29:06 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 131 (Connection reset by peer)] 13:29:22 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 13:30:04 Erlang does show up on the langpop chart toward the bottom, between Objective C and orth (but above Smalltalk, Haskell and OCaml) 13:30:24 sorry: "orth" -> "Forth" 13:30:43 Jafet: Are you working in Erlang? 13:31:17 Not really 13:31:24 o yes really 13:31:49 I don't think its semantics are remarkable 13:32:03 but it's faster than those 13:32:10 Sure, you mean in terms of sheer novelty? 13:32:51 I mean? 13:34:05 It just seems like a nice family features more or less well integrated. Personally, I'd have to grow accustomed to asynch message passing, but it's to be expected 13:34:14 yes in therms if you use erlang for what it was invented 13:34:19 haskell is mor generous 13:35:41 so if you really want to do something haskell is not invented for, and do the same erlang is not invented for booth languages are completely useless your better if you would use scheme or common lisp for such tasks 13:36:27 most people see haskell as a "new scheme alternative for the new computerage" 13:36:29 Today must be lolcat day. I'll be off 13:36:57 Haskell is not a scheme alternative. What an ignorant thing to say. 13:37:18 hey it's not my outing it was a quote :D 13:38:49 I grew up with Pascal, some Smalltalk, a little AWK for practical text frobbing, C followed soon by C++. So I was "inducted" into the school of the general purpose application language. As a youngster, I more or less expected to use C and C++ for the rest of my life. The idea of picking the language-du-jour off the shelf kind of came to me later in the mid to late 1990s with the new popularity of Tcl, Perl and Python, etc. 13:39:20 I always think of Haskell as a type-theory laboratory :-) 13:39:25 this is also very interresting http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf 13:39:38 Summermute it was inveted for such purpose... 13:39:49 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 60 (Operation timed out)] 13:40:23 also take a look at io its looks a bit like haskell 13:40:35 if you want to do matrix and statistic calculation look at the r-project 13:40:36 i've been working through a longish Haskell tutorial here and there just so I can better read papers on type system issues. 13:40:41 -!- p[0]p [n=none@94.230.83.96] has quit [] 13:41:17 well I was really impressed by the thoughts about haskell. It's a awesome language after all 13:41:22 but fileoperation is a pain. 13:42:03 Lis: Rexx - cool. We used to think of it as "IBM's AWK" :-) 13:42:22 rexx is from IBM 13:42:35 i never looked at awk 13:42:49 tcl or rexx are best for general scripting and fileoprations 13:43:11 currently i try to find out the restrictions of booth, tcl and oorexx 13:43:57 Awk rulez - many moons ago I wrote a Sybase -> custom lang -> AWK -> troff -> ps report writer 13:44:23 Lis: The paper isnt too suprising 13:44:30 But interesting 13:45:07 i was suprised about the speed of tcl 13:45:24 Python has reference counting, so I'd think it's working set on looping over string style work would be pretty small 13:45:26 thought i'm frightened to use tcl for calculations... 13:45:58 na i hate languages where you have to write then do end if instead of {}. 13:46:32 Haskell's type system is a pain... 13:46:37 Perl/Python have reasonably tuned regex in their runtime, so that should be more or less competitive with C. 13:46:41 It's semantics are interesting though 13:47:42 I qualify my comments here, because Perl/Python still compile rx to NFA's AFAIK, and a C implementation that compiles to a DFA (think Lex) will totally kick their respectives asses on basic rx style lexing. 13:49:16 Tcl's speed is is totally surprising knowing what little I do of its implementation (strings all the way down with the reasonable required exceptions, more or less, and dynamic variable scoping) 13:50:51 I think it's a cognitive thing, but over time, my love of the characters '(' ')' '{ 13:51:09 '{' and '}' has been lost. 13:53:18 npe [n=npe@195.207.5.2] has joined #scheme 13:53:19 -!- Nshag [i=user@Mix-Nantes-109-1-72.w193-248.abo.wanadoo.fr] has quit [Read error: 104 (Connection reset by peer)] 13:53:52 I've been working pretty hard on a language (now be polite, don't laugh), and i use [] for lists with :: as an infix cons operator (like Haskell/ML/and some others) and { } as *record constructors* for structurally typed records (and that means tuples too, which are just records with automatic numeric names). 13:54:43 So one can write person = { name: "Scott", age: 43, children: ["Allen"] } 13:55:45 :- person: { name:String, age:Int, children:List String } -- This is the REPL's return of the type of the result 13:59:07 Records are typed, but structurally (just based on their names and the types of the named fields). There are operations on records: concatenate, remove fields, add fields, remove/add field (they are functional, so no update). Together with structural subtyping on functions (Scala's style of "duck typing") one can do alot of interesting things conveniently and safely, which is one of the "design goals" of the language: ease + safety. 14:01:55 most people use this sort of syntax. Heavy influenced by ecma script thought (which is by the way the best scripting language I have ever seen if it comes to simplicity) 14:03:40 ecmascript looks like an untyped C pretty much, yes? 14:05:04 When i read that ecmascript was going to support an optional typing notation, i was kind of stoked - but then I read of various corporate wars about who would be implementing precisely what version or subset of ecmascript (so retarded). 14:08:53 If there were a compiled implementation of a full, standards compliant ecmascript with a type checker that took advantage of optional type notations and a compiler that did the same, that would be a language i'd take a serious look at. But I don't think 'tis meant to be. And as far as a lang for embedding in Web browsers, well, it's just not something I do - so a nifty interpreted semi-proprietary version stuck inside a browser is of no interest to me. 14:09:44 No one would use that implementation 14:09:47 It's too standard! 14:10:03 true 14:10:06 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 14:10:08 like lua 14:10:33 Given the JavaScript junkies I know (browser types, adobe clan, etc.) I totally agree. 14:10:58 Lua looks like a language worth learning, if not worth using :-) 14:11:33 Wrong way round 14:12:59 I've studied it a bit for its simplicity of design, but I'm just not the sort to use languages the core at which are dynamic hash tables :-) 14:14:56 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 14:16:29 Back to Scheme, I find it the most 'dynamic' language (along with Common Lisp, BTW) where I still feel comfortable writing complex data structures like skip lists or rb trees (or whatever, just rambling) and that it will be 'worth it' in terms of performance when using the code. That's strangely put, but i've had too much coffee at this point. 14:19:58 xwl [n=user@123.115.124.208] has joined #scheme 14:20:27 In other words, i feel like most of "the performance" of langs like perl, python, tcl, lua, ruby, etc. is in the runtime primitives. Scheme and Lisp folks (oh, and small talkers too) - FOR THE MOST PART - seem to really care about performance of their entire systems - hence the oodles of papers on lisp/scheme compilation, garbage collection papers by the scheme/lisp crowd, fixnum arithmetic and on and on and on. 14:32:48 lua is for implementation, like haskell is for research 14:33:22 lua is to generic in it's core and lacks good support for language extensions 14:33:34 see the "opject orientation" for example 14:33:37 c can do the same 14:33:48 Isn't Lua mostly popular for game extension languages, or is that an artifact of its past? 14:34:04 in fact it is 14:34:18 but I would prefer tcl over lua 14:34:19 Is still, or is only it's past? 14:34:29 Tcl used to be HUGE 14:34:54 no it's still the main usage, not only for games but for almost all applications who wan't script capabilities 14:35:19 i never understood why they prefered it over ecma thought 14:35:20 It was best known for writing easy guis on unix systems with Tk, but i recall reading some system at HP or Intel where there they wrote literally millions of lines of test cases in Tcl!!!!! 14:35:56 in fact thats the core thought of tcl 14:36:07 you can either check your code with the main language or tcl 14:36:21 Oh yeah, Tcl had Expect for testing interactive console programs. 14:36:26 what means you could write your test cases in c++ or pure tcl 14:36:56 Back when the programming world was much smaller, i remember o'reilly sent me a copy of tcl/expect book for review :-) 14:37:44 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 14:38:12 Maybe LUA has 1) ease of integration and 2) the right code/memory footprint to make it popular for embedding. I've seen more than one scripting language "embedding API" that I would find a horror to use in practice. 14:39:30 depends on what you want to do. If you wan't to move objects ingame, or give them a "ability" I would prefer ecma over everything 14:39:41 not only becouse it's all previously bound to dom 14:39:50 Re: tcl/expect - back then, testing was a "department" not a "framework" like it is today. At some point, the whole 'unit testing' craze seemed to emerge out of the early publications (including a book or two) on "extreme programming" 14:40:24 hm 14:41:14 A big part of Adobe Lightroom is, incidentally, written in Lua. 14:41:24 no really, all the early shops i worked. programmers designed systems and wrote code, and then a whole different group of programmers and other folks did all the testing and wrote reports and sent them back to the programmers. 14:41:30 I don't see any scripting capabilities there, though. 14:41:37 It was kind of of liberating, actually. 14:42:13 antoszka: Oh, yeah, i recall there's a paper on that. 14:42:37 Mhm. 14:43:50 antoszka: I imagine that again, it's probably got a very nice FFI/integration API, and some dudes at Adobe though, hey, let's write the core graphics in C and the rest in some scripting language. Why not? It works well, to the say the least, for Emacs :-) 14:44:58 when I first saw scheme i thought something like "dude WTH look at the tons of parantese who will understand this" in fact i'm suprised how clear and structured the code looks for my simple csv parsing programm 14:45:00 Having looked at Lua's basic syntax, etc. I'm pretty sure there's nothing in it inherently good for writing a Lightroom style application. 14:45:25 Right. Still, it would be nice, if there were easily accessible and documented scripting possibilites via Lua there. 14:45:47 And I'd prefer Tcl or some Scheme, anyway. 14:47:16 antoszka: we'll that's certainly true, but adding that level of complexity (scriptability) adds an order of magnitude to the application complexity (not a scientific assessment), makes the docucumentation many times larger, etc. Given what light room does and who it's for, it might no be economically a big plus. 14:47:55 No, definitely not from the support PoV. 14:49:01 Though I suppose adding an option "custom Lua script" in the batch processing window, would need to expose too much. 14:49:19 i'm an amateur photographer and i use this really fancy image database program to organize thousands and thousands of images, revisions, resolutions for printing, color vs. black and white prints sometimes, etc. - it has scriptability, beause it's really just an image (BLOB) centric database, and i've barely scratched the surface of the scripting, although i'm sure there are power users out there. 14:50:28 Ah. 14:52:00 http://forums.adobe.com/thread/359720 14:52:41 -!- xwl [n=user@123.115.124.208] has quit [Remote closed the connection] 14:52:52 xwl [n=user@123.115.124.208] has joined #scheme 14:53:08 Lis: i remember saving up money for a 16 shade grey scale monitor :-) My point is that everyone has at least 265, and nearly always 16 bit color or better. So everyone uses nicely color coded source code with nice fonts too and auto indentation and auto comment formatting and auto paren-matching, and what not. So really, finally in the 21st century, it's pretty much as easy to read Scheme code as funky, system oriented crufty C code :-) 14:53:17 or use openoffice and a database antoszka 14:54:37 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit ["Leaving..."] 14:55:16 antoszka: That's hilarious! So there was a scripting backdoor they only seemed to expose to their user because of some SQL db integration patch. Life is stranger than fiction :-) 14:55:28 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 14:55:41 Summermute I don't know that much about scheme but I could bet that it's depending on who wrote the code on the first hand. You can code better looking c or better looking scheme compared to each other 14:57:12 Summermute: I suspected they must have had something like that for their in-house use at least. And probably not publicized for the reasons we spoke of above. 14:57:30 When I said "crufty," go grab one of the core files or headers for the linux kernel or something like that - one will see that "C" as i presume it was mostly used in when it was designed (Unix kernet, hardcore system utilities), looks nothing like the "pretty C" that probably you and I both write. 14:57:31 Summermute: Which is actually kinda confirmed in the second post of the thread. 14:58:15 antoszka: exactly. Support cat is out of the bag now :-) 15:00:08 Ha ha, just saw your second post. No support. Too much. But can you imagine a gadzillion "power shot" users asking questions about Lua scripting while they totally lose or ruin all their family photos of their kids :-) Software company hell on earth! 15:02:33 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 15:03:09 Scheme question: if we put ALL PEDAGOGY ASIDE, why is there no basic pre-processor for Scheme? 15:03:15 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Remote closed the connection] 15:04:26 Summermute: gcc -E is a great pre-processor for Scheme. 15:04:33 I'm writing an app targeting Windoze/Mac/Linux and there are parts that are system specific, "shelling out" to system specific utilities and probably a few other platform specific parts. 15:04:36 but personally I use cat 15:04:55 Fare: as in "catenate" ? 15:05:29 Summermute, scheme can use conditionals at either runtime or macroexpansiontime to do system-specific discriminations 15:05:40 I presume gcc -E runs the C preprocessor? 15:05:44 the pre-processor is called the macro-expansion phase 15:05:46 bingo 15:06:30 Great idea: #define et. al. seems more appealing right now to becoming an M4 expert :-) 15:07:12 -!- rstandy [n=rastandy@net-93-144-41-152.t2.dsl.vodafone.it] has quit [Read error: 145 (Connection timed out)] 15:08:03 Fare: gcc -E aside, might I have some make file that symlinks a file of system specific definitions which is then (required) and get the job done that way? Load is runtime, not macroexpand time, right? 15:08:26 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 15:08:56 the two times may be interleaved 15:09:16 the loaded code will be macroexpanded 15:09:25 what you load can be result of computations 15:09:33 ... does that mean good old (load "mac.ss") might execute at macro expand time? 15:09:39 first -- which Scheme do you use? 15:10:02 I'm using PLT / mzscheme 15:10:07 no, it won't, but can itself be the result of a macroexpansion 15:10:35 people in the last few months have asked this very question on the mailing-list and were provided answers. 15:10:56 but yes, you could also have a makefile do symlinks if you want 15:11:30 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 15:11:53 Ok, i'm pretty sure that a macro generated load would do the trick, so long as something triggered of the system specific macroexpansion to begin with. 15:12:43 sure -- the answer to the request were about doing the expansion at the right time to be taken into account by the module system. 15:12:56 Yeah, I was only thinking of the symlink to substitute for something much simpler like -define="MACOS" or an environment variable that would trigger sys specific expansion. 15:13:17 you can do it with macroexpansion -- search the archive 15:13:53 Yes, I've quickly become a require fellow vs. a load oriented fellow ;-) i will check the archives. 15:15:01 (and post the url here for irc archive posterity) 15:16:05 I see a thread "conditional module inclusion and compilation" form September 2009 15:16:10 from 15:16:48 rtra [n=rtra@unaffiliated/rtra] has joined #scheme 15:17:20 -!- foof [n=user@125.192.139.135] has quit [Remote closed the connection] 15:17:26 foof [n=user@FLH1Afl135.osk.mesh.ad.jp] has joined #scheme 15:17:35 Summermute: You don't need to become an m4 expert, and you don't need to use CPP. 15:17:40 wingo [n=wingo@112.Red-81-39-161.dynamicIP.rima-tde.net] has joined #scheme 15:17:56 In case you missed what Fare said: macros *are* the "preprocessor" in Scheme, 15:18:15 eli! how are you? 15:18:24 specifically, you can do with macros everything that you can do with CPP, and more. 15:18:29 Fare: sick... 15:19:35 here's Matthias's teaser so far on the PLT archive: "If the extra call costs too much, I'd write a macro that unfolds in 15:19:35 one way on a mac and in a different way on a linux box. 15:19:35 -- Matthias 15:19:35 " 15:20:29 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 15:20:36 if you're not going to use macros, you may as well go write code in python 15:21:04 is that the punishment, eh. 15:21:13 Actually, there is one thing to be careful with: 15:21:33 with macros that depend on the system type for expansion, you get .zo files that are OS-dependent. 15:21:49 So, at least in the PLT tree, we're trying to avoid them as much as possible. 15:21:59 (There is exactly one of these things now, IIRC.) 15:22:16 eli: system-type could be a macro that expands into code that flags the current object as non-portable before returning its string/symbol/foo 15:22:46 eli: I note in the archives that you are asking the good hard questions. What conditional (system specific module requires, etc.) did you come up with (not that the archives don't make fascinating reading) 15:23:03 if non-portable objects cause you headache -- way to go 15:23:16 mabes [n=mabes@66.236.74.194] has joined #scheme 15:23:27 Fare: good idea -- you mean that just using `system-type' will flag the zo as one that should only run for systems with that system type. 15:23:35 yes 15:23:53 well, actually referencing the "variable" will 15:23:54 Fare: But scheme being scheme, you have many more ways to get a non-portable macro expansion. 15:24:00 de-referencing 15:24:08 not including it in a function 15:24:16 Fare: Just my 2 cents, my make file would ultimately packge up a series of system specific installers, so unportable .zo files would be irrelevant 15:24:18 A macro can read system files. 15:24:28 eli: read should flag, too 15:24:33 any I/O should flag. 15:24:52 Summermute: I don't remember what you're talking about, reference? 15:25:29 Fare: And `random', and any use of threads, and network, etc. 15:25:35 yup. 15:25:35 eli: i was reading the archives on "conditional module inclusion and compilation" 15:26:07 and when flagging, you'd actually log (a digest of) the input into the .zo 15:26:20 or something. 15:26:30 Need to write Win/Mac/Linux versions of a system. Different shellouts to different utilities with different flags, etc, etc, etc,. 15:26:34 rstandy [n=rastandy@93.144.98.96] has joined #scheme 15:26:46 Fare: FWIW, all the components are there -- you can write such a language now. 15:27:03 eli: the main missing component is "copious free time" 15:27:15 ThereYouGo. 15:27:45 do you have slaves? I mean, students? 15:27:50 Summermute: The best way (IMO) to do this is to write the three files, then -- at runtime -- choose one of them using dynamic require. 15:28:01 Fare: From time to time. 15:28:10 eli: So did you write macros that read the file system and then expanded appropriately to each system depending on the contents of the files? 15:28:20 Whoop, jumped the gun on that msg. 15:28:58 oh wait - at runtime? not at macroexpand time? 15:29:21 Summermute: Yes. 15:29:29 (define-syntax defautoload (syntax-rules () [(defautoload id libspec) (define (id . args) (set! id (dynamic-require 'libspec 'id)) (apply id args))])) 15:30:26 What if I want,say, (require carbon) for MacOS and (require GTK2) for Linux ? Seems like an odd runtime thing to do just on the face of it. 15:31:20 Particularly if there's lots of FFI code that's just going to fail miserably on the wrong platform. 15:31:36 Summermute: you can use that as (defautoload foo (if (eq? 'unix (system-type)) "unix.ss" ...)) 15:32:08 copumpkin [n=pumpkin@dhcp-212-251.cs.dartmouth.edu] has joined #scheme 15:32:10 Let me see of I an grok that.... 15:32:44 Summermute: BTW, are you playing with your own gui? 15:34:11 Actuall, no. It's just the easiest platform specific example to come up with :-) 15:34:42 -!- eli [n=eli@winooski.ccs.neu.edu] has left #scheme 15:34:46 eli [n=eli@winooski.ccs.neu.edu] has joined #scheme 15:35:03 ok 15:36:07 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:36:08 Summermute: The basic idea is that it's in general healthier to delay the platform-specific question to the runtime. 15:36:23 lolcow [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 15:37:00 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 15:37:10 -!- lolcow is now known as leppie 15:37:22 -!- sstrickl [n=sstrickl@pool-129-44-182-54.bos.east.verizon.net] has quit [] 15:44:23 Um ok, without be obstreporous, I'll challenge that assessment of "healthier," for now, sighting literally decades of writing very intricate, portable system software in C using a pre-compilation preprocessor. Whence the "healthier" assessment for these cases? 15:46:22 In general, C is weak enough that getting portability is impossible, so the argument doesn't apply. 15:46:35 -!- a-s` [n=user@nat-240.ro.66.com] has quit [Remote closed the connection] 15:46:40 (This begins with the fact that C does not compile to platform-independent object code.) 15:48:42 That's merely a matter of implementation 15:48:49 Again, not to be arbitrarily argumentative, but i've seen portable garbage collection code that works with both big and little endian systems written in C using the preprocessor - plenty portable-powerful in my estimation. So i don't understand what 'weak enough' means in this case? 15:48:55 The fun part is the undefined behaviour 15:50:29 Jafet: no first, for the sake of argument, in this case I *HATE* byte code and jit's. I *want* native object code. I just want to untar a bunch of stuff and run make on each system, ala "classic" Unix/C portability. 15:50:44 JIT gives you native code. 15:51:28 You just want to do that, why? Sounds arbitrarily argumentative. 15:51:37 So do that and be happy. 15:51:42 Not the point. I want classic native code executable output for more than one reason that you can probably imagine that not appropriate to argue at this point in time. Can we just use this requirement as a premise for now? 15:52:18 Then tar your program with a scheme runner 15:52:28 Native code. 15:53:02 So now my question is - how do i get platform specific stuff into three compilations of one scheme "system" or 'code base', using PLT scheme in particular. 15:53:48 And leave the stuff that DOESN'T apply to each platform OUT. 15:54:10 ... of each compilation, that is. 15:54:47 Hum... where are PLT's bitwise operations? 15:55:36 (bitwise-ior 1 2) 15:55:43 3 15:56:17 eli: C can compile to platform-independent object code. See ANDF. 15:56:29 of course, no one uses this crap 15:56:43 > (bitwise-and 1 3) 15:56:43 1 15:56:43 > (bitwise-and 1 2) 15:56:43 0 15:56:43 > 15:56:46 beside, the processor war has been won. 15:57:01 Whoops - sorry, that's the bitwise stuff, should have formatted better. 15:57:54 Summermute, you can compile three times... 15:57:57 Fare: What ever happened to ANDF? That effort has been around for what, at least 15+ years. Is it activie, implemented, etc? 15:58:22 nobody wants to deploy with that. implemented, not active. 15:58:27 #!tcc -run 15:58:38 what's the point of ANDF really? 15:59:23 With the JVM and CLR quality, if you could just turn of GC and run malloc instead, it would probably work as well as/better than whatever ANDF turned out to be - just speculating. 15:59:34 for anything that's going to be deployed on a vast number of heterogeneous platforms, compiler time and packager time is cheaper than runtime. 16:00:13 Fare: You said it very, very nicely. 16:01:05 So why is it so hard/such a mystery to compile/package Scheme programs for platform specific runtime ????? 16:01:25 -!- ASau [n=user@83.69.227.32] has quit [Read error: 131 (Connection reset by peer)] 16:01:36 -!- wingo [n=wingo@112.Red-81-39-161.dynamicIP.rima-tde.net] has left #scheme 16:02:31 -!- saccade__ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 16:06:18 eli: I put in an 'else' "default" case into your macro. Looking at the macroexpander, i see: (set! foo (dynamic-require '(if (eq? 'unix (system-type)) "unix.ss" "default.ss") 'foo)) MY QUESTION: What is the trailing 'foo doing? 16:06:40 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 16:06:49 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 16:06:53 What the... why didn't I find bitwise-and function when I searched the documentation by "bitwise-and"? Oh well... 16:08:25 -!- ineiros [n=itniemin@james.ics.hut.fi] has quit [calvino.freenode.net irc.freenode.net] 16:08:25 -!- dlouhy [n=jdlouhy@zerowing.ccs.neu.edu] has quit [calvino.freenode.net irc.freenode.net] 16:08:25 -!- chandler [n=n@opendarwin/developer/chandler] has quit [calvino.freenode.net irc.freenode.net] 16:08:26 dlouhy_ [n=jdlouhy@zerowing.ccs.neu.edu] has joined #scheme 16:08:27 chandler [n=n@new.unmutual.info] has joined #scheme 16:08:31 I searcherd bit or with separte terms. Other than that, I have found that the PLT browser search seems to crap out very rarely, requiring a "refresh" from either DrScheme or Quack. 16:08:35 ineiros [n=itniemin@james.ics.hut.fi] has joined #scheme 16:08:36 -!- zbigniew [n=zb@3e8.org] has quit [calvino.freenode.net irc.freenode.net] 16:08:47 zbigniew [n=zb@3e8.org] has joined #scheme 16:08:49 -!- joast [n=rick@76.178.178.72] has quit [calvino.freenode.net irc.freenode.net] 16:08:49 -!- snorble [n=none@s83-179-14-105.cust.tele2.se] has quit [calvino.freenode.net irc.freenode.net] 16:08:49 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [calvino.freenode.net irc.freenode.net] 16:08:49 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [calvino.freenode.net irc.freenode.net] 16:08:49 -!- tltstc [n=tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [calvino.freenode.net irc.freenode.net] 16:08:49 -!- Pepe_ [n=ppjet@ram94-7-82-232-191-53.fbx.proxad.net] has quit [calvino.freenode.net irc.freenode.net] 16:08:51 Pepe_ [n=ppjet@ram94-7-82-232-191-53.fbx.proxad.net] has joined #scheme 16:08:58 sjamaan [n=sjamaan@frohike.xs4all.nl] has joined #scheme 16:08:59 -!- chandler is now known as Guest94886 16:08:59 -!- twopoint718 [n=chris@76.210.76.232] has quit [calvino.freenode.net irc.freenode.net] 16:08:59 optimizer [n=x@redemption.Stanford.EDU] has joined #scheme 16:09:08 -!- michaelw [i=michaelw@lambda.foldr.org] has quit [calvino.freenode.net irc.freenode.net] 16:09:08 -!- ecraven [n=nex@octonex.swe.uni-linz.ac.at] has quit [calvino.freenode.net irc.freenode.net] 16:09:08 -!- mbishop [n=mbishop@geeks.im] has quit [calvino.freenode.net irc.freenode.net] 16:09:09 tltstc [n=tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #scheme 16:09:10 mbishop [n=mbishop@geeks.im] has joined #scheme 16:09:12 michaelw [i=michaelw@lambda.foldr.org] has joined #scheme 16:09:45 twopoint718 [n=chris@76.210.76.232] has joined #scheme 16:10:00 joast [n=rick@76.178.178.72] has joined #scheme 16:11:42 snorble [n=none@s83-179-14-105.cust.tele2.se] has joined #scheme 16:14:55 Typed-scheme questions: Any progress on [a] (foo a #(1) #()) with empty vector not recognized as (Vectorof Integer) and [b] the trickier issue of correctly handling passing polymorphic functions to higher order polymorphic funtions - I believe the offending example what (map list->vector '((1) (2 3))): (Listof (Vectorof Integer)) -- That last one is a big IIRC 16:14:57 -!- Guest94886 is now known as chandler 16:17:17 schmir [n=schmir@79.219.239.16] has joined #scheme 16:24:46 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 16:30:47 -!- npe [n=npe@195.207.5.2] has quit [] 16:31:18 -!- xwl [n=user@123.115.124.208] has quit [Remote closed the connection] 16:32:37 xwl [n=user@123.115.124.208] has joined #scheme 16:37:04 Expect is like the only reason to use TCL 16:37:21 *Adamant* ducks flaming rocks thrown by Lis :P 16:37:30 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 16:38:11 Expect is an insufficiently convincing argument for the continued existence of Tcl. 16:40:32 -!- schmir [n=schmir@79.219.239.16] has quit [Read error: 148 (No route to host)] 16:43:42 Summermute: x86-64 has basically won for desktop/server, even if things like Power are nice. For embedded ARM and MIPS are still the favorites, but Atom is the leading end of a wedge to get x86 into the embedded market for mid to high end ARM's and such 16:53:17 use poplog and be happy :D 16:53:24 rudybot__, eval (apply - '(1 2 3)) 16:53:24 Edico: ; Value: -4 16:53:46 http://en.wikipedia.org/wiki/POP-11 16:53:53 zeroish [n=zeroish@135.207.174.50] has joined #scheme 17:01:52 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 17:06:28 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 17:09:11 -!- Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has quit [Client Quit] 17:31:09 TR2N [i=email@89-180-230-66.net.novis.pt] has joined #scheme 17:32:23 Adamant: Yes, I think we are in agreement. x86 now reigns supreme, with a few stragglers left (compared to the real CPU wars of the 80s and 90s). It's nice to see MIPS find a niche market and survive, if only because it's historically important role in the development of the RISC design philosophy and evem more so because tons of folks learned about CPU's from Patterson and Hennesy's textbook! Sometimes I qualify my statements just not to unecessarily t 17:36:16 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 17:37:51 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:40:15 -!- rtra [n=rtra@unaffiliated/rtra] has quit ["leaving"] 17:41:23 Summermute: the final sentence got cut out: "Sometimes I qualify my statements just not to unecessarily t..." 17:44:18 wingo [n=wingo@112.Red-81-39-161.dynamicIP.rima-tde.net] has joined #scheme 17:52:23 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 17:56:28 x86-64 at least isn't as register starved as x86, which fixes the biggest problem with it 17:57:06 Hennessy and Patterson books are still great 17:57:38 Itanium was almost as great a trojan horse as the Trojan Horse of Greece :P 17:58:24 one arch that has never panned out to being very useful at all destroyed traditional RISC competition in the x86 market 18:05:42 lolcow [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 18:09:05 samth [n=samth@72-254-60-67.client.stsn.net] has joined #scheme 18:10:44 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 18:12:17 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 54 (Connection reset by peer)] 18:13:16 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 60 (Operation timed out)] 18:25:33 -!- samth [n=samth@72-254-60-67.client.stsn.net] has quit ["Ex-Chat"] 18:25:47 samth [n=samth@72-254-60-67.client.stsn.net] has joined #scheme 18:29:10 Regarding conditional compilation, I was asked to read the archives and provide the URL of the solution for the IRC archive and posterity. The url is: http://weblambda.blogspot.com/2009/09/conditional-module-inclusion-and.html This planet library COMPLETELY ROCKS for just about any condition compilation need, including conditional module import, which was my initial inquiry. Definitely check this out - it's a very powerful tool in the PLT arsenal for wr 18:29:12 -rudybot__:#scheme- http://tinyurl.com/yg6g5go 18:35:23 mrsolo [n=mrsolo@nat/yahoo/x-cumnjvqovsdqyulm] has joined #scheme 18:35:26 Summermute: If used with great caution of course. You want as little non-portable code as possible. 18:35:43 Otherwise, neat! Could help with porting stuff. 18:38:47 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:39:02 -!- samth [n=samth@72-254-60-67.client.stsn.net] has quit ["Ex-Chat"] 18:42:48 samth [n=samth@72-254-60-67.client.stsn.net] has joined #scheme 18:43:11 Edico_ [n=Edico@unaffiliated/edico] has joined #scheme 18:43:12 sepult`` [n=levgue@xdsl-87-78-25-38.netcologne.de] has joined #scheme 18:43:37 -!- sepult` [n=levgue@xdsl-87-78-170-15.netcologne.de] has quit [Read error: 60 (Operation timed out)] 18:46:12 -!- Edico [n=Edico@unaffiliated/edico] has quit [Read error: 60 (Operation timed out)] 18:47:30 -!- borism [n=boris@195-50-199-44-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 18:50:28 Sure. I mean, the minus (1) FFI and (2) spawning processes, the opportunities for writing non-portable code in mzscheme are pretty darned limited as far as I can fathom. And of course, if one really need to do (1) or (2) above in a program targeting multiple platforms, well that's exaction when one *needs* (more or less) to write non-portable code. So I'm not too intimidated by the dangers. After all, I used to sling a crap load of very platform sensitiv 18:54:09 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 18:54:57 -!- lolcow [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 19:00:27 jewel [n=jewel@dsl-242-189-70.telkomadsl.co.za] has joined #scheme 19:00:56 -!- Edico_ is now known as Edico 19:06:55 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 19:07:11 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 19:10:54 http://lists.qi-hardware.com/pipermail/developer/2009-November/000940.html 19:10:56 neat :) 19:11:24 -!- mabes [n=mabes@66.236.74.194] has quit [Remote closed the connection] 19:14:06 Summermute, if you publish your code online, maybe even on PLaneT, that'd be nice 19:15:17 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [] 19:16:28 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 19:20:06 wingo, urk. I hope Guile doesn't encourage the use of the now ten-years-deprecated gethostbyname and its associated protocol-dependent design mistakes. 19:20:12 RageOfThou [n=RageOfTh@users-33-63.vinet.ba] has joined #scheme 19:20:48 Riastradh: there are wrappers for all of those functions iirc -- old and new. 19:20:53 back compatibility is important. 19:21:16 but i knew you'd find a nit to pick :P 19:23:57 TR2N: "Sometimes I qualify my statements just not to unecessarily tick of someone here on IRC" 19:25:58 wingo, hmm, I looked in the manual at , but didn't see any way to resolve a hostname, or connect or bind to the address associated with a hostname, except by going through gethostbyname. 19:27:06 Riastradh: indeed, we do seem to be lacking those! 19:27:26 (as usual, you are right again :) 19:27:38 getaddrinfo &c. 19:28:43 Adamant: Right on with the registers. I still haven't sought out/devised my own scheme for using the larger register set for a "lisp like" runtime system. I imagine a freelist pointer, 0 and Nil might be good candidates, but it's hard to say in advance. Just as likely is info related to the calling convention for my language - num args, desired num return values, bit mask representing keyword arg presence, etc. Then again, there are gc and thread change " 19:28:57 only problem with gethostbyname is it takes a char string as an argument, not an abstract name object. 19:29:18 That is not the only problem with gethostbyname, synx. 19:29:26 and it blocks, and doesn't allow ipv6 addrs, ... 19:29:42 it is terrible api. 19:29:47 Summermute: you need to figure out what's cutting you off 19:29:54 for the degenerate case where you only need one host for one name, it looks fine to me. 19:30:00 The IRC protocol is cutting him off, Adamant. 19:30:04 Fare: to what code are you refering? I'm building a compiler for a pretty big language :-) 19:30:13 synx, yes, the degenerate case, which programs generally don't encounter, and shouldn't be designed for. 19:30:26 Summermute, will that be available online? 19:30:42 Riastradh: is he hitting a message length limit? 19:31:08 you can't get ipv6 addresses in a hostent structure? huh, thought you could... 19:31:30 and yeah the blocking aspect is ridiculous, especially since it must use a socket under the table to communicate. 19:31:37 There is an unpredictable message length limit, Adamant. 19:32:03 Riastradh: Why would you need all the possible names of a given address, if you were just trying to connect to it? 19:32:09 weird. I need to study the IRC protocol at some point. 19:32:24 Sorry, I'm just too verbose. Here's the last sentence: "Then again, there are gc and thread change "safe points" to manage. i want to put memory allocation in my type system, so to avoid certain runtime checks when possible - man i can't have enough registers!!!! :-)" 19:32:43 synx, what happens if the first attempt to connect to it fails? 19:33:07 I am pretty sure every IRC server (network) can set their maximum message length limit. Some clients split up too long messages, but can't know exactly where. 19:33:32 No, synx, there is an *unpredictable* message length limit by the design of the IRC protocol. 19:34:05 Riastradh: That would be a possible use for multiple addresses, but the other names are just as useless. Plus DNS round robin returns a different address every time when using gethostbyname. 19:34:30 Well right Riastradh, but the IRC server is what arbitrarily decides what that length will be, and doesn't communicate this to clients. 19:34:32 Summermute, could you please implement generalized PCLSRing instead of "just" GC safe-points? 19:34:48 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 19:34:57 that would be the Right Thing ;) 19:34:58 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 19:35:35 (especially if you have threads) 19:35:54 synx, returning a different address every time (by which I presume you mean `returning a list of possibly different addresses in a different order') is no good if you report failure to the user as soon as the attempt to connect to the first address you get fails. 19:36:04 A non-blocking function to try receiving addresses in various formats for a given name would be nice. I'm not so happy with getaddrinfo though. It just tries to do too much. 19:36:40 Fare: Definitely as it comes together. If I can get it all put together, i think it will be of some interest feature wise: generics, mix of variants and class types, user defined operators, shell language like preprocessor, mostly structural type system, pattern matching, "syntax modules" with built in lex/yacc in lieu of lisp-style macros, syntax checked SQL integration (as example of syntax modules), etc. 19:36:44 Riastradh: presumably the user will try to connect again a few times. Taking that decision out of their hands is a bad idea I'd say. 19:36:58 It is a pain that getaddrinfo blocks. But in that respect it is no worse than gethostbyname, and in every other respect it is better. 19:37:05 -!- MrFahrenheit [n=RageOfTh@users-55-218.vinet.ba] has quit [No route to host] 19:37:31 Nobody should ever write any new code that uses gethostbyname. getaddrinfo is easier to use, has been around for over ten years, and behaves better, or at least no worse, in every way. 19:37:54 I use getaddrinfo instead of gethostbyname, but only grumblingly, with reservations. It forces you to make a lot of assumptions about the underlying data structures. 19:39:22 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 19:39:33 Oh - no raw threads, but instead syntax directed idiomatic conconcurrency oriented control constructs - think async messaging, data flow pipelines, full blown coroutines, maybe a parallel lambda (for certain kinds of jobs, not sure). Etc. 19:42:46 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 19:43:32 -!- dysinger [n=dysinger@cpe-75-85-135-191.hawaii.res.rr.com] has quit [] 19:43:50 dysinger [n=dysinger@cpe-75-85-135-191.hawaii.res.rr.com] has joined #scheme 19:44:07 -!- dysinger [n=dysinger@cpe-75-85-135-191.hawaii.res.rr.com] has quit [Client Quit] 19:46:52 The "central" principle is to integrate control flow syntax with user defined data types. The stupid example from many current languages is for x in fubar do print(x). Lots of language allow for user definition of fubar's type as producing an iterator for repeatedly binding the x variable. Well, I'm working on a language where this syntax + user data structure based extension is totally on steroids to make a fully compiled, type safe language "convenient 19:46:57 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 19:47:24 Oh, and where the programmer has a rough idea of the relative costs of using various features (ala one of STL's original design principles) 19:51:43 Back to Scheme :-) I'm using PLT's typed scheme, and while it can define variant data types, the syntax for doing so is essentially none. Writing a macro supporting more "ML/Haskell" style syntax to define algebraic data types is my first real venture into serious Scheme macrology. Where should I start to really learn Scheme macros, given that I'll likely need to go beyond the basics to get the job done? 19:53:01 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 19:53:15 tspl v4, perhaps? 19:53:38 whoops, I'm missing that 4 letter acronym. 19:54:52 "the scheme programming language", fourth edition 19:55:05 Ah, thanks. 19:55:11 http://www.scheme.com/tspl4/ 19:55:31 chapter 8. 19:55:39 Any good focused papers out there on citeseer? 19:55:51 Just a resource I tend to hit alot. 19:56:45 found tspl4 ch. 8 - look very good so far. Thanks. 19:59:38 Riastradh: Quick q on x86-64. What are the rules on targeting a 64 bit program running on 32 bit version of the three dominant OS's - mac, windoze, linux? I think all is kosher on windoze, but i'm not really sure about the big picture here. 20:06:00 Summermute: most 64 bit operating systems (and processors) have a 32 bit emulator. The inverse is obviously not true. 20:07:45 synx: What about going the other way. Compiling a 64 bit binary that makes 32 bit system calls on 32 bit OS's ? 20:10:00 I guess there could be 64 bit emulators on 32 bit systems, but I've never heard of one being particularly high performance. 20:10:06 -!- samth [n=samth@72-254-60-67.client.stsn.net] has quit [Read error: 110 (Connection timed out)] 20:10:33 -!- bzzbzz [n=franco@207.236.146.245] has quit ["leaving"] 20:14:52 -!- reid02 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has quit [Connection timed out] 20:16:10 dysinger [n=dysinger@166.187.60.251] has joined #scheme 20:16:11 decker [n=decker@user-0c9h6n8.cable.mindspring.com] has joined #scheme 20:17:39 -!- Leonidas1 is now known as Leonidas 20:19:21 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 20:19:49 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 20:22:04 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 145 (Connection timed out)] 20:23:25 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [] 20:24:12 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 20:25:15 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit ["Leaving..."] 20:25:15 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 20:26:20 Summermute: http://pl.barzilay.org/ 20:26:45 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [Read error: 104 (Connection reset by peer)] 20:27:14 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 20:29:48 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 20:29:55 are you a phd, sir barzilay? 20:33:43 wingo: No. 20:33:54 My phd days are over. 20:33:57 Are you a knight, Dr Barzilay? 20:34:12 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 20:35:56 Only of a certain order with a greek lower-case symbol as its logo. 20:36:48 :) 20:39:41 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 20:39:42 *wingo* accidentally cut the bejesus out of my hand today. makes emacs challenging :P 20:46:51 reid05 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has joined #scheme 20:47:38 -!- davazp [n=user@79.153.148.56] has quit [Read error: 131 (Connection reset by peer)] 20:56:57 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 21:04:56 bgs100 [n=ian@unaffiliated/bgs100] has joined #scheme 21:06:45 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 21:07:48 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 21:10:45 -!- jewel [n=jewel@dsl-242-189-70.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 21:10:57 dabr [n=damian@122-42.3-85.cust.bluewin.ch] has joined #scheme 21:12:25 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 21:15:24 -!- dabr [n=damian@122-42.3-85.cust.bluewin.ch] has quit [Client Quit] 21:16:55 hotblack23 [n=jh@p5B056B56.dip.t-dialin.net] has joined #scheme 21:21:46 -!- sepult`` [n=levgue@xdsl-87-78-25-38.netcologne.de] has quit [Client Quit] 21:26:18 wingo: /action pronoun foul! 21:26:51 maybe i was just startled by the slash 21:27:03 dysinger_ [n=dysinger@32.177.199.209] has joined #scheme 21:28:04 -!- dysinger_ [n=dysinger@32.177.199.209] has quit [Client Quit] 21:29:38 dysinger_ [n=dysinger@32.177.199.121] has joined #scheme 21:30:12 -!- dysinger [n=dysinger@166.187.60.251] has quit [Connection timed out] 21:30:13 -!- dysinger_ is now known as dysinger 21:30:34 sepult [n=levgue@xdsl-87-78-25-38.netcologne.de] has joined #scheme 21:59:47 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:04:10 choas [n=lars@p5B0DBDF3.dip.t-dialin.net] has joined #scheme 22:10:08 sg [i=3e164621@gateway/web/freenode/x-oebazlwylxioekyq] has joined #scheme 22:10:29 hi 22:11:16 -!- dysinger [n=dysinger@32.177.199.121] has quit [] 22:16:27 -!- twopoint718 [n=chris@76.210.76.232] has quit ["leaving"] 22:16:55 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 22:38:44 -!- ada2358_ is now known as ada2358 22:40:13 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 22:46:31 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 22:53:52 kilimanjaro [n=kilimanj@cpe-173-172-99-25.austin.res.rr.com] has joined #scheme 22:57:17 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [] 23:01:14 brandelune [n=suzume@pl807.nas982.takamatsu.nttpc.ne.jp] has joined #scheme 23:03:08 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 23:03:38 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 23:04:45 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 23:04:54 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 23:06:49 -!- sg [i=3e164621@gateway/web/freenode/x-oebazlwylxioekyq] has quit [Ping timeout: 180 seconds] 23:23:35 hey 23:23:38 I gotta hack that will destroy any PLT web server. 23:23:39 even behind a proxy 23:23:50 anyone have a server I could test it on? It kills all of mine. 23:29:24 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 23:35:02 you mean a servlet you wrote? 23:36:29 -!- choas [n=lars@p5B0DBDF3.dip.t-dialin.net] has quit ["leaving"] 23:38:04 -!- mrsolo [n=mrsolo@nat/yahoo/x-cumnjvqovsdqyulm] has quit [Connection timed out] 23:39:17 jonrafkind: No, a script that connects... 23:39:41 oh can you post it? 23:40:24 I wanted to post a message to the mailing list about it, but if you'd take a look beforehand that would be nice. 23:42:31 -!- hotblack23 [n=jh@p5B056B56.dip.t-dialin.net] has quit ["Leaving."] 23:44:59 first wanted to make sure it's not just a peculiarity of my own computer. 23:49:22 ok 23:49:27 so are you gonna post it or what 23:49:33 i mean lisppaste or whatever 23:50:05 splork [n=ben@dsl092-075-228.bos1.dsl.speakeasy.net] has joined #scheme 23:50:23 but if someone else gets it then they can trash my server, lol. 23:51:01 oh knights of ni, what must I do to begett this wonderful script 23:51:31 jonrafkind: bring us a call/cc 23:55:07 -!- copumpkin [n=pumpkin@dhcp-212-251.cs.dartmouth.edu] has quit [Remote closed the connection]