00:00:38 -!- xwl [~user@123.108.223.31] has quit [Ping timeout: 246 seconds] 00:15:42 -!- bfgun [~b_fin_g@r186-52-161-80.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 264 seconds] 00:17:22 nowhereman [~pierre@AStrasbourg-551-1-138-30.w90-26.abo.wanadoo.fr] has joined #scheme 00:17:57 wbooze [~wbooze@xdsl-78-35-135-10.netcologne.de] has joined #scheme 00:18:36 -!- nowhereman [~pierre@AStrasbourg-551-1-138-30.w90-26.abo.wanadoo.fr] has quit [Client Quit] 00:18:48 nowhereman [~pierre@AStrasbourg-551-1-138-30.w90-26.abo.wanadoo.fr] has joined #scheme 00:20:48 -!- nowhereman is now known as nowhere_man 00:25:56 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 00:32:55 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 00:33:11 -!- adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has quit [Client Quit] 00:39:02 -!- tejaswidp [~tejaswidp@117.192.134.175] has quit [Read error: Connection reset by peer] 00:40:02 -!- RomyRomy [~stickycak@207.239.107.3] has quit [Quit: RomyRomy] 00:41:08 phao [phao@187.117.197.33] has joined #scheme 00:51:25 -!- chturne [~chturne@host86-148-233-236.range86-148.btcentralplus.com] has quit [Quit: Leaving] 00:54:53 tejaswidp [~tejaswidp@117.192.140.41] has joined #scheme 01:03:17 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 272 seconds] 01:04:03 adiii [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 01:06:03 -!- confab [~win7@086.112-30-64.ftth.swbr.surewest.net] has quit [Read error: Connection reset by peer] 01:08:07 confab [~confab@086.112-30-64.ftth.swbr.surewest.net] has joined #scheme 01:11:04 peterhil [~peterhil@91-157-48-51.elisa-laajakaista.fi] has joined #scheme 01:34:34 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 01:41:45 -!- tejaswidp [~tejaswidp@117.192.140.41] has quit [Read error: Connection reset by peer] 01:43:11 -!- jewel_ [~jewel@196-215-88-214.dynamic.isadsl.co.za] has quit [Ping timeout: 272 seconds] 01:46:59 -!- MrFahrenheit [~RageOfTho@cable-77-221-31-226.dynamic.vinet.ba] has quit [Ping timeout: 272 seconds] 01:50:06 -!- Sorella_ [~quildreen@201-58-235-155.user.veloxzone.com.br] has quit [Quit: (quit :reason 'sleep)] 01:52:00 -!- ssbr [~ssbr@python/site-packages/ssbr] has quit [Read error: Operation timed out] 02:01:15 Transformer [~Transform@d-65-175-244-147.cpe.metrocast.net] has joined #scheme 02:01:23 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Quit: WeeChat 0.3.8] 02:01:53 -!- Transformer [~Transform@d-65-175-244-147.cpe.metrocast.net] has left #scheme 02:04:01 b4283 [~b4283@114-47-2-102.dynamic.hinet.net] has joined #scheme 02:08:30 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 264 seconds] 02:15:06 RomyRomy [~stickycak@cpe-69-203-115-155.nyc.res.rr.com] has joined #scheme 02:16:22 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 240 seconds] 02:18:00 -!- nowhere_man [~pierre@AStrasbourg-551-1-138-30.w90-26.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 02:23:57 -!- RomyRomy [~stickycak@cpe-69-203-115-155.nyc.res.rr.com] has quit [Quit: RomyRomy] 02:24:20 -!- b4283 [~b4283@114-47-2-102.dynamic.hinet.net] has quit [Ping timeout: 248 seconds] 02:25:00 RomyRomy [~stickycak@cpe-69-203-115-155.nyc.res.rr.com] has joined #scheme 02:26:18 -!- RomyRomy [~stickycak@cpe-69-203-115-155.nyc.res.rr.com] has quit [Client Quit] 02:27:26 -!- tertl4 [~tertl3@108-85-16-151.lightspeed.gnvlsc.sbcglobal.net] has quit [Ping timeout: 244 seconds] 02:32:00 b4283 [~b4283@118-171-51-135.dynamic.hinet.net] has joined #scheme 02:38:57 tejaswidp [~tejaswidp@117.192.150.234] has joined #scheme 02:39:02 toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has joined #scheme 02:53:17 abel [~austin@ool-4577ba80.dyn.optonline.net] has joined #scheme 03:10:26 -!- phao [phao@187.117.197.33] has quit [Read error: Connection reset by peer] 03:29:02 chu [~chu@unaffiliated/chu] has joined #scheme 03:33:35 miql [~miql@ip98-165-228-225.ph.ph.cox.net] has joined #scheme 03:41:59 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 03:47:05 phao [phao@187.91.124.3] has joined #scheme 03:49:18 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 264 seconds] 03:50:04 lcc [~user@unaffiliated/lcc] has joined #scheme 03:53:01 -!- Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has quit [Quit: Leaving.] 04:11:16 antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has joined #scheme 04:13:50 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 04:14:36 -!- hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 252 seconds] 04:17:52 -!- tejaswidp [~tejaswidp@117.192.150.234] has quit [Quit: Leaving] 04:18:12 tejaswidp [~tejaswidp@117.192.150.234] has joined #scheme 04:19:28 -!- tejaswidp is now known as arch_linux_glori 04:22:24 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 246 seconds] 04:24:49 samth [~samth@racket/samth] has joined #scheme 04:25:01 -!- arch_linux_glori is now known as archlinuxbestlin 04:37:07 -!- lusory [~lusory@bb42-60-31-187.singnet.com.sg] has quit [Ping timeout: 240 seconds] 04:41:33 -!- archlinuxbestlin [~tejaswidp@117.192.150.234] has quit [Read error: Connection reset by peer] 04:53:08 -!- samth [~samth@racket/samth] has quit [Ping timeout: 244 seconds] 04:53:08 whitequark [~whitequar@2a00:ab00:1::4464:5550] has joined #scheme 04:54:41 archlinuxbestlin [~tejaswidp@117.192.137.29] has joined #scheme 05:12:33 -!- archlinuxbestlin [~tejaswidp@117.192.137.29] has quit [Remote host closed the connection] 05:14:55 xwl [~user@123.108.223.31] has joined #scheme 05:22:18 -!- abel [~austin@ool-4577ba80.dyn.optonline.net] has quit [Ping timeout: 264 seconds] 05:26:15 gravicappa [~gravicapp@ppp91-77-160-166.pppoe.mtu-net.ru] has joined #scheme 05:27:44 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 05:36:53 -!- miql [~miql@ip98-165-228-225.ph.ph.cox.net] has quit [Ping timeout: 272 seconds] 05:38:15 miql [~miql@ip98-165-228-225.ph.ph.cox.net] has joined #scheme 05:42:30 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 05:45:57 lldong [~lldong@38.105.29.73] has joined #scheme 05:56:24 lusory [~lusory@bb42-60-31-187.singnet.com.sg] has joined #scheme 05:57:49 if CPS is completely equivalent to SSA, then what's the "non-functional" equivalent of ANF? 06:02:56 realitygrill [~realitygr@ool-18ba55c0.dyn.optonline.net] has joined #scheme 06:11:31 -!- antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has quit [Quit: antithesis] 06:22:15 -!- lusory [~lusory@bb42-60-31-187.singnet.com.sg] has quit [Read error: Connection reset by peer] 06:24:43 tertl4 [~tertl3@108-85-16-151.lightspeed.gnvlsc.sbcglobal.net] has joined #scheme 06:26:24 tejaswidp [~tejaswidp@117.192.137.29] has joined #scheme 06:30:31 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 06:31:18 -!- fold [~fold@71-8-117-85.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 264 seconds] 06:35:19 lebro [~monx@ool-18babb78.dyn.optonline.net] has joined #scheme 06:43:15 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 06:48:35 disciple [~krishna@117.207.109.50] has joined #scheme 06:53:44 -!- X-Scale [name@2001:470:1f14:135b::2] has quit [Remote host closed the connection] 06:53:59 jewel [~jewel@196-215-88-214.dynamic.isadsl.co.za] has joined #scheme 06:55:58 jewel_ [~jewel@196-215-126-160.dynamic.isadsl.co.za] has joined #scheme 06:58:30 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 252 seconds] 06:58:54 -!- jewel [~jewel@196-215-88-214.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 07:01:05 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 07:03:44 eni [~eni@31.171.153.34] has joined #scheme 07:12:22 -!- tejaswidp [~tejaswidp@117.192.137.29] has quit [Ping timeout: 250 seconds] 07:22:52 antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has joined #scheme 07:23:43 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 07:28:30 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 255 seconds] 07:30:10 -!- antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has quit [Quit: antithesis] 07:32:52 antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has joined #scheme 07:35:08 lusory [~lusory@bb42-60-31-187.singnet.com.sg] has joined #scheme 07:42:01 -!- toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 07:42:57 toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has joined #scheme 07:44:38 eli : (a) how common is it to refactor a macro from/to a procedure ? 07:44:43 eli : (b) i'm not sure i understand your second point; are you talking (only) about code-walkers here ? 07:44:46 (eli : *nod* to the last comment, i'm just interested here in what the good and bad points about distinguishing procedure calls from macro calls are) 07:49:24 ski: as often as you make the mistake of writing a macro when a procedure would do, or a procedure when a macro is needed. 07:54:52 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 07:56:37 Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has joined #scheme 08:01:43 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 244 seconds] 08:04:25 yeah, i'm not quite sure how common that is, and whether i'd think that cause enough to have the same application syntax :) 08:07:36 -!- phao [phao@187.91.124.3] has left #scheme 08:10:41 phao [phao@187.91.124.3] has joined #scheme 08:16:09 tejaswidp [~tejaswidp@117.192.151.221] has joined #scheme 08:20:52 ski: it happens. Notice however that there's a pattern of implemeting a macro with a function (at least in CL): (defun f* (argument) (generate-some-code arguments)) (defmacro f (argument) (f* arguments)) 08:21:23 Typically: (defmacro with-something (argument) (call-something (lambda () (something-with arguments)))) 08:21:38 There are several functions named call-something in Scheme 08:22:36 err, typically it would be: (defmacro with-something (argument) `(call-something (lambda () (something-with ,arguments)))). 08:23:08 But this gives you the two ways, since it would be rare to write a function that generates code, and not noticing it should be a macro :-) 08:23:24 (unless you're writing a compiler). 08:27:27 -!- realitygrill [~realitygr@ool-18ba55c0.dyn.optonline.net] has quit [Quit: Computer has gone to sleep] 08:28:24 -!- tejaswidp [~tejaswidp@117.192.151.221] has quit [Quit: Leaving] 08:33:06 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Ping timeout: 252 seconds] 08:41:18 -!- fantazo [~fantazo@user-108-237.vpn.univie.ac.at] has quit [Read error: Connection reset by peer] 08:45:51 pjb : ok 08:46:38 (so i assume you meant (defmacro f (argument) `(f* ,argument)) in the first line) 08:46:53 i think i've seen this pattern in Scheme, as well 08:47:12 -!- lebro [~monx@ool-18babb78.dyn.optonline.net] has quit [Remote host closed the connection] 08:52:31 ski: no in the first case it was correct. f* would be a function returning some code. 08:52:37 -!- phao [phao@187.91.124.3] has quit [Quit: Not Here] 08:52:55 just like for example, list can return some code: (list 'if (list '= 'a 'b) (list 'display "Hi")) 08:53:08 or list hidden in a backquote. 08:53:39 One advantage of using a function to generate the code is that it's slightly easier to debug functions than macros. 08:53:58 So when you have complex code to generate, better use function (and functional decomposition). 08:58:31 fantazo [~fantazo@91-119-221-59.dynamic.xdsl-line.inode.at] has joined #scheme 09:02:46 lcc [~user@unaffiliated/lcc] has joined #scheme 09:05:18 phao [phao@187.91.124.3] has joined #scheme 09:10:30 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 09:15:13 quera [~mike@host86-148-85-42.range86-148.btcentralplus.com] has joined #scheme 09:17:46 -!- gravicappa [~gravicapp@ppp91-77-160-166.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 09:18:06 rbarraud [~rbarraud@222-155-139-54.jetstream.xtra.co.nz] has joined #scheme 09:26:45 disciple [~krishna@117.207.109.50] has joined #scheme 09:27:05 ThePawnBreak [Cristi@94.177.108.25] has joined #scheme 09:38:46 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 09:52:59 araujo [~araujo@190.73.45.171] has joined #scheme 09:52:59 -!- araujo [~araujo@190.73.45.171] has quit [Changing host] 09:52:59 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 09:56:42 MrFahrenheit [~RageOfTho@cable-77-221-31-226.dynamic.vinet.ba] has joined #scheme 09:58:32 window 1 09:58:38 -!- quera [~mike@host86-148-85-42.range86-148.btcentralplus.com] has quit [Quit: leaving] 10:00:52 buffer 3 10:02:48 masm [~masm@bl18-58-181.dsl.telepac.pt] has joined #scheme 10:15:55 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 10:17:35 gravicappa [~gravicapp@ppp91-77-160-166.pppoe.mtu-net.ru] has joined #scheme 10:19:04 -!- eni [~eni@31.171.153.34] has quit [Quit: Leaving] 10:21:36 -!- adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has quit [Quit: adu] 10:31:18 -!- tertl4 [~tertl3@108-85-16-151.lightspeed.gnvlsc.sbcglobal.net] has quit [Ping timeout: 264 seconds] 10:32:19 -!- rbarraud [~rbarraud@222-155-139-54.jetstream.xtra.co.nz] has quit [Read error: Operation timed out] 10:45:42 disciple [~krishna@117.207.109.50] has joined #scheme 10:55:44 -!- disciple [~krishna@117.207.109.50] has quit [Ping timeout: 252 seconds] 10:56:33 disciple [~krishna@117.207.109.50] has joined #scheme 11:11:08 -!- Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has quit [Quit: Leaving.] 11:15:36 -!- ThePawnBreak [Cristi@94.177.108.25] has quit [Read error: Connection reset by peer] 11:21:42 keenbug [~daniel@p4FE3A69A.dip.t-dialin.net] has joined #scheme 11:26:01 kudkudyak [~user@94.72.136.103] has joined #scheme 11:26:21 -!- lldong [~lldong@38.105.29.73] has quit [Ping timeout: 240 seconds] 11:38:05 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: Leaving...] 11:39:53 pjb : ok, i see 11:41:00 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 11:42:57 -!- gravicappa [~gravicapp@ppp91-77-160-166.pppoe.mtu-net.ru] has quit [Ping timeout: 272 seconds] 11:48:21 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Read error: Operation timed out] 11:54:30 -!- wbooze [~wbooze@xdsl-78-35-135-10.netcologne.de] has quit [Read error: Operation timed out] 11:55:29 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 11:57:36 tejaswidp [~tejaswidp@117.202.16.56] has joined #scheme 11:57:59 gravicappa [~gravicapp@ppp91-77-161-223.pppoe.mtu-net.ru] has joined #scheme 11:58:40 Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has joined #scheme 12:00:39 Dalek_Baldwin1 [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has joined #scheme 12:02:57 -!- Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 246 seconds] 12:07:15 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 12:08:33 disciple [~krishna@117.207.109.50] has joined #scheme 12:11:03 ski: (a) it can be very common -- an example that I mention is contracts in racket: if you provide a function with a contract from a module then what actually gets provided is a macro that usually behaves like the function but can throw better errors; another recent example is when you add keywords to a function -- you again get a function-like macro that optimizes away the keyword management. 12:12:42 -!- phao [phao@187.91.124.3] has quit [Ping timeout: 264 seconds] 12:12:55 And for (b) it's not just code walkers -- with the current way racket does []s you use it only as a visual tool but it has no effect on macros; but if you require a different thing for macros then that means that the new brackets have a different semantical meaning, and now you're dealing with sexprs that are either lists or the new thing, so all meta code becomes more complex. 12:13:48 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Quit: Client Quit] 12:16:07 eli : does your (a) cases admit passing the macro-masquerading-as-procedure as an argument (using identifier macros or something) ? 12:16:28 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 12:16:42 No -- in those cases it just evaluates to the underlying function. 12:17:09 ok, but it at least doesn't error out 12:17:13 (Which makes sense in both cases, since you lose the ability for good errors with HO uses, and the ability to optimize away keyword args.) 12:17:46 It *shouldn't* error, since for all you (the end user) know, you have a function. 12:18:16 yes, that's what i wanted to check :) 12:18:35 (anything else would have been less desirable) 12:19:58 (but presumable where the procedure is received, one can't use it in it's macro-incarnation -- at least not without some kind of static annotation there) 12:21:16 Yes, that was my "makes sense" comment -- 12:21:29 it would be nice to have that, but it requires static analysis. 12:22:16 -!- tejaswidp [~tejaswidp@117.202.16.56] has quit [Ping timeout: 252 seconds] 12:22:48 -!- kudkudyak [~user@94.72.136.103] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:23:30 ThePawnBreak [Cristi@94.177.108.25] has joined #scheme 12:23:30 -!- ThePawnBreak [Cristi@94.177.108.25] has quit [Client Quit] 12:28:09 ok 12:28:14 i don't follow the (b) case -- what's an example of a non-code-walker macro in which "you need two separate cases for macros and for functions" ? 12:28:52 SanderM [~quassel@vhe-400104.sshn.net] has joined #scheme 12:28:52 -!- SanderM [~quassel@vhe-400104.sshn.net] has quit [Client Quit] 12:29:05 SanderM [~quassel@vhe-400104.sshn.net] has joined #scheme 12:34:52 tejaswidp [~tejaswidp@117.192.140.127] has joined #scheme 12:39:30 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 12:39:57 -!- toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has quit [Ping timeout: 272 seconds] 12:40:07 disciple [~krishna@117.207.109.50] has joined #scheme 12:41:13 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Ping timeout: 272 seconds] 12:41:39 toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has joined #scheme 12:54:03 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 12:54:10 hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 12:54:46 disciple [~krishna@117.207.109.50] has joined #scheme 12:55:52 -!- Dalek_Baldwin1 [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has quit [Quit: Leaving.] 13:05:10 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Remote host closed the connection] 13:05:54 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 13:09:38 fold [~fold@71-8-117-85.dhcp.ftwo.tx.charter.com] has joined #scheme 13:19:15 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 13:22:06 jfe_ [~jfe@c-50-138-234-160.hsd1.ct.comcast.net] has joined #scheme 13:26:10 is scheme an acceptable language for production-quality programs? 13:28:14 or is it more of a toy language? 13:28:37 it doesn't mean you can't 13:28:47 it just means there are not many.....out there 13:29:05 maybe not enough people fluent in it.... 13:31:29 -!- gravicappa [~gravicapp@ppp91-77-161-223.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 13:36:04 hm. 13:36:51 r_r_r [~chatzilla@77.127.35.53] has joined #scheme 13:36:55 jfe_: yes, for example there are game companies that use Racket for scripting. 13:37:51 It depends on what you need (e.g., libraries) though. 13:37:51 asumu: i'm trying to decide if it would be better to implement a mini lisp/scheme interpreter into a program i want to write, or just write it in lisp/scheme 13:38:30 s/into/in/ 13:38:38 That really depends on the program. 13:38:59 you have then to maintain two things.... 13:42:07 -!- fantazo [~fantazo@91-119-221-59.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 13:43:20 asumu: i basically have a character stream containing messages delimited by ascii control codes. within the message there are fields encoded in ascii hex that represent numbers, strings, and a "number of records to follow" field which implies that there are lists of lists of data. 13:44:13 i feel like lisp/scheme would be perfect, given this kind of recursion. 13:44:22 -!- chu [~chu@unaffiliated/chu] has quit [Quit: leaving] 13:45:08 on the backside, i need to read these fields in and parse them into structures of a specific size, to be written to binary files. 13:48:16 That sounds do-able in Scheme. Unless there's a good reason, you might try writing it in Scheme rather than embedding an interpreter. 13:49:42 asumu: can a scheme program read from stdin ala unix programs? 13:49:44 slucx [~lumpy_wx@58.253.232.223] has joined #scheme 13:50:44 mucker [~mucker@183.83.240.198] has joined #scheme 13:56:00 -!- slucx [~lumpy_wx@58.253.232.223] has quit [Quit: ] 13:56:30 -!- teiresias [~teiresias@archlinux/trusteduser/teiresias] has quit [Ping timeout: 252 seconds] 13:57:22 ski: Specific examples don't matter -- the point is that now you have either (x y z) syntaxes or [x y z] ones, and they are semantically different therefore they're two different types. 13:57:56 jfe_: yes, though the details might depend on your implementation. (R6RS has `standard-input-port`) 13:59:35 bro_grammer [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 14:00:17 jfe_: for example, stdin/stdout in Racket: http://docs.racket-lang.org/guide/default-ports.html 14:01:05 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 14:02:30 -!- hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 264 seconds] 14:03:22 eli : yes, but i don't see how that connects to "when you're dealing with code (= when you're writing macros) you lose the uniform language and now you need two separate cases for macros and for functions" 14:04:29 judging from "Obviously you get a benefit from that too -- that you can now write macros that can tell when some expression in their bodies is a macro or not," it sounded like you were talking about a macro which could distinguish between procedure and macro applications in its argument forms 14:05:43 and i don't really see how this would then not be a code-walker (possibly a somewhat trivial one, but not completely trivial, otherwise it wouldn't need to check the shape of the argument forms for being either a procedure combination, or a macro application) 14:07:03 ski: sexprs are (roughly) defined as: either a primitive literal or a list of sexprs 14:07:17 In (still rough) typed racket syntax: (define-type Sexpr (U Literal (Listof Sexpr))) 14:07:26 But having []s for macros, you need to extend the definition: 14:07:34 (define-type Sexpr (U Literal (Listof Sexpr) (BracketedListof Sexpr))) 14:08:09 So you have more cases to deal with whenever you write code that handles sexprs. 14:08:21 -!- huangjs [~huangjs@190.8.100.83] has quit [Read error: Connection reset by peer] 14:12:58 grimtrigger [~grimtrigg@cpe-72-224-189-164.maine.res.rr.com] has joined #scheme 14:13:41 phao [phao@177.115.226.112] has joined #scheme 14:16:29 eli : i naïvely think of macros as a way to (more conveniently) do (some aspects of) staged programming 14:16:49 i.e. when i see 14:17:17 (+ 1 (let ((x 2)) (* x x))) 14:17:40 i think of this as roughly meaning 14:18:24 `(+ 1 ,(let-transformer (list (list `x `2)) `(* x x))) 14:18:41 or, if you prefer 14:19:13 (procedure-application `+ `1 (let-transformer (list (list `x `2)) (procedure-application `* `x `x))) 14:20:32 i.e., after determining which combinations are macro applications, we get a staged program, which we execute to generate code which doesn't contain any macro calls (except the "primitive syntax" ones, whichever those are) 14:21:34 though, i know it's more complicated than this (in current Scheme), because one may have to expand a macro call to be able to decide whether some combination is a macro call or not 14:22:03 also, there's the complication of bound variables (the plain sexprs-as-lists idea doesn't account for that) 14:22:27 ski: That's not a good view of what macros are used for, but it's irrelevant to the point I'm making which is very technical and simple: if you want to distinguish function calls and macro "calls" you need to extend the sexpr type. 14:24:49 -!- grimtrigger [~grimtrigg@cpe-72-224-189-164.maine.res.rr.com] has quit [Quit: irc2go] 14:25:33 kudkudyak [~user@94.72.136.103] has joined #scheme 14:27:11 *ski* agrees with that 14:27:25 (but you need to extend it in any case) 14:28:47 eli : anyway, i do appreciate that you're spending some time to explain your view on these things 14:34:40 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Quit: none] 14:35:28 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 14:41:54 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 14:45:32 -!- jfe_ [~jfe@c-50-138-234-160.hsd1.ct.comcast.net] has quit [Quit: quit] 14:49:55 disciple [~krishna@117.207.109.50] has joined #scheme 14:56:05 -!- phao [phao@177.115.226.112] has quit [Quit: Not Here] 15:00:34 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 15:03:33 abel [~austin@ool-4577ba80.dyn.optonline.net] has joined #scheme 15:12:26 Sorella [~quildreen@oftn/member/Sorella] has joined #scheme 15:28:01 chturne [~chturne@host86-148-233-236.range86-148.btcentralplus.com] has joined #scheme 15:28:28 disciple [~krishna@117.207.109.50] has joined #scheme 15:28:47 tejaswi [~tejaswidp@117.192.145.188] has joined #scheme 15:29:46 realitygrill [~realitygr@ool-18ba55c0.dyn.optonline.net] has joined #scheme 15:30:06 -!- tejaswidp [~tejaswidp@117.192.140.127] has quit [Ping timeout: 264 seconds] 15:38:55 teiresias [~teiresias@archlinux/trusteduser/teiresias] has joined #scheme 15:50:10 -!- toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has quit [Ping timeout: 250 seconds] 15:50:27 toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has joined #scheme 15:51:41 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 15:59:27 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Ping timeout: 272 seconds] 16:07:20 disciple [~krishna@117.207.109.50] has joined #scheme 16:25:53 -!- r_r_r [~chatzilla@77.127.35.53] has quit [Read error: Connection timed out] 16:26:27 -!- toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 16:27:23 r_r_r [~chatzilla@77.127.35.53] has joined #scheme 16:28:16 -!- r_r_r [~chatzilla@77.127.35.53] has quit [Client Quit] 16:36:05 -!- abel [~austin@ool-4577ba80.dyn.optonline.net] has left #scheme 16:41:21 -!- masm [~masm@bl18-58-181.dsl.telepac.pt] has quit [Ping timeout: 240 seconds] 16:41:28 toastp [~toastp@50-47-87-151.evrt.wa.frontiernet.net] has joined #scheme 16:46:23 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 16:55:40 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 16:57:11 disciple_ [~krishna@117.207.109.50] has joined #scheme 16:57:43 -!- disciple [~krishna@117.207.109.50] has quit [Ping timeout: 272 seconds] 16:57:43 -!- disciple_ is now known as disciple 17:04:25 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Remote host closed the connection] 17:05:01 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 17:10:32 tejaswid [~tejaswidp@117.192.130.137] has joined #scheme 17:11:36 -!- tejaswi [~tejaswidp@117.192.145.188] has quit [Ping timeout: 246 seconds] 17:18:33 tertl4 [~tertl3@108-85-16-151.lightspeed.gnvlsc.sbcglobal.net] has joined #scheme 17:20:17 X-Scale [name@2001:470:1f14:135b::2] has joined #scheme 17:30:38 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 17:31:34 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 17:31:54 -!- toastp [~toastp@50-47-87-151.evrt.wa.frontiernet.net] has quit [Ping timeout: 264 seconds] 17:36:59 -!- jewel_ [~jewel@196-215-126-160.dynamic.isadsl.co.za] has quit [Ping timeout: 272 seconds] 17:40:14 huangjs [~huangjs@190.8.100.83] has joined #scheme 17:45:49 gravicappa [~gravicapp@ppp91-77-161-223.pppoe.mtu-net.ru] has joined #scheme 17:55:36 -!- SanderM [~quassel@vhe-400104.sshn.net] has quit [Remote host closed the connection] 18:01:12 -!- help2man is now known as shopt 18:09:34 -!- teiresias [~teiresias@archlinux/trusteduser/teiresias] has quit [Quit: leaving] 18:12:28 masm [~masm@bl18-58-181.dsl.telepac.pt] has joined #scheme 18:17:22 -!- b4283 [~b4283@118-171-51-135.dynamic.hinet.net] has quit [Remote host closed the connection] 18:21:02 -!- realitygrill [~realitygr@ool-18ba55c0.dyn.optonline.net] has quit [Quit: Computer has gone to sleep] 18:25:40 jewel_ [~jewel@196-215-126-160.dynamic.isadsl.co.za] has joined #scheme 18:28:05 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 18:30:37 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Quit: Leaving] 18:31:13 -!- adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has quit [Quit: adu] 18:45:08 -!- githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has quit [Ping timeout: 248 seconds] 18:48:06 -!- adiii [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 18:50:27 adiii [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 18:55:09 -!- antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has quit [Quit: antithesis] 19:02:33 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 19:04:44 chturne,amliby : if you want something like a one-armed `if', or a `when', but which returns `#f' if the conditional is false, instead of returning a void value or being unspecified, then you can use `and' 19:05:31 aha. 19:05:33 *FurnaceBoy* has done this 19:07:22 ski, yep, IIRC we were just discussing what we thought were "more reasonable" [sic] defaults in such cases, rather than "workarounds" :) 19:07:42 well, it's not exactly a workaround. 19:07:53 it clearly states the operation 19:07:58 I personally don't like that being unspecified behaviour, but hey. 19:08:12 FurnaceBoy, ? 19:08:26 ski's suggestion. isn't a workaround. it's just a way of expressing the same thing. 19:08:44 OK, semantic pedantry aside ;) 19:09:16 you'll see this in idiomatic scheme 19:09:21 there is also SRFI 2 "AND-LET*: an AND with local bindings, a guarded LET* special form" by Oleg Kiselyov at , when you want to name the earlier result(s), if not `#f' 19:09:46 FurnaceBoy, I'm aware of the idiom, it's use was not what I was asking about... 19:09:54 *its 19:11:05 Thanks ski, I hadn't seen that one before. 19:11:12 well, i see it is a workaround for "fretting about if", but you might have written it anyway at first. 19:11:54 and we can continue to fret about IF even having had it mentioned, i suppose. 19:12:33 why not just use a Unit type, as other languages do? :) 19:12:38 :) 19:13:08 or is that already '() 19:13:24 meh 19:13:29 *FurnaceBoy* doesn't want to open this can of worms 19:13:59 ski: you open it! 19:16:44 also see the 2006-02-03 entry "Option types, optional parameters" at , about "domain contagion" 19:17:00 (there is an RSS feed for it at ) 19:18:18 FurnaceBoy : a void value, or an unspecified value (maybe sometimes unspecified values) seem to be used for that 19:18:52 *ski* thinks it would make sense to have such expressions evaluate to zero values 19:19:22 rudybut: (values) 19:19:29 rudybot: (values) 19:19:29 leppie: Done. 19:21:02 rudybot: (begin (values) (values)) 19:21:03 ski: your sandbox is ready 19:21:04 ski: Done. 19:21:52 An one-armed if has no meaningful result 19:22:19 rudybot: (list (if #f #f)) 19:22:19 weinholt: your sandbox is ready 19:22:19 weinholt: error: #:1:6: if: bad syntax (must have an "else" expression) in: (if #f #f) 19:22:39 rudybot: where has that lazy boy incubot gone ? 19:22:40 ski: boy i love the feeling of stacking up commits locally in git, and knowing, I can go back and fix something before pushing if I realize i did something dumb... 19:22:41 -!- tertl4 [~tertl3@108-85-16-151.lightspeed.gnvlsc.sbcglobal.net] has quit [Ping timeout: 240 seconds] 19:23:04 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Read error: Connection reset by peer] 19:23:31 rudybot: (list (when #f #f)) 19:23:31 leppie: ; Value: (#) 19:23:57 rudybot: (values (when #f #f)) 19:23:57 leppie: Done. 19:23:58 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 19:24:07 lol dark corners ;p 19:25:21 -!- tejaswid [~tejaswidp@117.192.130.137] has quit [Remote host closed the connection] 19:26:12 rudybot: eval (call-with-values (lambda () (values (when #f #f))) list) 19:26:12 ski: ; Value: (#) 19:26:45 rudybot: eval (values (values 0 1)) 19:26:45 ski: error: context expected 1 value, received 2 values: 0 1 19:26:54 rudybot: eval (values (values)) 19:26:54 ski: error: context expected 1 value, received 0 values 19:27:29 since these # values are unspecified, i suggest that implementors should encode a program counter (or something equivalent) inside them 19:28:16 then if we see a void value where one was not expected, it's possible to find out what generated it 19:38:08 carleastlund [~cce@gotham.ccs.neu.edu] has joined #scheme 19:47:01 eni [~eni@95-178-201-133.dsl.optinet.hr] has joined #scheme 19:47:34 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Quit: Client Quit] 19:58:53 -!- xwl [~user@123.108.223.31] has quit [Ping timeout: 250 seconds] 19:59:22 Rubix [~Rubix@c-24-63-91-156.hsd1.ma.comcast.net] has joined #scheme 20:04:00 fantazo [~fantazo@91-119-231-37.dynamic.xdsl-line.inode.at] has joined #scheme 20:06:36 -!- jewel_ [~jewel@196-215-126-160.dynamic.isadsl.co.za] has quit [Ping timeout: 244 seconds] 20:17:25 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: Leaving...] 20:18:39 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 20:20:55 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 20:25:57 -!- kudkudyak [~user@94.72.136.103] has quit [Read error: Connection reset by peer] 20:26:33 kudkudyak [~user@94.72.136.103] has joined #scheme 20:28:07 -!- eni [~eni@95-178-201-133.dsl.optinet.hr] has quit [Quit: Leaving] 20:30:23 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 20:35:30 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Read error: Connection reset by peer] 20:36:34 -!- gravicappa [~gravicapp@ppp91-77-161-223.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:42:29 -!- disciple [~krishna@117.207.109.50] has quit [Quit: zzzZZZ] 20:43:31 -!- dawtcummz is now known as dawtcawm 20:44:01 -!- dawtcawm is now known as Guest18269 20:50:56 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 20:59:42 githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has joined #scheme 21:08:47 -!- Guest18269 is now known as pushp0p 21:08:50 -!- pushp0p [~dibbish@173.230.139.35] has quit [Changing host] 21:08:50 pushp0p [~dibbish@unaffiliated/pushp0p] has joined #scheme 21:16:16 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:16:45 bfgun [~b_fin_g@r190-135-15-217.dialup.adsl.anteldata.net.uy] has joined #scheme 21:18:00 -!- kudkudyak [~user@94.72.136.103] has quit [Read error: Connection reset by peer] 21:18:42 kudkudyak [~user@94.72.136.103] has joined #scheme 21:18:55 bipt [~bpt@rrcs-98-101-11-199.midsouth.biz.rr.com] has joined #scheme 21:22:29 -!- bfgun is now known as bfig 21:26:15 -!- miql [~miql@ip98-165-228-225.ph.ph.cox.net] has quit [Ping timeout: 272 seconds] 21:29:45 disciple [~krishna@117.207.109.50] has joined #scheme 21:32:09 wkelly [~wilk@i.cannot.name] has joined #scheme 21:35:41 toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has joined #scheme 21:44:07 -!- adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has quit [Quit: adu] 21:47:55 equity [equity@204.176.194.17] has joined #scheme 21:49:47 -!- kudkudyak [~user@94.72.136.103] has quit [Read error: Connection reset by peer] 21:52:11 lcc [~user@unaffiliated/lcc] has joined #scheme 21:54:35 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: Leaving...] 21:54:54 realitygrill [~realitygr@ool-18ba55c0.dyn.optonline.net] has joined #scheme 21:56:49 Dalek_Baldwin [~Adium@71-84-33-22.dhcp.mtpk.ca.charter.com] has joined #scheme 21:57:42 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 21:59:48 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 22:03:59 -!- keenbug [~daniel@p4FE3A69A.dip.t-dialin.net] has quit [Read error: Operation timed out] 22:05:40 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 22:14:45 chu [~chu@unaffiliated/chu] has joined #scheme 22:20:03 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Quit: none] 22:27:44 nowhere_man [~pierre@AStrasbourg-551-1-141-135.w90-26.abo.wanadoo.fr] has joined #scheme 22:29:42 -!- fantazo [~fantazo@91-119-231-37.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 22:34:24 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 276 seconds] 22:40:30 -!- adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has quit [Quit: adu] 22:42:17 dnolen [~user@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 22:51:15 -!- nowhere_man [~pierre@AStrasbourg-551-1-141-135.w90-26.abo.wanadoo.fr] has quit [Remote host closed the connection] 22:56:06 -!- disciple [~krishna@117.207.109.50] has quit [Ping timeout: 250 seconds] 22:56:35 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 244 seconds] 22:57:12 disciple [~krishna@117.207.109.50] has joined #scheme 22:58:59 -!- toastp [~toastp@c-76-104-189-93.hsd1.wa.comcast.net] has quit [Quit: Bye] 23:11:55 wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has joined #scheme 23:13:18 -!- adiii [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 264 seconds] 23:14:36 -!- peterhil [~peterhil@91-157-48-51.elisa-laajakaista.fi] has quit [Ping timeout: 245 seconds] 23:17:33 adiii [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 23:21:12 adu [~ajr@pool-108-45-79-219.washdc.fios.verizon.net] has joined #scheme 23:38:38 -!- wbooze [~wbooze@xdsl-78-35-131-161.netcologne.de] has quit [Quit: none] 23:41:32 what should I read next after I read sicp? 23:46:13 do the exercises? 23:53:07 lcc, consult the bibliography? http://readscheme.org/ has lots of good stuff too. Dickens? 23:56:00 lcc: htdp? 23:56:18 lcc: also, writing some apps at this point might be fun 23:57:11 lcc: my usual sequence is: hello world, cat, tac, rot13, json, http server