00:00:16 phao [phao@177.199.76.62] has joined #scheme 00:06:23 how would any of that be loaded into guile? 00:06:49 or any other schemer 00:07:28 Xrepl is Racket-specific. 00:07:36 ah 00:08:59 For Guile, this seems to be helpful: http://www.gnu.org/software/guile/manual/html_node/Loading-Readline-Support.html 00:08:59 http://tinyurl.com/avlqh7t 00:09:24 cool how all this can be compiled. what's a good compiler? just bigloo? 00:09:55 Racket has a pretty good compiler. 00:10:33 There's a new release coming up, and Matthew really sped things up! 00:10:43 (Structs, especially.) 00:12:57 sweet 00:13:14 Guile has it now, and with the bouncing paratheses, I like that ^_^ thanks 00:14:23 although I love CLisp's interpretor, except I wanna use Scheme for the most part just to keep compatibility at its best 00:15:26 -!- Stanislaw_ [~quassel@124-148-251-7.dyn.iinet.net.au] has quit [Remote host closed the connection] 00:27:01 can't I assign a number to something with (define x (8)) ? 00:27:27 nope nvm, (define x 8), still messing up the syntax 00:36:15 You could use Pseudo-Scheme on clisp. 00:36:47 how do 00:46:13 -!- pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has quit [Remote host closed the connection] 00:47:31 -!- mjonsson [~mjonsson@38.109.95.133] has quit [Read error: Connection reset by peer] 00:49:48 mjonsson [~mjonsson@38.109.95.133] has joined #scheme 00:50:24 pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has joined #scheme 00:56:57 -!- Tanami [~carnage@9ch.in] has quit [Ping timeout: 265 seconds] 01:05:27 -!- pothos [~pothos@114-36-231-47.dynamic.hinet.net] has quit [Remote host closed the connection] 01:10:51 pothos [~pothos@114-36-231-47.dynamic.hinet.net] has joined #scheme 01:14:48 Does (- x) automatically do (* -1 x) or something else? 01:15:16 It does. 01:15:32 ah and (+ x) does (* 1 x) 01:15:41 nice little tool right there 01:21:18 ohama [ohama@92.240.248.100] has joined #scheme 01:22:13 Tanami [~carnage@9ch.in] has joined #scheme 01:23:48 -!- phao [phao@177.199.76.62] has quit [Quit: Not Here] 01:25:13 -!- Sorella [~quildreen@201-58-194-49.user.veloxzone.com.br] has quit [Quit: (quit :reason 'sleep)] 01:30:31 -!- astertronistic [~astertron@ip70-181-247-103.sd.sd.cox.net] has quit [Ping timeout: 260 seconds] 01:42:57 -!- erann [~erann@214.Red-83-33-85.dynamicIP.rima-tde.net] has quit [Quit: erann] 01:45:49 phao [phao@177.199.76.62] has joined #scheme 02:04:00 -!- cluck [~user@108.80.108.93.rev.vodafone.pt] has left #scheme 02:11:49 realitygrill [~realitygr@209-6-30-187.c3-0.smr-ubr2.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:16:20 -!- peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has quit [Ping timeout: 248 seconds] 02:20:02 b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has joined #scheme 02:22:20 -!- cdidd [~cdidd@128-72-164-129.broadband.corbina.ru] has quit [Read error: Operation timed out] 02:28:49 acarrico [~acarrico@pppoe-68-142-51-49.gmavt.net] has joined #scheme 02:38:18 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 02:39:13 peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has joined #scheme 02:50:30 -!- phao [phao@177.199.76.62] has quit [Quit: Not Here] 02:55:17 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 252 seconds] 02:57:38 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 03:06:39 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:12:06 walter_ [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has joined #scheme 03:12:18 -!- walter_ [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 03:12:56 walter [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has joined #scheme 03:19:29 is there another way to say "unequal-to" other than (not (= x y)) ? 03:21:26 -!- b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has quit [Ping timeout: 252 seconds] 03:27:14 b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has joined #scheme 03:35:35 -!- em [~em@unaffiliated/emma] has quit [Ping timeout: 260 seconds] 03:58:01 em [~em@unaffiliated/emma] has joined #scheme 04:13:32 -!- mark_weaver [~user@TURNTABLE.MIT.EDU] has quit [Read error: Connection reset by peer] 04:13:46 mark_weaver [~user@TURNTABLE.MIT.EDU] has joined #scheme 04:17:59 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Read error: Operation timed out] 04:27:40 Onionnion|Eee: not by default. 04:28:47 I got it figured out. (define (!= x y) (not (= x y)) 04:29:14 /= :-) 04:30:04 or ~= if you use Lua 04:33:19 -!- mark_weaver [~user@TURNTABLE.MIT.EDU] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:38:56 -!- wbooze [~wbooze@xdsl-78-35-171-72.netcologne.de] has quit [Quit: none] 04:43:05 or /= if you use haskell 04:45:43 I feel stupid for this but I cannot figure out how to write a procedure that returns the 2nd largest of 3 numbers: (define (mid x y z) foo) 04:45:47 no idea what to put for foo 04:46:12 first see if x is the right number; if so, return it. Otherwise ... 04:52:26 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 04:52:45 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Quit: MichaelRaskin] 04:56:59 -!- realitygrill [~realitygr@209-6-30-187.c3-0.smr-ubr2.sbo-smr.ma.cable.rcn.com] has quit [Quit: Computer has gone to sleep] 04:58:09 -!- MrFahrenheit [~RageOfTho@77.221.30.167] has quit [Ping timeout: 256 seconds] 05:00:32 -!- Tanami [~carnage@9ch.in] has quit [Ping timeout: 265 seconds] 05:03:35 Tanami [~carnage@9ch.in] has joined #scheme 05:14:21 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 05:16:18 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Client Quit] 05:16:39 attila_lendvai [~attila_le@95.56.126.38] has joined #scheme 05:16:39 -!- attila_lendvai [~attila_le@95.56.126.38] has quit [Changing host] 05:16:39 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 05:37:44 hiroaki [~hiroaki@ip-78-94-227-230.unitymediagroup.de] has joined #scheme 05:38:45 -!- hiroaki [~hiroaki@ip-78-94-227-230.unitymediagroup.de] has quit [Remote host closed the connection] 05:46:56 -!- amgarching [~matveev@2001:4ca0:2608:0:c0bd:6c98:6b96:f835] has quit [Remote host closed the connection] 05:47:14 amgarching [~matveev@2001:4ca0:2608:0:85f8:59e6:71d8:37ab] has joined #scheme 05:57:06 -!- Onionnion|Eee [~ryan@adsl-68-254-167-6.dsl.milwwi.ameritech.net] has quit [Quit: Leaving] 06:05:43 astertronistic [~astertron@ip70-181-247-103.sd.sd.cox.net] has joined #scheme 06:08:25 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Ping timeout: 256 seconds] 06:20:55 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #scheme 06:21:17 -!- em [~em@unaffiliated/emma] has quit [Ping timeout: 245 seconds] 06:22:12 em [~em@unaffiliated/emma] has joined #scheme 06:24:33 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Operation timed out] 06:38:15 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 06:39:44 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 06:43:03 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 06:47:49 mmc1 [~michal@178-85-56-58.dynamic.upc.nl] has joined #scheme 06:49:04 -!- mjonsson [~mjonsson@38.109.95.133] has quit [Read error: Operation timed out] 06:58:50 fantazo [~fantazo@91-119-203-9.dynamic.xdsl-line.inode.at] has joined #scheme 06:59:08 mjonsson [~mjonsson@38.109.95.133] has joined #scheme 07:00:19 answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has joined #scheme 07:05:06 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 07:08:15 moin 07:10:04 niels1 [~niels@p4FD6E694.dip.t-dialin.net] has joined #scheme 07:20:18 attila_lendvai [~attila_le@87.247.57.122] has joined #scheme 07:20:18 -!- attila_lendvai [~attila_le@87.247.57.122] has quit [Changing host] 07:20:18 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 07:25:53 -!- fantazo [~fantazo@91-119-203-9.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 07:26:53 -!- mjonsson [~mjonsson@38.109.95.133] has quit [Read error: Operation timed out] 07:40:59 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Quit: leaving] 07:47:38 -!- mmc1 [~michal@178-85-56-58.dynamic.upc.nl] has quit [Ping timeout: 252 seconds] 07:51:46 hkBst [~marijn@79.170.210.172] has joined #scheme 07:51:46 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 07:51:46 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 08:03:43 mmc1 [~michal@178-85-56-58.dynamic.upc.nl] has joined #scheme 08:15:05 civodul [~user@193.50.110.152] has joined #scheme 08:18:36 -!- mmc1 [~michal@178-85-56-58.dynamic.upc.nl] has quit [Ping timeout: 240 seconds] 08:38:52 gravicappa [~gravicapp@ppp91-77-212-232.pppoe.mtu-net.ru] has joined #scheme 08:40:06 superjudge [~mjl@37-46-176-67.customers.ownit.se] has joined #scheme 08:41:51 cdidd [~cdidd@93-80-219-184.broadband.corbina.ru] has joined #scheme 08:44:18 amgarchIn9 [~amgarchin@p4FD606CF.dip0.t-ipconnect.de] has joined #scheme 08:44:35 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 268 seconds] 08:47:19 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 260 seconds] 08:52:13 confab_ [~confab@086.112-30-64.ftth.swbr.surewest.net] has joined #scheme 08:53:43 masm [~masm@bl16-219-40.dsl.telepac.pt] has joined #scheme 08:59:40 attila_lendvai [~attila_le@87.247.13.118] has joined #scheme 08:59:40 -!- attila_lendvai [~attila_le@87.247.13.118] has quit [Changing host] 08:59:40 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 09:05:36 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 09:06:00 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 09:24:26 In a purely functional language (e.g. Scheme without set!, set-car!, and set-cdr!, right ?), does the difference between static and dynamic typing still hold ? I imagine full type-inference would be possible so the typing strategy would become irrelevant. (Or rather, just a matter of implementing the type-inference and relevant code optimizations.) 09:26:34 -!- amgarchIn9 [~amgarchin@p4FD606CF.dip0.t-ipconnect.de] has quit [Quit: Konversation terminated!] 09:33:03 taylanub: yes it does 09:33:20 it's a different philosophy 09:34:00 in Haskell, Caml, etc., one has to specify the type of things 09:34:09 and the compiler type-checks everything statically 09:34:14 AFAIK Haskell can infer it all. 09:35:17 And I currently can't imagine a piece of stateless code where differentiating between variables having types and values having types would make a difference. I probably didn't think enough. 09:36:53 of course compilers to type inference, but there still needs to be type annotations somewhere 09:37:04 with zero type annotations, there wouldn't be much to be inferred 09:37:14 I imagine at the primitive functions. 09:37:55 Which they already have, in a way ? 09:38:00 and sometimes typing is ambiguous, or undecidable 09:44:56 Hrm, Wikipedia seems to have well-written sections about these matters. Wonder why I never read them yet. I guess I thought that my intuitive grasp for static vs. dynamic typing means I "know" the difference, while I'm actually lacking lots of illuminating details. 09:57:31 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 10:03:52 phax [~phax@unaffiliated/phax] has joined #scheme 10:04:16 relation [~relation@ip58-112-cust.sprintel.cz] has joined #scheme 10:05:33 -!- josteink [~jostein@cl-452.dub-01.ie.sixxs.net] has quit [Quit: leaving] 10:06:06 http://c2.com/cgi/wiki?DynamicTypingExampleCode Haven't read it yet but from the first line this sounds very promising to answer my exact question: What can dynamic typing do better over static ? 10:06:28 -!- taylanub [tub@p4FD945A6.dip.t-dialin.net] has quit [Disconnected by services] 10:06:38 taylanub [tub@p4FD93B4C.dip.t-dialin.net] has joined #scheme 10:11:44 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Read error: Connection reset by peer] 10:12:36 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 10:23:55 -!- astertronistic [~astertron@ip70-181-247-103.sd.sd.cox.net] has quit [Ping timeout: 260 seconds] 10:26:59 hi! suppose we have: (define a 10) (define b 'a), is there a way to get the value 10 somehow from b without using eval? thanks 10:29:20 Gmind [~Deulamco@113.190.175.175] has joined #scheme 10:32:18 -!- phax [~phax@unaffiliated/phax] has quit [Remote host closed the connection] 10:33:16 Gmind1 [~Deulamco@113.190.175.175] has joined #scheme 10:33:25 -!- mmc [~michal@sams-office-nat.tomtomgroup.com] has quit [Quit: Leaving.] 10:33:51 ... Reading MacCarthy Lisp 1.5 implementation 10:34:20 mmc [~michal@sams-office-nat.tomtomgroup.com] has joined #scheme 10:35:06 -!- Gmind [~Deulamco@113.190.175.175] has quit [Ping timeout: 240 seconds] 10:41:27 -!- b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has quit [Remote host closed the connection] 10:48:15 wingo [~wingo@77-56-172-80.dclient.hispeed.ch] has joined #scheme 11:13:24 taylanub: Related http://ro-che.info/ccc/17.html ? :-s 11:18:59 I'm not interested in battles as much as I am in simply the advantages and disadvantages of either. If there is no good reason to choose dynamic typing, why not make Scheme statically typed ? Obviously Scheme would lose something if it used static typing, not ? 11:22:23 And I would believe that there are more people who know type theory and are indifferent to the "battle." :P 11:23:09 Oh, published on November 5, hadn't realized that. :D 11:28:45 -!- Gmind1 [~Deulamco@113.190.175.175] has quit [Read error: Connection reset by peer] 11:29:24 Gmind [~Deulamco@113.190.175.175] has joined #scheme 11:36:31 -!- gravicappa [~gravicapp@ppp91-77-212-232.pppoe.mtu-net.ru] has quit [Ping timeout: 256 seconds] 11:37:06 gravicappa [~gravicapp@ppp91-77-178-156.pppoe.mtu-net.ru] has joined #scheme 11:48:24 http://forums.xkcd.com/viewtopic.php?t=4244 This has some interesting posts. The xkcd forums can be very intelligent .. 11:50:43 -!- Gmind [~Deulamco@113.190.175.175] has quit [Ping timeout: 260 seconds] 11:53:02 Gmind [~Deulamco@113.190.175.175] has joined #scheme 11:54:55 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 11:55:53 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 11:59:12 erann [~erann@27.Red-83-33-82.dynamicIP.rima-tde.net] has joined #scheme 12:13:54 realitygrill [~realitygr@209-6-30-187.c3-0.smr-ubr2.sbo-smr.ma.cable.rcn.com] has joined #scheme 12:18:49 MrFahrenheit [~RageOfTho@77.221.30.167] has joined #scheme 12:24:15 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #scheme 12:27:54 mmc1 [~michal@sams-office-nat.tomtomgroup.com] has joined #scheme 12:33:20 b4283 [~b4283@1-172-80-248.dynamic.hinet.net] has joined #scheme 12:42:17 -!- crundar [~user@99-108-224-199.lightspeed.iplsin.sbcglobal.net] has quit [Ping timeout: 246 seconds] 12:43:13 -!- relation [~relation@ip58-112-cust.sprintel.cz] has quit [Quit: Lost terminal] 12:48:22 Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #scheme 12:54:07 -!- walter [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 13:01:26 -!- imphasing [~Alex@97-81-65-25.dhcp.athn.ga.charter.com] has quit [Quit: getting packed] 13:15:59 -!- Gmind [~Deulamco@113.190.175.175] has quit [Quit: Leaving.] 13:17:04 Gmind [~Deulamco@113.190.175.175] has joined #scheme 13:21:20 mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 13:23:48 taylanub: in Scheme, types are associated with values. in haskell, types are associated with variables. 13:25:27 (and expressions) 13:25:32 taylanub: it seems that any type system imposed on lambda calculus will reject meaningful terms as untypable, ut it is interesting how far you can go. Look into lambda cube and pure type systems. 13:25:47 s/ut/but/ 13:26:27 http://www.staff.science.uu.nl/~jeuri101/MSc/jwroorda/ and links on bottom. 13:29:26 add^_ [~add^_@m37-2-171-154.cust.tele2.se] has joined #scheme 13:39:08 -!- realitygrill [~realitygr@209-6-30-187.c3-0.smr-ubr2.sbo-smr.ma.cable.rcn.com] has quit [Quit: Computer has gone to sleep] 13:43:43 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 13:46:21 niels2 [~niels@p4FD6CC1B.dip.t-dialin.net] has joined #scheme 13:49:29 -!- surrounder [~surrounde@d130031.upc-d.chello.nl] has quit [Ping timeout: 246 seconds] 13:49:41 -!- niels1 [~niels@p4FD6E694.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 13:55:09 tupi [~david@139.82.89.157] has joined #scheme 13:55:36 adiii [~adityavit@117.205.99.50] has joined #scheme 13:57:35 nugnuts [~nugnuts@pool-74-102-77-158.nwrknj.fios.verizon.net] has joined #scheme 14:00:26 mjonsson [~mjonsson@38.109.95.133] has joined #scheme 14:05:15 langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 14:14:45 dnolen [~user@cpe-74-64-32-223.nyc.res.rr.com] has joined #scheme 14:17:05 fantazo [~fantazo@91-119-203-9.dynamic.xdsl-line.inode.at] has joined #scheme 14:20:31 taylanub: there are language features that are difficult to integrate in statically typed languages. One of them is macros. 14:21:17 well, there's Template Haskell & co. 14:21:54 Template Haskell isn't as general as Scheme macros, IIRC. 14:22:01 That's more akin to C's preprocessor macroes 14:22:06 Ish. 14:22:26 A second layer -above- the real layer of the (statically typed) language beneath that isn't very aware of the underlying type system 14:36:28 -!- dnolen [~user@cpe-74-64-32-223.nyc.res.rr.com] has quit [Ping timeout: 252 seconds] 14:37:44 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Read error: No route to host] 14:39:59 acieroid` [~acieroid@wtf.awesom.eu] has joined #scheme 14:40:30 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 14:40:46 -!- acieroid [~acieroid@wtf.awesom.eu] has quit [Read error: Connection reset by peer] 14:40:58 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Connection reset by peer] 14:45:49 surrounder [~surrounde@d130031.upc-d.chello.nl] has joined #scheme 14:46:14 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 14:49:14 -!- mjonsson [~mjonsson@38.109.95.133] has quit [Ping timeout: 265 seconds] 14:59:30 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 15:07:37 I would be very interested in seeing some meaningful and practical lambda terms that are rejected by a good type system like that of Haskell. Although perhaps by the time I really understand typing systems, I will be able to come up with such ones myself. 15:09:25 -!- Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 244 seconds] 15:09:50 Over the years, Haskell has had to progressively make their type system more complex, to accommodate code that could not be expressed in earlier versions of its type system. 15:10:37 IMHO a type system is what 1970s compilers had to use to get anywhere near decent performance out of complex numerical algorithms 15:15:27 -!- niels2 [~niels@p4FD6CC1B.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.8] 15:19:39 -!- acieroid` is now known as acieroid 15:20:09 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 276 seconds] 15:20:16 -!- add^_ [~add^_@m37-2-171-154.cust.tele2.se] has quit [Ping timeout: 244 seconds] 15:20:24 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 15:20:50 -!- jrslepak [~jrslepak@c-71-233-149-127.hsd1.ma.comcast.net] has quit [Quit: What happened to Systems A through E?] 15:21:49 add^_ [~add^_@m37-3-97-242.cust.tele2.se] has joined #scheme 15:22:50 My experience is limited, but I also have the impression that thinking in terms of types is a good way to approach the design of a complex system. Simply a different approach than the more interactive "code and test cycle" approach. 15:23:23 I think in terms of interfaces, always interfaces 15:23:31 I don't care what things -are-, I care what they can do 15:24:41 Well isn't that how Haskell's type system works nowadays ? If a function uses == and > on its input, the type inferrer notes that this variable must support Eq and Order, or something. 15:24:59 Yah.. it's quite interfacy.. 15:25:04 Also Go's is quite similar to that, too 15:26:24 adu [~ajr@pool-108-28-107-227.washdc.fios.verizon.net] has joined #scheme 15:35:26 wbooze [~wbooze@xdsl-78-35-153-73.netcologne.de] has joined #scheme 15:38:19 huseby [~huseby@ip65-47-28-158.z28-47-65.customer.algx.net] has joined #scheme 15:39:11 masak [masak@feather.perl6.nl] has joined #scheme 15:39:57 -!- Gmind [~Deulamco@113.190.175.175] has quit [Read error: Connection reset by peer] 15:42:13 for the past year I've been implementing macros in Rakudo Perl 6. I'd like to ask someone some questions about hygienic macros. to a first approximation, here's what I'm wondering: why is a big deal made about achieving hygiene? closures achieve it (separation between caller and callee environments) without much fuss. why the need for gensymming and similar techniques in macro expansion? 15:43:00 Closures don't create new code 15:43:10 that's true. 15:43:21 Macros transform source code into other source code; the code they output might contain new synthesized variable names 15:43:41 still, making AST carry around context (just like closures do) seems to me to be a workable solution. 15:43:46 Sure 15:43:46 one that https://en.wikipedia.org/wiki/Hygienic_macro#Strategies doesn't mention. 15:43:52 There's various possible implementations 15:44:04 I have a working implementation of this in Rakudo now. 15:44:14 r5rs etc.. only talk about the observeable semantics of running it, they dont' suggest or require any particular way to implement it 15:44:25 I guess my surprise is that this solution isn't discussed anywhere that I can find. 15:44:38 My personal implementation happens to work quite similarly to closures in Perl5 at least.. I don't know hoe Perl 6 works 15:45:00 Possibly becuse the actual implementation isn't all that interesting; only the semantics of its operation. But the semantics come from r5 anyway 15:45:13 -!- superjudge [~mjl@37-46-176-67.customers.ownit.se] has quit [Read error: Operation timed out] 15:45:29 *nod* 15:45:46 ok, seems AST-as-closures isn't such a surprising idea to this crowd. that's a relief. 15:46:01 The fun part in my implementation comes when I try to deparse the generated code again afterwards.. :) 15:46:06 heh :) 15:46:09 Those fake symbols still need names 15:46:27 I don't have that problem in my implementation. and that's my point. 15:46:49 the quasi quote has its own environment, and the unquotes inside have the environment of the mainline code they came from. 15:47:11 so even when the variable names are the same and occur in the same code, lookup does the right thing. 15:47:21 Oh this is purely a problem at deparsing 15:47:26 ah, ok. 15:47:32 oh! I see what you mean :) 15:47:47 because the code is emitted in a configuration it never was in the source. 15:47:48 Even though during evaluation all the symbols are distinct and work properly, they still carry the names they had in the macro 15:48:02 -!- confab_ [~confab@086.112-30-64.ftth.swbr.surewest.net] has quit [Quit: Lost terminal] 15:48:03 Yeah.. so if you happen to want to deparse the code back into some source string, you have a problem 15:48:08 yes, I follow now. that's funny. 15:50:35 gffa [~unknown@unaffiliated/gffa] has joined #scheme 15:50:50 in Perl 6, blocks have OUTER links to their lexically surrounding blocks. what's special about macro expansion (even compared to closures) is that blocks end up physically outside their OUTER blocks. 15:50:56 I deparse them with some special syntax; turning a macro variable called 'foo' into #:foo:123 15:50:59 that's what leads to problems during gensymming. 15:51:03 where the counter is incremented for each expansion of the macro 15:51:10 ah, nice. 15:51:32 I haven't had to tackle the problem of deparsing. but I will remember that trick if I ever need to. 15:52:42 It's part of the generic problem of deparsing closures 15:52:54 my @code = map { my $tmp; sub { $tmp++ } } 1 .. 3; 15:53:03 How do you deparse the values in @code (er.. that's perl5.. :) ) 15:54:58 Then how do you distinguish from my $tmp; my @code = map { sub { $tmp++ } } 1 .. 3; 15:55:28 Gmind [~Deulamco@113.190.177.44] has joined #scheme 15:58:49 yeah. 15:59:31 dzhus [~dzhus@95-31-27-234.broadband.corbina.ru] has joined #scheme 16:01:31 masak: it's not sufficient to make ASTs carry around context, because a single occurrence of an identifier in a macro template can turn into multiple distinct identifiers in the generated code. 16:02:16 -!- samth_away is now known as samth 16:03:05 mark_weaver: that doesn't seem to be a problem in Perl 6, because "macro templates" are routines, each of which gets its own lexpad at invocation. 16:04:23 Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #scheme 16:04:35 masak: okay, but there must be a way for these macro routines to introduce new identifiers into the generated expression. 16:05:16 yes. 16:05:51 are you talking about local declarations inside the quasiquote, or about willfully breaking hygiene to make declarations in the mainline code? 16:05:56 okay, so consider the following macro from scheme: (and ) => (let ((t )) (if t t )) 16:06:08 ah, local declarations. 16:06:50 this translates to macro and($a, $b) { quasi { my $t = {{{$a}}}; if $t { $t } else { {{{$b}}} } } } 16:07:49 the $t won't collide with anything in the mainline code, because the quasi essentially gets its own lexpad. 16:07:58 what is a lexpad? 16:08:09 a place where variables and their bound values live. 16:08:27 the thing that a lexical environment is made up of. 16:08:45 Perl5 just calls them "pads" 16:09:11 16:10:16 I would need to understand many more details to understand how this all works. it seems that perl has invented its own terminology and mechanisms for dealing with this stuff, and it's hard to me to know whether it is sufficient. 16:11:18 I will say, however, that it took many years for the Scheme folks to get hygienic macros working properly. It's not a trivial thing to get right. 16:11:18 *nod* 16:11:34 I believe you. 16:11:41 masak: I don't know how Perl6 implements compiled code, but in Perl5, a piece of compiled code is an optree and a pad. The pad is an indexed array of variables, containing the locals to the code. The optree stores just indexes into the pad, for those variables 16:12:40 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 16:12:42 So a macro in Perl5, were it to exist, could just insert a few new variables into the pad, for each expansion, then when it inserted ops that refer to the variables it created, would use the indexes it knows it had. If the macro is expanded multiple times (e.g. because of the recursive nature of and), then the multiple expansions would simply lead to more copies of those variables, each with their own pad index 16:12:43 LeoNerd: in Perl 6, it's essentially implementation-dependent. but Rakudo generates things down into PIR, which is more like (high-level) assembly code than like an optree. 16:13:13 Yeah; that's the trouble with the PIR; you don't have an easy way to have multiple independent variables of the same name, as you could easily with Perl5's pad system 16:13:23 hm. 16:13:37 well, my solution doesn't involve any insertion of new variables into the pad. 16:13:46 everything just falls out of the existing closure semantics. 16:13:58 You can't implement macros as closures 16:14:16 Closures have full function-like semantics to them; you can "return" from them, they appear in stack frames for exception context, etc... 16:16:31 hm. in Perl 6 we distinguish between "routines" (which you can return from) and "blocks" (which don't bind return). 16:16:40 Ahyes.. 16:16:45 so that's not a problem. the stack frames one may be. 16:16:57 Well, as long as it was a block-like closure (if such exists) then perhaps that would work 16:17:46 yes, that's what I'm using. 16:18:00 *masak* runs off to #perl6 to try 'return' inside a macro :) 16:18:10 :) 16:18:23 Ofcourse Scheme doesn't exactly have a 'return' :P 16:19:02 dang. that doesn't work (yet). 16:19:47 masak: In Scheme, a single macro invocation can expand into several procedures. furthermore, a macro can expand into another macro use, which later expands into something different. in general, macro expansion can split up and combine pieces of code into a very different arrangement. the lexical contours can only be determined after macro expansion. 16:20:23 Ooooh.. that's another good point 16:21:16 masak: therefore, it seems to me that you're very much on the wrong track. 16:21:35 interesting. I will try to process this. 16:21:38 I suggest that you read some papers on hygienic macros. let me dig up some references. 16:21:41 Yah; I'm still with "macros are sort of like rewrites of the source code" in CPP-style.. only nicer 16:21:49 mark_weaver: excellent. that was my next question :) 16:22:28 I'm not immediately swayed or worried by "macros can expand into other macros". as far as I can see, my model covers that too. 16:23:10 there will be some tricky bits involving things actually *declared* inside a quasi. they have to be sandboxed and the declarations have to actually happen at macro expansion. 16:23:14 The thing with a macro is that, similar to a C-style macro, you ought to be able to just expand that and somehow dump the resulting source code, and it still mean the same without having the macro in it 16:23:21 (Give or take the deparsing variable names thing) 16:23:42 LeoNerd: that sounds like unhygienic macros to me. 16:23:43 jrslepak [~jrslepak@nomad.ccs.neu.edu] has joined #scheme 16:24:30 masak: here are a few recommended papers to read: 16:24:30 http://mumble.net/~jar/pubs/scheme-of-things/easy-macros.ps 16:24:30 http://www.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp295-326.pdf 16:24:30 http://srfi.schemers.org/srfi-72/srfi-72.html 16:24:33 16:25:00 thank you. 16:25:28 is that someone making a lisp ? 16:26:11 who, me? not unless you listen to those who claim that Perl 6 is an implementation of M-expressions :P 16:27:12 masak: here's another thing to think about: in scheme, a single identifier that gets passed as an argument to a macro can turn into multiple distinct variables (or even quoted datums) in the expanded code. 16:27:34 -!- Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 16:28:06 for example, I can define a macro: (define-syntax-rule (with-incremented v expr) (let ((v (+ v 1))) expr)) 16:28:06 yes, we have that too. since the macro parameters are assumed to be AST objects, which can contain arbitrary code. 16:28:56 so, I can use it like this for example: (let ((v 1)) (+ v (with-incremented v (* v v)))) 16:29:22 and that expands to this: (let ((v 1)) (+ v (let ((v (+ v 1))) (* v v)))) 16:29:39 notice how the 'v' passed to the macro turns into two distinct variables in the generated code. 16:30:08 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 246 seconds] 16:30:13 ah. yes. 16:30:15 there's an inner 'v' and an outer 'v'. and the 'v' in 'expr' will end up referring to the inner 'v'. 16:30:41 but there's no way to know which 'v' the one in 'expr' refers to until after the code has been expanded. 16:30:52 how can you model handle this? 16:31:27 this is exactly what my ASTs-as-closures are achieving. see the example under "How closures cause hygiene" at https://gist.github.com/abd360db840a0719da2f 16:33:09 ijp [~user@host81-159-31-213.range81-159.btcentralplus.com] has joined #scheme 16:33:10 I'm sorry, I don't have time to learn and understand your model. But I can raise some issues that you might not have thought about. 16:33:14 ( I'm making one implementation, so.. just listen to you guys for some ideas... ) 16:33:28 mark_weaver: indeed. thanks for your input so far. it is very useful. 16:33:37 mark_weaver: I will follow up by reading your suggested material. 16:33:52 I'll give you one more example to think about, and to make sure your macros can handle it: 16:34:08 masak: Well.. yes.. but given the existence of some syntax to notate introduced symbols (such as my crazy #:foo:123 ), you can basically do it 16:34:47 (define-syntax-rule (with-and-without-incremented v expr) (list 'v expr (let ((v (+ v 1))) expr))) 16:34:59 LeoNerd: as long as I don't have to deparse the code, it seems I will not have to invent symbols at all. 16:35:07 Yeah, that was my point :) 16:35:30 If you want to consider the macro expansion phase as purely a code-rewriting trick, with the output still a plain-text syntax of a Scheme program, you do have to deparse it at the end 16:35:42 here, 'v' ends up referring to three very different things in the expanded code, and the 'v' in 'expr' ends up referring to two different bindings of 'v'. 16:35:42 So you need a way to notate those invented symbol names somehow 16:36:07 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 16:36:23 mark_weaver: let's see... 'v is always just the symbol, right? it doesn't even have anything to do with bindings. 16:36:47 'v' ends up in a quoted datum first, and then it is used as a new for a new lexical variable. and there are two copies of 'expr' in the expanded code, and the 'v' in one of those copies refers to a different variable than the 'v' in the other copy. 16:37:02 s/new/new name/ 16:37:51 hm. I can see why our model confuses you. it's different enough in places for there not to be a straight translation of concepts, I think. 16:38:08 nevertheless, I will save this conversation so that I can refer back to it later. 16:38:15 it's a big help. 16:38:40 masak: can your model handle my 'with-and-without-incremented' macro properly? 16:39:13 I don't know because I don't understand it offhand. 16:39:17 need to mull over it a bit. 16:39:29 phao [phao@177.174.174.72] has joined #scheme 16:39:47 keep in mind, btw, that in the (let ((v (+ v 1))) ...) the inner 'v' variable is getting initialized to one plus the outer 'v' variable. 16:39:59 right. 16:40:13 Fare [fare@nat/google/x-fxuybbsqpyqlavxt] has joined #scheme 16:42:14 again, thanks. I will process all this and then maybe come back for more. 16:43:00 masak: okay, happy hacking! 16:43:01 I was told there was a risk I might get flamed for asking insolent questions in here, but you people seem a friendly bunch. 16:43:08 LeoNerd++ mark_weaver++ Gmind++ 16:43:10 :) 16:44:00 masak: That's usually because people who ask things like that have intentions like creating a flamewar ;-) 16:44:23 -!- Fare [fare@nat/google/x-fxuybbsqpyqlavxt] has quit [Read error: Operation timed out] 16:44:25 You're welcome , masak 16:44:30 But I agree that people actually handled it fairly nicely. :-) 16:44:31 glad to help :) 16:44:33 We don't mind sensible questions 16:44:53 add^_: no, no. I'm from #perl6. we don't flame, we just hug. :P 16:45:02 heh 16:45:14 I actually had been here before I jumped to #lisp 16:45:26 No worries, the people in #scheme are usually a happy hacker bunch 16:45:33 seems so. 16:46:04 :-) 16:46:38 -!- phao [phao@177.174.174.72] has quit [Quit: Not Here] 16:56:51 -!- adiii [~adityavit@117.205.99.50] has quit [Ping timeout: 260 seconds] 16:58:14 -!- civodul [~user@193.50.110.152] has quit [Remote host closed the connection] 17:06:20 -!- adu [~ajr@pool-108-28-107-227.washdc.fios.verizon.net] has quit [Quit: adu] 17:18:06 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 17:25:24 -!- githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has quit [Remote host closed the connection] 17:26:43 -!- mmc1 [~michal@sams-office-nat.tomtomgroup.com] has quit [Ping timeout: 256 seconds] 17:34:03 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 276 seconds] 17:42:24 civodul [~user@reverse-83.fdn.fr] has joined #scheme 17:48:06 -!- b4283 [~b4283@1-172-80-248.dynamic.hinet.net] has quit [Read error: Connection reset by peer] 17:50:53 adu [~ajr@pool-108-28-107-227.washdc.fios.verizon.net] has joined #scheme 17:51:46 -!- adu [~ajr@pool-108-28-107-227.washdc.fios.verizon.net] has quit [Client Quit] 17:56:35 -!- langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Ping timeout: 260 seconds] 17:59:42 -!- erann [~erann@27.Red-83-33-82.dynamicIP.rima-tde.net] has quit [Quit: erann] 18:00:27 langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 18:09:28 hiroaki [~hiroaki@77-20-78-82-dynip.superkabel.de] has joined #scheme 18:11:01 -!- youlysses is now known as youlysses_nap 18:18:02 -!- hiroaki [~hiroaki@77-20-78-82-dynip.superkabel.de] has quit [Ping timeout: 265 seconds] 18:20:21 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Read error: Operation timed out] 18:25:16 mmc1 [~michal@178-85-56-58.dynamic.upc.nl] has joined #scheme 18:30:32 hiroaki [~hiroaki@p5B049845.dip.t-dialin.net] has joined #scheme 18:32:30 *Gmind* have just seen some guides on how to get into state of flow and wonder why don't they learn a little Lisp 18:34:03 add^_^ [~add^_@m90-130-238-204.cust.tele2.se] has joined #scheme 18:34:19 -!- add^_ [~add^_@m37-3-97-242.cust.tele2.se] has quit [Read error: Connection reset by peer] 18:34:20 -!- add^_^ is now known as add^_ 18:36:41 -!- Gmind [~Deulamco@113.190.177.44] has quit [Quit: Leaving.] 18:39:28 phao [phao@177.160.125.104] has joined #scheme 18:43:48 civodul : "with zero type annotations, there wouldn't be much to be inferred" -- false for SML 18:45:15 *civodul* doesn't know much about SML 18:45:19 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Ping timeout: 252 seconds] 18:45:25 ski: you mean literaly zero type annotations? 18:45:31 yes 18:45:48 note that by "type annotation" i mean type signatures and type ascriptions 18:45:55 yes 18:46:10 but then it can't be a library 18:46:17 hmm 18:46:38 you'd still need SML's (more or less) equivalent of `define-record-type' to declare new types 18:46:49 ok 18:47:57 amgarchIn9 [~amgarchin@p4FD606CF.dip0.t-ipconnect.de] has joined #scheme 18:48:38 actually, when doing pattern matching in SML, patterns do specify which type is being matched (of course) 18:48:39 to easily write libraries which doesn't export every entity defined inside them, you'd need to declare library interfaces, and that would require writing type signatures for the exported things 18:48:50 aah, ok 18:48:50 civodul : yes and no 18:49:41 in the lingo of statically typed languages, patterns do not specify which type is matched on, they specify the "(data) constructor" or the "shape" of the specific datum 18:50:53 to people used to dynamically typed languages, there might appear to be little difference between this and types, but on the other side of the fence one considers this a different concept 18:51:07 ok 18:51:13 i'm definitely on this side of the fence, then ;-) 18:51:16 Fare [fare@nat/google/x-bsppbuxtvqzwckje] has joined #scheme 18:51:20 (data) constructors corresponds to "data tagging" 18:51:24 yes 18:51:33 i've done a bit of Scala 18:51:40 with case classes & co. 18:52:03 e.g. if you have a Scheme procedure which can take as argument either a number or a symbol, then the procedure distinguishes beteween these two cases by the tagging of the implementation 18:52:23 yes, i know 18:53:04 and if you want to distinguish between an empty tree and a non-empty tree, you can do that by having `empty' vs. `(non-empty )' (or using records) -- and this is also tagging 18:53:48 yes 18:55:40 otoh types in statically typed systems would often be impossible to check at run-time, even if you didn't throw away distinctions between different types when compiling 18:58:27 (though there is an interesting approximation : "contract systems", which can (in some cases) detect at run-time when there would have been a corresponding type error at compile-time) 18:58:52 -!- pjb [~t@vil93-14-88-184-74-97.fbx.proxad.net] has quit [Ping timeout: 246 seconds] 18:59:51 (btw, the "false for SML" would correspond to "mostly false for Haskell". only polymorphic recursion (afaik) requires type annotation. though some of the recent extensions in GHC (like GADTs) also requires it) 19:00:55 jao [~jao@232.Red-83-32-71.dynamicIP.rima-tde.net] has joined #scheme 19:00:58 -!- jao [~jao@232.Red-83-32-71.dynamicIP.rima-tde.net] has quit [Changing host] 19:00:58 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 19:06:29 taylanub : "I would be very interested in seeing some meaningful and practical lambda terms that are rejected by a good type system like that of Haskell." -- i suppose cyclic types, existential quantification, polymorphic components, and perhaps higher-rank types are half-examples of that ("half" because it's easy to add some syntactic noise to get it to pass) 19:09:06 there are probably practical examples which can't be done easily with such fixes, but i can't think of any atm -- apart from ones (seeming to) require the full power of dependent types, i.e. 19:14:46 wbooze : for something a bit like CL's `loop' in Scheme, see 19:16:17 *ijp* might write a copy of CL's "loop" for next april 1st 19:16:21 the way to find examples is to look at papers describing features added to haskell's type system. 19:16:52 except that would only find positive examples ;) 19:17:26 then look at the ones proposing adding new features 19:17:42 *ski* nods 19:21:59 -!- wingo [~wingo@77-56-172-80.dclient.hispeed.ch] has quit [Ping timeout: 260 seconds] 19:21:59 -!- CoverSlide [~richard@pool-173-55-83-220.lsanca.fios.verizon.net] has quit [Remote host closed the connection] 19:22:13 CoverSlide [~richard@pool-173-55-83-220.lsanca.fios.verizon.net] has joined #scheme 19:25:07 erann [~erann@187.Red-79-154-73.dynamicIP.rima-tde.net] has joined #scheme 19:27:25 -!- erann [~erann@187.Red-79-154-73.dynamicIP.rima-tde.net] has quit [Disconnected by services] 19:27:42 erann [~erann@59.Red-79-156-37.staticIP.rima-tde.net] has joined #scheme 19:33:25 hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 19:38:47 -!- erann [~erann@59.Red-79-156-37.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 19:46:01 ski: the point is, any paper describing a new feature is going to have examples of why that new feature was needed. it at least gives an idea of how even a comprehensive type system can be inadequate. 19:46:51 yes 19:48:29 to some degree, some such features often are "rare" to want to use practically (or seem to be) -- but then it seems people start finding more uses for them anyway 19:49:41 perhaps this is an example of statical typers first saying "you don't want this" because their type system can't handle this, but then changing their mind when they can actually use it 19:51:40 i think in many cases, such features just encode useful idioms that experienced dynamic typers have already employed for a long time, sans the fuss 19:52:13 but at least imho, having an explicit "typeful" way of talking about it can be useful (even if coding in a dynamically typed language) 19:53:14 fundamentally, type systems are just a convenient (but highly constrained) framework for proving things about programs. 19:54:37 I'll all for that as an optional feature, but when a language forces you to assign a type to every expression, it limits what you can do. 19:55:03 i agree with the former 19:55:33 the latter is to a large degree a matter of taste and habit, i think 19:55:59 (i.e. whether one finds it acceptable to work inside such a system or not) 19:56:37 (and if you want less constrained ways for proving things about programs, there's stuff like Coq and Agda) 19:56:43 of course it's always possible to work around the limitations. at the very least, you can always write a scheme interpreter in haskell :) 19:57:06 yeah, but that would be the last resort :) 19:57:16 (as with the opposite direction) 19:57:20 -!- wbooze [~wbooze@xdsl-78-35-153-73.netcologne.de] has quit [Ping timeout: 246 seconds] 19:57:34 I will acknowledge that haskell's type system has reached a point that it's probably hard to come up with realistic examples of programs that it cannot express in a nice way. 19:58:16 imo every competent programmer should be familiar with both the best of dynamic typing, and the best of static typing 20:00:10 yes, learning and becoming proficient at Haskell is a very useful exercise at the very least. 20:01:26 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 20:05:53 -!- pothos [~pothos@114-36-231-47.dynamic.hinet.net] has quit [Read error: Connection reset by peer] 20:09:18 pothos [~pothos@114-25-195-201.dynamic.hinet.net] has joined #scheme 20:14:02 bobu [~bobu@APuteaux-652-1-98-155.w90-2.abo.wanadoo.fr] has joined #scheme 20:19:01 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Remote host closed the connection] 20:20:06 -!- mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:23:19 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 20:24:55 -!- youlysses_nap is now known as youlysses 20:30:55 -!- langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Ping timeout: 252 seconds] 20:31:14 -!- dca [~user@95-28-34-187.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 20:32:43 langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 20:37:08 -!- phao [phao@177.160.125.104] has quit [Quit: Not Here] 20:45:13 youlysse` [~user@75-132-17-145.dhcp.stls.mo.charter.com] has joined #scheme 20:54:50 -!- blubberdiblub [~foobar@blubberdiblub.org] has left #scheme 20:55:14 blubberdiblub [~foobar@blubberdiblub.org] has joined #scheme 20:57:05 eli [~eli@winooski.ccs.neu.edu] has joined #scheme 20:57:05 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Changing host] 20:57:05 eli [~eli@racket/eli] has joined #scheme 21:00:34 nowhere_man_ [~pierre@AStrasbourg-551-1-149-78.w90-48.abo.wanadoo.fr] has joined #scheme 21:03:34 Onionnion|Eee [~ryan@adsl-68-254-167-6.dsl.milwwi.ameritech.net] has joined #scheme 21:04:01 -!- nowhereman [~pierre@AStrasbourg-551-1-78-61.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 256 seconds] 21:06:41 -!- answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has quit [Quit: WeeChat 0.3.9] 21:07:18 erann [~erann@1.Red-83-61-34.dynamicIP.rima-tde.net] has joined #scheme 21:09:57 -!- bobu [~bobu@APuteaux-652-1-98-155.w90-2.abo.wanadoo.fr] has quit [Remote host closed the connection] 21:14:05 -!- gravicappa [~gravicapp@ppp91-77-178-156.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:22:11 add^_^ [~add^_@m37-2-157-184.cust.tele2.se] has joined #scheme 21:24:35 -!- add^_ [~add^_@m90-130-238-204.cust.tele2.se] has quit [Ping timeout: 265 seconds] 21:25:31 -!- add^_^ is now known as add^_ 21:39:36 -!- youlysse` [~user@75-132-17-145.dhcp.stls.mo.charter.com] has quit [Read error: Connection reset by peer] 21:41:49 `youlysses [~user@75-132-17-145.dhcp.stls.mo.charter.com] has joined #scheme 21:43:46 phao [~phao@177.160.125.104] has joined #scheme 21:45:43 -!- langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:51:12 -!- jrslepak [~jrslepak@nomad.ccs.neu.edu] has quit [Quit: What happened to Systems A through E?] 21:51:24 -!- nugnuts [~nugnuts@pool-74-102-77-158.nwrknj.fios.verizon.net] has quit [Read error: Connection reset by peer] 21:54:29 -!- hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 248 seconds] 22:14:14 -!- Onionnion|Eee [~ryan@adsl-68-254-167-6.dsl.milwwi.ameritech.net] has quit [Quit: Leaving] 22:18:16 bobu [~bobu@APuteaux-652-1-98-155.w90-2.abo.wanadoo.fr] has joined #scheme 22:19:19 -!- fantazo [~fantazo@91-119-203-9.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 260 seconds] 22:29:48 jrslepak [~jrslepak@c-71-233-149-127.hsd1.ma.comcast.net] has joined #scheme 22:33:16 phax [~phax@unaffiliated/phax] has joined #scheme 22:38:50 -!- gffa [~unknown@unaffiliated/gffa] has quit [Quit: sleep] 22:46:59 -!- bobu [~bobu@APuteaux-652-1-98-155.w90-2.abo.wanadoo.fr] has quit [Remote host closed the connection] 22:53:40 -!- civodul [~user@reverse-83.fdn.fr] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:57:43 -!- Fare [fare@nat/google/x-bsppbuxtvqzwckje] has quit [Ping timeout: 246 seconds] 23:00:06 -!- phax [~phax@unaffiliated/phax] has quit [Ping timeout: 240 seconds] 23:07:37 -!- phao [~phao@177.160.125.104] has quit [Quit: Not Here] 23:08:10 fantazo [~fantazo@91-119-203-9.dynamic.xdsl-line.inode.at] has joined #scheme 23:08:24 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 23:08:48 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 23:18:35 phax [~phax@unaffiliated/phax] has joined #scheme 23:29:26 kvda [~kvda@ppp121-44-56-186.lns20.syd6.internode.on.net] has joined #scheme 23:31:11 -!- phax [~phax@unaffiliated/phax] has quit [Ping timeout: 260 seconds] 23:34:41 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 23:38:26 mjonsson [~mjonsson@38.109.95.133] has joined #scheme 23:40:06 -!- tupi [~david@139.82.89.157] has quit [Quit: Leaving] 23:40:49 Fare [fare@nat/google/x-elavufuzgnzcoazj] has joined #scheme 23:44:18 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 23:48:35 Welp, by tomorrow the R7RS-small editors should be shipping the 7th draft. 23:49:38 This is the one that goes to plebiscite if the Steering Committee decides to hold one. 23:50:05 -!- samth is now known as samth_away 23:51:00 phax [~phax@unaffiliated/phax] has joined #scheme 23:55:24 -!- dzhus [~dzhus@95-31-27-234.broadband.corbina.ru] has quit [Ping timeout: 268 seconds] 23:59:04 -!- masm [~masm@bl16-219-40.dsl.telepac.pt] has quit [Quit: Leaving.]