00:09:19 -!- answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has quit [Quit: leaving] 00:14:55 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 00:17:11 jao: Yep, 3rd edition is R5RS. 00:22:46 realitygrill [~realitygr@adsl-76-226-128-129.dsl.sfldmi.sbcglobal.net] has joined #scheme 00:23:42 -!- adu [~ajr@pool-173-66-253-53.washdc.fios.verizon.net] has quit [Quit: adu] 00:26:06 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 272 seconds] 00:27:38 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 00:29:47 kvda [~kvda@202.58.240.18] has joined #scheme 00:35:57 -!- dnolen [~user@pool-96-224-20-172.nycmny.east.verizon.net] has quit [Remote host closed the connection] 00:39:14 dnolen [~user@pool-96-224-20-172.nycmny.east.verizon.net] has joined #scheme 00:40:47 -!- masm [~masm@bl18-51-111.dsl.telepac.pt] has quit [Quit: Leaving.] 00:41:27 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 00:45:52 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Read error: Operation timed out] 00:46:14 Radium [~rajesh.na@117.203.4.222] has joined #scheme 00:57:18 -!- Radium [~rajesh.na@117.203.4.222] has quit [Remote host closed the connection] 00:59:54 jao: r5rs is obviously the sixth edition! 01:00:26 rs, rrs, r2rs, r3rs, r4rs, r5rs 01:01:02 rs, rrs, r²rs, r³rs, rrs, rrs, actually. 01:03:26 o.O 01:04:04 at first I thought you were describing the free commutative monoid 01:08:20 tupi [~david@187.80.45.125] has joined #scheme 01:11:01 cdidd [~cdidd@128-72-218-178.broadband.corbina.ru] has joined #scheme 01:12:14 .. over a single generator ? 01:13:55 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 01:16:47 well, then I looked more closely and saw it didn't make much sense :) 01:17:14 -!- jeapostrophe [~jay@racket/jeapostrophe] has quit [Ping timeout: 245 seconds] 01:26:10 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 01:26:19 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Remote host closed the connection] 01:26:34 kandinski [~kandinski@hiperactivo.com] has joined #scheme 01:26:38 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 01:43:51 -!- cdidd [~cdidd@128-72-218-178.broadband.corbina.ru] has quit [Remote host closed the connection] 01:43:52 jeapostrophe [~jay@racket/jeapostrophe] has joined #scheme 01:59:12 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 272 seconds] 02:01:03 cdidd [~cdidd@128-72-131-138.broadband.corbina.ru] has joined #scheme 02:01:41 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Remote host closed the connection] 02:01:56 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 02:02:29 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Remote host closed the connection] 02:02:38 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 02:02:57 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Remote host closed the connection] 02:03:06 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 02:05:12 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 02:07:48 soveran [~soveran@186.19.214.247] has joined #scheme 02:11:51 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Read error: Connection reset by peer] 02:16:25 -!- tupi [~david@187.80.45.125] has quit [Quit: Leaving] 02:36:39 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 244 seconds] 02:40:53 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 248 seconds] 02:42:20 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 02:43:30 stamourv [~user@racket/stamourv] has joined #scheme 02:48:38 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 02:48:52 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 02:49:43 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 03:02:10 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 03:04:38 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Ping timeout: 245 seconds] 03:04:52 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 03:05:06 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 03:12:01 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 272 seconds] 03:15:20 lcc [~user@unaffiliated/lcc] has joined #scheme 03:16:05 -!- turbofail [~user@38.99.37.210] has quit [Ping timeout: 248 seconds] 03:17:17 -!- peterhil` [~peterhil@xdsl-77-86-196-131.nebulazone.fi] has quit [Ping timeout: 248 seconds] 03:18:06 -!- jeapostrophe [~jay@racket/jeapostrophe] has quit [Ping timeout: 244 seconds] 03:19:02 peterhil [~peterhil@xdsl-77-86-196-131.nebulazone.fi] has joined #scheme 03:21:31 getpwnam [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 03:21:33 lem_e_tweakit [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 03:21:41 -!- jake__ [~jake@74.213.226.253] has quit [Quit: Konversation terminated!] 03:22:01 hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 03:27:17 -!- realitygrill [~realitygr@adsl-76-226-128-129.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 248 seconds] 03:28:50 -!- dnolen [~user@pool-96-224-20-172.nycmny.east.verizon.net] has quit [Ping timeout: 244 seconds] 03:33:53 realitygrill [~realitygr@76.226.207.13] has joined #scheme 03:34:10 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 03:41:29 annodomini [~lambda@2001:470:1f07:189:600c:9cec:325c:67d6] has joined #scheme 03:41:29 -!- annodomini [~lambda@2001:470:1f07:189:600c:9cec:325c:67d6] has quit [Changing host] 03:41:29 annodomini [~lambda@wikipedia/lambda] has joined #scheme 03:47:42 -!- booyaa` [~booyaa@adsl-67-121-157-253.dsl.pltn13.pacbell.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:53:37 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:59:19 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 04:01:49 -!- MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has quit [Ping timeout: 245 seconds] 04:04:50 stamourv [~user@racket/stamourv] has joined #scheme 04:09:05 chu [~mathew.ba@CPE-124-176-25-97.lns2.dea.bigpond.net.au] has joined #scheme 04:19:35 antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has joined #scheme 04:19:52 -!- Rubix [~Rubix@c-24-63-88-226.hsd1.ma.comcast.net] has quit [Ping timeout: 252 seconds] 04:22:11 Rubix [~Rubix@c-24-63-88-226.hsd1.ma.comcast.net] has joined #scheme 04:24:09 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Quit: Leaving] 04:24:20 -!- Rubix [~Rubix@c-24-63-88-226.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 04:26:17 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 04:30:08 Rubix [~Rubix@c-24-63-88-226.hsd1.ma.comcast.net] has joined #scheme 04:35:06 gravicappa [~gravicapp@ppp91-77-174-10.pppoe.mtu-net.ru] has joined #scheme 04:40:38 -!- hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 240 seconds] 04:41:08 -!- getpwnam [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 240 seconds] 04:41:08 -!- lem_e_tweakit [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 252 seconds] 04:44:45 -!- acedia [~garland@unaffiliated/ffs] has quit [Ping timeout: 248 seconds] 04:47:03 acedia [~garland@unaffiliated/ffs] has joined #scheme 04:47:11 -!- Rubix [~Rubix@c-24-63-88-226.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 04:47:47 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Quit: Lost terminal] 05:03:19 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 05:11:35 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 05:11:35 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Changing host] 05:11:35 jeapostrophe [~jay@racket/jeapostrophe] has joined #scheme 05:18:51 astertronistic [~astertron@ip70-181-235-215.sd.sd.cox.net] has joined #scheme 05:20:24 -!- peeeep [~potato@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Read error: Connection reset by peer] 05:24:22 homie` [~levgue@xdsl-78-35-160-203.netcologne.de] has joined #scheme 05:26:07 -!- homie [~levgue@xdsl-87-79-248-55.netcologne.de] has quit [Ping timeout: 244 seconds] 05:32:42 lcc [~user@unaffiliated/lcc] has joined #scheme 05:33:47 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 05:35:25 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 05:36:43 what would the scheme equivalent of cpan be? if I may ask. 05:38:16 -!- jeapostrophe [~jay@racket/jeapostrophe] has quit [Ping timeout: 265 seconds] 05:38:25 stamourv [~user@ahuntsic.ccs.neu.edu] has joined #scheme 05:38:30 -!- stamourv [~user@ahuntsic.ccs.neu.edu] has quit [Changing host] 05:38:30 stamourv [~user@racket/stamourv] has joined #scheme 05:41:18 Hum, racket's been bootstrapping from source for an hour already. CPU is 100%, but no sign of activity. Last thing it printed was "raco setup: bootstrapping from source..." 05:42:01 -!- annodomini [~lambda@wikipedia/lambda] has quit [Quit: annodomini] 05:42:31 ThePawnBreak [Cristi@94.177.108.25] has joined #scheme 05:42:46 lcc: there's no such thing. 05:43:02 Well, different implemenations do have their CPANs. 05:43:09 lcc: However, your scheme implementation may have more or less packages/libs/whatever 05:43:24 Racket has PLaneT, Chicken has eggs, Gambit has Black Hole, etc. 05:43:34 ah ok. 05:43:49 BlackHole isn't going to download stuff for you, afair 05:43:54 Oh, darn., 05:44:24 Well, PLaneT definitely supports on-demand downloads. :-) 05:44:36 But people put some code on the so-called "dumping ground" for Gambit. There isn't much, though. 05:45:45 I assume PLaneT has the largest community? racket seems to be popular. 05:48:31 hm... 05:49:07 answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has joined #scheme 05:56:24 adu [~ajr@pool-173-66-253-53.washdc.fios.verizon.net] has joined #scheme 06:12:38 -!- imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Read error: Connection reset by peer] 06:18:10 imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 06:20:00 lcc: Racket, Chicken and Gambit all three have large communities. I reckon that Racket has the largest. 06:24:51 what about Guile? 06:25:34 adu: Guile's CPAN-like thing will be called Guild Hall (or Guildhall, depending on whom you ask). 06:25:45 adu: It doesn't currently have any packages, to my knowledge. 06:31:20 so I'm rewriting my scheme as a compiler this time 06:32:02 Good idea. 06:32:44 and I've chosen Parrot as the target 06:33:13 it already has continuation support 06:33:58 I've spent far too much time banging my head against a wall to try and add call/cc to droscheme 06:42:04 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 06:42:08 xwl_ [user@nat/nokia/x-xthubbpkwcezjzxm] has joined #scheme 06:42:13 -!- realitygrill [~realitygr@76.226.207.13] has quit [Quit: Computer has gone to sleep] 06:43:14 cky, could you explain to me why it's a good idea? 06:45:32 stamourv [~user@racket/stamourv] has joined #scheme 06:45:54 pyro-: Mostly because I think compilation is more suitable than interpretation for most uses. 06:46:31 i see. thank you cky 07:00:09 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 07:09:49 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 07:22:22 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 07:24:09 araujo [~araujo@190.73.45.171] has joined #scheme 07:24:10 -!- araujo [~araujo@190.73.45.171] has quit [Changing host] 07:24:10 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 07:25:29 stamourv [~user@racket/stamourv] has joined #scheme 07:33:55 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Ping timeout: 256 seconds] 07:35:12 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 07:35:20 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 07:39:55 -!- impomatic [~digital_w@227.127.112.87.dyn.plus.net] has left #scheme 07:49:13 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 07:50:42 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 252 seconds] 07:53:42 b1rkh0ff [~b1rkh0ff@178.77.25.45] has joined #scheme 07:57:36 kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 08:04:44 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 08:05:36 stamourv [~user@racket/stamourv] has joined #scheme 08:07:37 Hi everybody! I have a little problem with scheme that is to count all occurences of letter in a file. So i created a subfunction which take a charactere, a file and a number. And the mistake always say "bad binding". If somebody can help me :) 08:08:21 -!- cswords [~cswords@c-98-223-237-144.hsd1.in.comcast.net] has quit [Read error: Connection reset by peer] 08:08:28 kevin_: http://paste.lisp.org/new 08:09:56 ? i'm a newbie in scheme 08:10:15 copy and paste your code and error message to http://paste.lisp.org/new 08:10:21 (then copy and paste the url here). 08:12:29 http://paste.lisp.org/+2RX4. 08:14:11 Les arguments d'une fonction ne se mettent pas entre parenthèses! Il faut écrire (boucle n (read-char file)) et pas (boucle (n (read-char file))). Pareil au dessus. 08:14:27 ventonegro [~alex@cust.static.46-14-234-161.swisscomdata.ch] has joined #scheme 08:14:39 Aussi, dans (let boulc ((n  il faut donner une valeur initiale pour la bouche. 08:14:53 Tu peux écrire: (let boucle ((n n) ) ) 08:15:52 Il vaut mieux utiliser - plutôt que _ dans les symboles lisp; - est plus facile à taper sur un clavier QWERTY 08:16:16 Ceci dit, si on passe un paramètre n, à number-occurences, c'est pour que l'on puisse l'implémenter comme fonction récursive en utilisant le motif accumulateur. 08:16:39 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:17:51 Pour l'initialisation de n, je l'ai fait dans la fonction supérieur et à partir de la, je voulais l'incrémenter grâce à la récursivité 08:18:13 Pour le motif accumulateur vois: http://paste.lisp.org/+2RX4/1 08:18:50 -!- adu [~ajr@pool-173-66-253-53.washdc.fios.verizon.net] has quit [Quit: adu] 08:19:24 kevin_: oui, bon, le named let permet d'écrire une boucle comme une récursion, mais dans ce cas, comme on utilise déjà une fonction subsidiaire (number-occurence), ce n'est pas la peine d'introduire une nouvelle fonction boucle. 08:21:33 ah oui effectivement ! 08:21:42 kevin_: un let ou un named let, ça introduit des nouvelles variables. La variable n du let boucle est différente de la variable paramètre de number-occurences. 08:22:15 kevin_: c'est pour ça qu'il faut l'initialiser, et que tu peux écrire (let boucle ((n n) ) ) Le premier n est la nouvelle variable, le deuxième n est la paramètre du scope englobant. 08:22:23 d'accord ! 08:23:43 en fait, à la base je voulais initialiser n en dehors du "boucle" mais vu que j'avais un peu de mal, j'ai choisi de l'initialiser directement depuis la fonction supérieur... mais apparement ça ne résolvait pas mon problème 08:24:23 Alors tu peux enlever le paramètre et écrire: (let boucle ((n 0) ) ) 08:25:08 oui merci ! 08:26:12 en fait, juste avant j'avais fait une fonction qui était "pareil" j'ai l'impression : http://paste.lisp.org/+2RX5 08:27:03 Oui, il manque juste le compteur. Note que tu peux "Annoter" une "lisppaste". 08:27:22 Ça permet d'ajouter un bout de code sur la même page et de n'avoir qu'un seul lien pour le tout. 08:27:37 (avec /n ou #n pour sauter à l'annotation n). 08:28:54 Tu peux aussi utiliser des "streams" pour combiner de façon modulaire les différentes opérations (lecture du fichier, filtrage d'une lettre, comptage, ou concatenation dans une chaine). 08:29:13 Les streams sont expliqués dans http://mitpress.mit.edu/sicp/ 08:29:16 ah d'accord ! je prend note :) 08:29:44 http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5 08:30:04 D'une manière générale, oui, je te conseille de lire sicp (et de regarder les cours en vidéo). 08:30:29 -!- chu [~mathew.ba@CPE-124-176-25-97.lns2.dea.bigpond.net.au] has quit [Read error: Connection reset by peer] 08:30:30 http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ 08:31:27 et bien merci beaucoup pour ton aide pjb :) 08:31:46 chu [~mathew.ba@CPE-124-176-25-97.lns2.dea.bigpond.net.au] has joined #scheme 08:33:09 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 08:36:50 stamourv [~user@racket/stamourv] has joined #scheme 08:54:39 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 272 seconds] 09:00:42 -!- kvda [~kvda@202.58.240.18] has quit [Quit: x__x] 09:04:34 lcc [~user@unaffiliated/lcc] has joined #scheme 09:09:07 Skola [~Skola@89.184.179.185] has joined #scheme 09:12:51 masm [~masm@bl18-32-176.dsl.telepac.pt] has joined #scheme 09:14:29 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 09:16:43 bfgun [~b_fin_g@r186-52-135-90.dialup.adsl.anteldata.net.uy] has joined #scheme 09:18:42 stamourv [~user@racket/stamourv] has joined #scheme 09:20:10 -!- bfig [~b_fin_g@r186-52-161-76.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 260 seconds] 09:24:59 -!- clog [~nef@bespin.org] has quit [Ping timeout: 256 seconds] 09:25:05 clog [~nef@bespin.org] has joined #scheme 09:31:08 wingo [~wingo@ip-72.net-80-236-105.rev.numericable.fr] has joined #scheme 09:39:39 attila_lendvai [~attila_le@apn-94-44-85-183.vodafone.hu] has joined #scheme 09:39:39 -!- attila_lendvai [~attila_le@apn-94-44-85-183.vodafone.hu] has quit [Changing host] 09:39:39 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 09:45:57 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Ping timeout: 256 seconds] 09:46:32 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 09:58:04 ijp [~user@host86-162-109-171.range86-162.btcentralplus.com] has joined #scheme 10:00:00 -!- arcfide [~arcfide@c-98-223-204-153.hsd1.in.comcast.net] has quit [Quit: Leaving] 10:07:56 -!- kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Ping timeout: 245 seconds] 10:10:32 kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 10:13:20 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:22:10 -!- cmatei [~cmatei@95.76.22.68] has quit [Read error: Operation timed out] 10:22:51 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 10:23:17 cmatei [~cmatei@95.76.22.68] has joined #scheme 10:23:20 attila_lendvai [~attila_le@apn-94-44-85-183.vodafone.hu] has joined #scheme 10:23:26 -!- attila_lendvai [~attila_le@apn-94-44-85-183.vodafone.hu] has quit [Changing host] 10:23:26 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 10:24:14 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 10:28:24 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 272 seconds] 10:28:47 stamourv [~user@racket/stamourv] has joined #scheme 10:29:29 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 10:29:43 -!- b1rkh0ff [~b1rkh0ff@178.77.25.45] has quit [Ping timeout: 265 seconds] 10:32:32 -!- wingo [~wingo@ip-72.net-80-236-105.rev.numericable.fr] has quit [Ping timeout: 245 seconds] 10:34:03 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 244 seconds] 10:38:01 i wish my french wasn't so rusty 10:39:31 Watch French movies non-dubbed. 10:41:45 bbear [~bbear@3.0.98.84.rev.sfr.net] has joined #scheme 10:42:25 b1rkh0ff [~b1rkh0ff@178.77.1.197] has joined #scheme 10:44:12 can that really help? 10:44:34 That's how I became fluent in Enlish and in Spanish. 10:45:06 confab: it would be better if you moved to France, but bar that, watching movies and news in French is the best. 10:45:18 hmm 10:59:43 lcc [~user@unaffiliated/lcc] has joined #scheme 11:03:55 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 11:07:38 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 11:09:19 stamourv [~user@racket/stamourv] has joined #scheme 11:16:32 -!- gravicappa [~gravicapp@ppp91-77-174-10.pppoe.mtu-net.ru] has quit [Ping timeout: 272 seconds] 11:19:20 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 11:22:38 -!- pygospa [~Pygosceli@kiel-4d067ba4.pool.mediaWays.net] has quit [Ping timeout: 240 seconds] 11:24:08 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Ping timeout: 240 seconds] 11:24:40 pygospa [~Pygosceli@kiel-5f77b0fb.pool.mediaWays.net] has joined #scheme 11:26:45 I'm sad that R7RS still didn't add an optional predicate to `case'; wtf? 11:28:15 -!- dsp1_ is now known as dsp1 11:28:42 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:30:09 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #scheme 11:32:48 lcc [~user@unaffiliated/lcc] has joined #scheme 11:37:41 -!- kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Quit: Page closed] 11:41:20 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:42:12 -!- yosafbridge` [~yosafbrid@li125-242.members.linode.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:42:46 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 11:44:15 stamourv [~user@racket/stamourv] has joined #scheme 11:46:26 yosafbridge [~yosafbrid@li125-242.members.linode.com] has joined #scheme 11:50:25 kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 11:51:16 ExitSuccess [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 11:52:54 jeapostrophe [~jay@racket/jeapostrophe] has joined #scheme 11:56:41 klutometis: like a syntax-case guard? 11:57:35 also in some cases case can be implemented as 'jump table' in the backend 11:58:11 adding a guard would complicate matters 11:58:20 how would a guard help anyway? 11:59:25 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 252 seconds] 12:02:12 -!- homie` [~levgue@xdsl-78-35-160-203.netcologne.de] has quit [Read error: Connection reset by peer] 12:04:03 guards are useful in syntax-case because you can determine additional information about the syntax object that you can't determine by pattern matching. But I don't see what is to be gained from placing something in two distinct case clauses (assuming the guard isn't effectful) 12:05:10 I assume klutometis is referring to changing the equivalence relation, but that seems to me to be similarly limited. 12:05:17 MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has joined #scheme 12:05:51 Hi everody. is there a way to recover a string instead of an object from a file ? i'm using the procedure "read" at the moment, but i would prefer store a list of string from a text instead of an object list 12:07:24 soveran [~soveran@186.19.214.247] has joined #scheme 12:07:37 if you want the string representation of a scheme object, you'll need to write a procedure to do that conversion 12:07:56 most schemes support string ports (and r6rs requires them), so this should be pretty simple 12:09:52 (define (object->string o) (call-with-string-output-port (lambda (o) (write obj o)))) in r6rs, your scheme may differ 12:10:05 err (object->string obj) 12:10:22 kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #scheme 12:10:46 ijp: i think that proc returns 2 values 12:11:04 call-with-string-output-port 12:11:22 oh noes ;p 12:11:29 I think you are thinking of open-string-output-port 12:11:30 my bad 12:11:35 yes, sorry 12:12:05 ok, thanks for the tip :) 12:12:39 if you are lazy, you can probably just do (format "~a" obj) 12:14:13 -!- acedia [~garland@unaffiliated/ffs] has quit [Ping timeout: 245 seconds] 12:14:23 acedia [~garland@unaffiliated/ffs] has joined #scheme 12:14:45 -!- stamourv [~user@racket/stamourv] has quit [Read error: Connection reset by peer] 12:14:58 stamourv [~user@racket/stamourv] has joined #scheme 12:15:01 or one of an infinite number of other ways of performing the same task 12:18:04 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 12:28:00 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 12:30:10 getpwnam [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 12:30:15 lem_e_tweakit [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 12:31:06 hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 12:32:40 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 260 seconds] 12:33:38 jao [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 12:33:55 -!- jao [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Changing host] 12:33:56 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 12:35:09 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 12:37:55 -!- yosafbridge [~yosafbrid@li125-242.members.linode.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:38:03 -!- wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has quit [Read error: Connection reset by peer] 12:40:23 yosafbridge [~yosafbrid@li125-242.members.linode.com] has joined #scheme 12:43:08 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 12:47:29 -!- stamourv [~user@racket/stamourv] has quit [Read error: Connection reset by peer] 12:47:49 stamourv [~user@racket/stamourv] has joined #scheme 12:54:22 realitygrill [~realitygr@76.226.207.13] has joined #scheme 12:57:48 -!- simathur [~simathur@192.100.106.9] has quit [Quit: ChatZilla 0.9.88.2 [Firefox 12.0/20120423122843]] 13:07:54 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 13:14:11 -!- r126f [~ruwin126@120.142.67.254] has quit [Remote host closed the connection] 13:26:06 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 13:28:03 stamourv [~user@racket/stamourv] has joined #scheme 13:28:34 -!- imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Read error: Connection reset by peer] 13:28:47 imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 13:33:47 dzhus [~dzhus@95-25-32-212.broadband.corbina.ru] has joined #scheme 13:37:28 -!- lem_e_tweakit [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 244 seconds] 13:37:28 -!- getpwnam [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 244 seconds] 13:37:44 -!- hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has quit [Ping timeout: 256 seconds] 13:38:07 Radium_ [~rajesh.na@117.203.4.222] has joined #scheme 13:42:05 -!- ski [~slj@c80-216-142-165.bredband.comhem.se] has quit [Ping timeout: 252 seconds] 13:43:09 ski [~slj@c80-216-142-165.bredband.comhem.se] has joined #scheme 13:45:32 icrazyhack [~horieyui@202.120.202.123] has joined #scheme 13:46:45 -!- xwl_ [user@nat/nokia/x-xthubbpkwcezjzxm] has quit [*.net *.split] 13:46:46 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [*.net *.split] 13:46:46 -!- acarrico [~acarrico@pppoe-68-142-39-85.gmavt.net] has quit [*.net *.split] 13:46:46 -!- zxq9 [~zxq9@FL1-119-244-163-13.okn.mesh.ad.jp] has quit [*.net *.split] 13:46:46 -!- cataska_ [~cataska@210.64.6.233] has quit [*.net *.split] 13:47:47 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 13:47:47 acarrico [~acarrico@pppoe-68-142-39-85.gmavt.net] has joined #scheme 13:47:47 zxq9 [~zxq9@FL1-119-244-163-13.okn.mesh.ad.jp] has joined #scheme 13:47:47 cataska_ [~cataska@210.64.6.233] has joined #scheme 13:47:58 -!- leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has quit [Ping timeout: 250 seconds] 13:48:07 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 13:49:49 -!- imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 265 seconds] 13:52:25 leppie [~lolcow@196.215.142.167] has joined #scheme 13:53:32 annodomini [~lambda@wikipedia/lambda] has joined #scheme 13:55:38 -!- jeapostrophe [~jay@racket/jeapostrophe] has quit [Ping timeout: 240 seconds] 14:00:25 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 14:00:45 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 260 seconds] 14:01:04 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 14:01:14 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 14:01:57 stamourv [~user@racket/stamourv] has joined #scheme 14:08:08 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 14:09:08 -!- leppie [~lolcow@196.215.142.167] has quit [Ping timeout: 240 seconds] 14:09:54 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 14:13:56 leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has joined #scheme 14:14:08 -!- dzhus [~dzhus@95-25-32-212.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 14:19:33 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 14:24:04 -!- annodomini [~lambda@wikipedia/lambda] has quit [Quit: annodomini] 14:28:47 -!- leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 14:30:46 gravicappa [~gravicapp@ppp91-77-174-10.pppoe.mtu-net.ru] has joined #scheme 14:30:48 -!- icrazyhack [~horieyui@202.120.202.123] has quit [Ping timeout: 244 seconds] 14:33:26 leppie [~lolcow@196.215.142.167] has joined #scheme 14:35:45 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Read error: Operation timed out] 14:36:53 -!- stamourv [~user@racket/stamourv] has quit [Ping timeout: 244 seconds] 14:38:42 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 14:40:07 getpwnam [~ian@128.249.96.123] has joined #scheme 14:40:07 lem_e_tweakit [~ian@128.249.96.123] has joined #scheme 14:40:47 hash_table [~quassel@128.249.96.123] has joined #scheme 14:41:05 stamourv [~user@racket/stamourv] has joined #scheme 14:46:28 -!- leppie [~lolcow@196.215.142.167] has quit [Ping timeout: 250 seconds] 14:46:32 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 14:49:19 -!- kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Quit: Page closed] 14:49:46 max [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 14:50:12 -!- max is now known as Guest2222 14:50:57 leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has joined #scheme 14:50:59 -!- Guest2222 [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Client Quit] 14:53:47 I would like to know if it's possible to transform an input-port to a String value? because i want to recover the string value(name of the text file) and I'm looking for that... so I can't find how to recover the name of the file in a String 14:54:48 kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has joined #scheme 14:55:41 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: What happened to Systems A through E?] 14:56:28 kvda [~kvda@124-168-182-229.dyn.iinet.net.au] has joined #scheme 15:02:57 mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:03:53 -!- realitygrill [~realitygr@76.226.207.13] has quit [Quit: Computer has gone to sleep] 15:05:16 ExitSuccess: not in r5rs, but perhaps implementations offer this feature. In CL you'd just write (namestring (pathname stream)). 15:05:28 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 15:05:30 ExitSuccess: regarding your earlier question about reading a string instead of an object from a file, there are a number of ways to do it. 15:06:12 leo2007 [~leo@222.130.140.148] has joined #scheme 15:06:25 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 15:06:32 ExitSuccess: 'read-char' reads a single character from a file, so you can easily write a little procedure to read characters up to the next space/newline/whatever and put them together into a string. 15:07:03 ExitSuccess: Guile comes with some utilities to do things like that. See 'read-delimited' in the manual. 15:07:54 arcfide [~arcfide@c-98-223-204-153.hsd1.in.comcast.net] has joined #scheme 15:08:58 (if you use 'read-char', then you'll want to accumulate the list of characters and then use 'list->string' to convert that list into a string) 15:09:54 -!- Skola [~Skola@89.184.179.185] has quit [Quit: Lost terminal] 15:16:00 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [*.net *.split] 15:16:00 -!- leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has quit [*.net *.split] 15:16:00 -!- jrslepak_neu [~jrslepak@punchout.ccs.neu.edu] has quit [*.net *.split] 15:16:00 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [*.net *.split] 15:16:00 -!- tali713 [~tali713@c-75-72-193-140.hsd1.mn.comcast.net] has quit [*.net *.split] 15:16:00 -!- fooc [foocraft@ibawizard.net] has quit [*.net *.split] 15:16:22 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 15:16:22 leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has joined #scheme 15:16:22 jrslepak_neu [~jrslepak@punchout.ccs.neu.edu] has joined #scheme 15:16:22 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 15:16:22 tali713 [~tali713@c-75-72-193-140.hsd1.mn.comcast.net] has joined #scheme 15:16:22 fooc [foocraft@ibawizard.net] has joined #scheme 15:16:33 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Max SendQ exceeded] 15:16:37 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 15:17:50 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 15:18:11 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 15:18:23 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 245 seconds] 15:20:48 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 15:21:06 -!- bfgun is now known as bfig 15:22:01 annodomini [~lambda@173-14-129-9-NewEngland.hfc.comcastbusiness.net] has joined #scheme 15:22:02 -!- annodomini [~lambda@173-14-129-9-NewEngland.hfc.comcastbusiness.net] has quit [Changing host] 15:22:02 annodomini [~lambda@wikipedia/lambda] has joined #scheme 15:37:57 -!- Radium_ [~rajesh.na@117.203.4.222] has quit [Ping timeout: 252 seconds] 15:41:15 attila_lendvai [~attila_le@188-143-65-33.pool.digikabel.hu] has joined #scheme 15:41:16 -!- attila_lendvai [~attila_le@188-143-65-33.pool.digikabel.hu] has quit [Changing host] 15:41:16 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 15:41:40 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 260 seconds] 15:49:35 pjb: Sending an obvious newbie to use streams is bad, but giving advice about using CL when someone asks about scheme is worse. Stop it. 15:50:16 ijp: +15 for your rant yesterday, btw. 15:50:46 mgsk [~Mark@li357-97.members.linode.com] has joined #scheme 15:50:53 realitygrill [~realitygr@76.226.207.13] has joined #scheme 15:58:27 kilimanjaro [~kilimanja@ip70-162-88-143.ph.ph.cox.net] has joined #scheme 15:58:29 -!- kilimanjaro [~kilimanja@ip70-162-88-143.ph.ph.cox.net] has quit [Changing host] 15:58:29 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 15:59:43 -!- kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [Quit: Lost terminal] 16:00:16 -!- huangjs [~huangjs@190.8.100.83] has quit [Ping timeout: 272 seconds] 16:00:26 -!- ExitSuccess [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Ping timeout: 245 seconds] 16:01:04 eli: heh, thanks. 16:01:47 Really though, I should be apologising. #scheme isn't really the most effective place for me to be making my point, and I'm probably boring people with it by now. 16:02:06 -!- kevin_ [c2fea714@gateway/web/freenode/ip.194.254.167.20] has quit [Ping timeout: 245 seconds] 16:02:28 ijp: IMO you hit the nail right on the head, and this is very much appropriate here... 16:02:38 Probably not effective, though. 16:03:30 -!- ventonegro [~alex@cust.static.46-14-234-161.swisscomdata.ch] has quit [Quit: ventonegro] 16:04:34 Oh, rants? I love a good rant. 16:05:20 ijp: no need to apologize, and I agree that it's a very appropriate subject for this channel. 16:11:52 -!- SHODAN [~shozan@c-2cb4e253.011-86-73746f30.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 16:12:41 -!- sstrickl [~sstrickl@racket/sstrickl] has quit [Quit: sstrickl] 16:13:43 SHODAN [~shozan@c-2cb4e253.011-86-73746f30.cust.bredbandsbolaget.se] has joined #scheme 16:15:15 wooo rants! 16:18:24 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 16:21:17 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 16:22:03 eli: thanks for your email about extensible arithetic, though it doesn't present any solutions hadn't already been alluded on channel (though in less detail). 16:22:16 -!- astertronistic [~astertron@ip70-181-235-215.sd.sd.cox.net] has quit [Remote host closed the connection] 16:22:38 it's obvious enough that any module that specifically wants to use extensible numeric operators can do so. 16:23:12 and it's also obvious that racket can be modified in various ways to arrange for all existing code to use those extensible operators. 16:23:59 to me, what it really comes down to is whether the numeric operators that are provided by the implementation by default are extensible or not. and I can understand and appreciate both perspectives on that. 16:24:10 mark_weaver: The point is that there's no need to that until some time when it becomes necesary, because it's such an easy change. 16:24:51 And like I said, if you're talking about *extension* rather than modification, then there's no opposition to that at all... 16:24:54 eli: yes, from a technical standpoint it is an easy change. I never doubted that. 16:25:03 (But that's not the CLOS thing.) 16:25:36 adu [~ajr@ip-64-134-96-117.public.wayport.net] has joined #scheme 16:26:06 eli: but to the extent that you represent the views of the larger Racket community, apparently that community prefers to build code on top of non-extensible primitives. 16:26:47 and again, I can fully understand that perspective. I have done work in the security field, and of course in that context that's what you want. 16:28:30 but there are other contexts where security and extreme robustness are less important than flexibility and extensibility of the system, such as computer algebra systems. 16:29:23 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 246 seconds] 16:29:37 in those contexts, there is tremendous value to building your entire system on primitives that can, themselves, be extended. 16:31:41 but I get the impression that you find the approach of building upon extensible primitives to be simply wrong in all cases. 16:32:38 Guile takes the latter approach. A great number of its primitives are extensible. 16:35:56 Although 16:37:19 (oops) 16:39:00 -!- chu [~mathew.ba@CPE-124-176-25-97.lns2.dea.bigpond.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:39:45 Although Racket could be easily modified such that the entire system is built on extensible primitives, most users are not going to be comfortable modifying Racket itself. Therefore, a library author cannot add support for, say, infinite-precision reals to Racket that users can easily install. 16:39:51 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 244 seconds] 16:40:46 they could, but it would not be nearly as useful because all of the existing Racket code would not be able to use this new numeric representation transparently. 16:41:30 whether that is a "limitation" or a "security/robustness feature" is in the eye of the beholder. 16:42:39 to my mind, this is the crux of the issue. 16:43:28 mark_weaver: Sounds like you misunderstood me... 16:43:38 I have no problem at all with *extensions*; if there was a suggestion to add that I'd most likely be in favor of adding it. 16:43:57 The only objection that I do have (and many Racketeers in general would have too) is for extensions via a CLOS-style system, since there is no (known) way of doing that in a robust extension-only way. 16:44:31 So the fact that we don't have extensible arithmetics or whatever is just due to not having any need for that. 16:45:21 But the fact that we implement extensible operations via something that is not CLOS-like is intentional. 16:46:18 -!- kvda [~kvda@124-168-182-229.dyn.iinet.net.au] has quit [Quit: Computer has gone to sleep.] 16:46:38 huangjs [~huangjs@200.54.109.17] has joined #scheme 16:46:44 eli: to be concrete, would you be opposed to having the core '+' procedure being extensible, in the sense of being able to dynamically add support for new data types to '+', such that all existing users of '+' would then be able to apply it to the new types? 16:46:52 HG` [~HG@dsbg-4db5978c.pool.mediaWays.net] has joined #scheme 16:47:33 mark_weaver: Of course not. 16:48:04 but that implies mutation, and a potential risk to robustness, no? 16:48:07 -!- realitygrill [~realitygr@76.226.207.13] has quit [Ping timeout: 244 seconds] 16:48:33 No -- notice the thing I said about struct properties being a way to do that. 16:48:33 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Quit: Leaving] 16:48:50 Such an extension would be something that you could use only for new struct types that you define. 16:49:21 Therefore these extensions cannot break code, they can only (dynamically) teach it to handle new types. 16:49:52 realitygrill [~realitygr@76.226.223.66] has joined #scheme 16:49:55 eli: what about adding a method for '+' that adds a built-in numeric representation to an infinite-precision real? 16:50:03 -!- ski [~slj@c80-216-142-165.bredband.comhem.se] has quit [Ping timeout: 245 seconds] 16:50:29 That's perfectly doable with such a system. 16:50:32 e.g. (+ ) 16:50:49 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 244 seconds] 16:51:07 eli: do you think the Racket developers would be opposed to making the core numeric operators extensible by default? 16:51:28 Assuming that the hookable `+' works as the "primitive" one and does not make that viable to change, 16:51:57 -!- HG` [~HG@dsbg-4db5978c.pool.mediaWays.net] has quit [Quit: Leaving.] 16:52:03 and in the case that some input is not a number it looks for an instance of a struct with a method that specifies how it should be added to other values, 16:52:18 and if such an instance is found then it uses its method for doing that addition, 16:52:39 then there is no problem since current (correct) code still behaves in the same way, 16:53:15 and more than that -- once I implement my infinite-precision number with its own addition method -- code that I write that uses it cannot be broken by other code. 16:53:55 The assymetry between the two kinds is apparent in guile (IIUC), where you cannot break code that uses plain numbers since that's handled by the primitive layer, 16:54:26 but if/when I implement this extension via goops, then I cannot rely on my extension to always do what it wants to do, 16:54:40 eli: yes, that's true. 16:54:46 since other code is free to add its own methods even when they override the ones I wrote. 16:56:13 ski [~slj@c80-216-142-165.bredband.comhem.se] has joined #scheme 16:57:46 eli: so if we think of binary '+' as looking up the appropriate method in an alist that maps pairs of argument types to the method, then the Racket devs have no problem with mutating the alist by appending new methods to the end, but would insist that nothing ever be deleted or inserted before the end. is that right? 17:00:44 -!- hash_table [~quassel@128.249.96.123] has quit [Remote host closed the connection] 17:02:15 that sounds complicated 17:02:20 hash_table [~quassel@128.249.96.123] has joined #scheme 17:02:26 -!- hash_table [~quassel@128.249.96.123] has quit [Remote host closed the connection] 17:02:55 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 17:03:21 mark_weaver: That's not really precise -- note that these struct properties are things that can be attached to new struct definitions, therefore there is no mutation other than the one implicit in the creation of the struct; and specifically, there is no alist that needs to be modified in some way, since the information is hanging on the types of the input values. 17:04:08 hash_table [~quassel@128.249.96.123] has joined #scheme 17:04:32 What you're talking about with trying to somehow restrict alist lookups to be only extension does sound complicated, and it's a kind of an attempt to make a robust CLOS-like system, 17:04:57 but I don't think that that's possible since CLOS provide many more hooks than just the type lookup. 17:06:30 eli: it's not so much about the details of CLOS, but about multiple-dispatch vs single-dispatch. The idea of associating methods with types is very much in the single-dispatch mindset, which is not flexible enough for a computer algebra system. 17:06:40 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Read error: Connection reset by peer] 17:07:25 Conceptually, methods need to be associated with ordered tuples of types, not with the types themselves. 17:07:46 eli: in racket a module may be instantiated multiple times, yes? Doesn't that make these extensions problematic? 17:08:12 ijp: no, modules are (to a first approximation) instantiated once 17:08:32 further approximations are available upon request 17:08:40 I see, I must be confusing it with a different implementation 17:09:21 mark_weaver: Not really. You can do multiple dispatch too, as long as you don't allow adding dispatchers that override existing ones. Something close to what C++ does, probably. 17:09:39 (Toplevel functions in C++, not using the OO.) 17:09:55 eli: that's basically how haskell typeclasses work 17:10:04 but i'm skeptical about that without static checking 17:10:20 -!- ski [~slj@c80-216-142-165.bredband.comhem.se] has quit [Ping timeout: 250 seconds] 17:11:07 samth: Yeah, I think that it's probably possible to do that, but mark_weaver's point started with CLOS-style generics which are way to open to have such restrictions. 17:12:08 eli: suppose there are two numeric representations, implemented by two independent groups that don't know anything about each other: say infinite-precision reals and exact polar complex numbers. 17:12:09 ijp: To make what samth said more concrete: you get multiple instances when a module is used at the syntax level and at the runtime level, and the two worlds are not supposed to cooperate by design. 17:12:35 eli: now I want to add a method to '+' to add an infinite-precision real to an exact polar complex number. 17:12:48 eli: how do I accomplish this without mutation? 17:13:27 (again, such that all existing code in the system that uses '+' can make use of this new method without knowing about it specifically) 17:13:31 mark_weaver: Yes, yes, one of the groups addition will take control, and their code will do the addition, hopefully by using `+' on more primitive values which will then get dispatched to the second one. 17:15:02 eli: that is the single-dispatch mindset. you arbitrarily choose one of the arguments, and hope that the implementation of its type will know how to handle the combination. 17:15:21 except that it won't work in this case. 17:17:23 ski [~slj@c80-216-142-165.bredband.comhem.se] has joined #scheme 17:19:24 This _exact_ issue is discussed at length in SICP sections 2.4 and 2.5. 17:19:26 mark_weaver: No: even when you extend this system to add (and only add, not redefine) a case for the two inputs you're still not getting the damage of unrestricted clos. 17:19:44 Yes, this issue is old and well-hashed. 17:20:57 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: What happened to Systems A through E?] 17:21:30 mejja [~user@c-36b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 17:22:29 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 17:24:34 mark_weaver: are there any implementations that implement exact polar complex numbers? 17:25:03 eli: yes, and in the simple 'alist' model of method lookup that I posed above, I was attempting to understand your position on this. You went further and suggested that there should be alist to mutate at all, since all the information you need is associated with the types. And that's what I'm currently trying to refute. 17:25:27 s/there should be/there should be _no_/ 17:26:00 multiple dispatch is a good idea 17:26:20 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 17:26:36 adu: I don't know of any besides computer algebra systems. 17:27:19 my scheme has one, but it's converted to inexact rectangular after every math function 17:27:25 put one could easily imagine a representation that supports A*e^(i*B), where A and B are exact rationals. 17:28:54 sorry, I meant A*e^(i*pi*B) 17:31:49 (i.e. the magnitude is an exact rational, and the angle is pi times an exact rational) 17:33:41 adu: btw, regarding your idea to target Parrot: is Parrot capable of supporting general tail calls as required by the Scheme standards? 17:34:16 yes 17:34:27 isn't there already a scheme for parrot? 17:34:31 there are 2 forms of every invokation 17:34:33 very interesting. 17:34:38 -!- hash_table [~quassel@128.249.96.123] has quit [Ping timeout: 240 seconds] 17:34:40 ijp: there are 3 bitrotten schemes for parrot 17:34:44 -!- lem_e_tweakit [~ian@128.249.96.123] has quit [Ping timeout: 244 seconds] 17:34:48 none of them work, currently 17:34:52 naturally 17:35:01 hence my interest 17:35:15 -!- getpwnam [~ian@128.249.96.123] has quit [Ping timeout: 244 seconds] 17:35:27 also, most of them were written in raw parrot assembly 17:35:39 adu: so Parrot supports GOTO with arguments across compilation units? 17:36:04 have there been any good general purpose fp vms? (I know of C-- but I don't know how good it is) 17:36:19 well, you'd have to make it a tailcall with a qualified name 17:36:55 dnolen` [~user@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 17:37:05 Parrot is discussing the possibility of JITing to LLVM 17:37:10 -!- soveran [~soveran@186.19.214.247] has quit [Ping timeout: 272 seconds] 17:37:14 adu: what does "qualified name" mean? 17:37:26 mark_weaver: essentially a list of strings 17:37:53 Parrot doesn't place any restrictions on names 17:37:54 mark_weaver: What I'm saying is that you can consider such dependencies on two argument types as things that are implemented by a new type and therefore you still have the property that the system can only be extended and not modified. 17:37:59 But I don't really care about the refutation you're trying to achieve, since the problems of not having a CLOS-like extensible system are so far just vague anectodes, whereas the damage that you can get with systems that are as open as that have been demonstrated and have been problematic in real code. 17:38:03 These are problems that you won't see with small systems (and specifically with toy systems) since these systems are maintained by a single person or a very small group. 17:38:08 The problems start when there's a large group of truly independent developers and there are bugs that result from one piece of code breaking another -- ignoring such problems is, IMO, a bad idea. 17:38:12 (It only happens that Schemer groups usually are either one-man or tiny groups so it's possible to ignore them.) 17:38:16 This is exactly the same issue as with R5RS's lack of modularity and use of `load' with a single toplevel namespace: it's perfectly fine for a one-man operation, but a *complete disaster* otherwise, since it inherently relies on mutation that toplevel which quickly runs into such problems that make it unfit for anything that is more than a toy. 17:38:21 (And a good witness to that is that even implementations that opposed r6rs eventually "discovered" that they need modules/libraries/whatever.) 17:38:56 but Parrot also has first-class continuations builtin 17:39:28 adu: those are so 90s. delimited continuations are the new hotness :P 17:39:41 lol 17:40:10 ijp: I'll try and keep that in mind while I'm writing it 17:41:12 also, I learned alot from writing droscheme, so I'll try and apply lessons from that to the new scheme 17:41:17 eli: the needs of a computer algebra system are not "vague anecdotes". 17:41:44 eli: but it seems we are going around in circles now, so we might as well give it a rest for now. 17:42:26 dzhus [~dzhus@95-25-32-212.broadband.corbina.ru] has joined #scheme 17:42:42 rudybot: computer algebra! 17:42:43 mejja: Did not have every book on lisp of the last century have symbolic algebra as one of the representative examples of lisps usefulness. 17:43:09 mark_weaver: No, they're not vague, in fact they were studied extensively and you can find a whole bunch of possible solutions that don't rely on mutation of global tables. 17:45:43 eli: such as? 17:46:03 -!- imphasing is now known as imphasing|home 17:50:19 (I am a contributor to the Maxima computer algebra system, fwiw) 17:50:21 -!- cdidd [~cdidd@128-72-131-138.broadband.corbina.ru] has quit [Remote host closed the connection] 17:50:50 mark_weaver: cool 17:52:19 turbofail [~user@38.99.37.210] has joined #scheme 17:53:37 mark_weaver: Such as the traits work that asumu has mentioned yesterday, but it's far from being the only work on the subject. (In the context of mainsteam OOPs there's also some patterns that complensate for their limitations.) 17:55:30 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 17:56:31 eli: okay, I'll have to read the paper he referenced before I can respond. 17:57:14 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 17:59:47 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 18:01:20 -!- mejja [~user@c-36b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.88.2 [Firefox 12.0/20120420145725]] 18:09:01 Fare [~Fare@216.239.55.82] has joined #scheme 18:11:40 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 18:19:56 langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has joined #scheme 18:21:37 attila_lendvai [~attila_le@188-143-65-33.pool.digikabel.hu] has joined #scheme 18:21:37 -!- attila_lendvai [~attila_le@188-143-65-33.pool.digikabel.hu] has quit [Changing host] 18:21:37 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 18:25:16 amgarchIn9 [~amgarchin@p4FD61B69.dip0.t-ipconnect.de] has joined #scheme 18:30:24 One such mainstream pattern solution is this recent paper: http://www.cs.utexas.edu/~wcook/Drafts/2012/ecoop2012.pdf 18:30:41 I wouldn't want to program in that style, but I imagine it could be made into a macro. 18:30:44 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 18:30:59 It's related to the various visitor-based solutions to this problem. 18:32:31 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 18:33:57 lem_e_tweakit [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 18:34:05 getpwnam [~ian@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 18:34:50 hash_table [~quassel@70-138-242-181.lightspeed.hstntx.sbcglobal.net] has joined #scheme 18:37:37 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 18:38:16 FreeArtMan [~fam@93.177.213.54] has joined #scheme 18:42:08 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 18:42:38 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 18:44:20 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 18:44:38 asumu, i dont understand that paper's solution. if you add a new datatype now you have to update every factory, right?> 18:46:35 -!- imphasing|home [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 260 seconds] 18:49:37 oh i missed a section 18:53:21 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 18:55:08 -!- leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 18:59:52 leppie [~lolcow@196-215-11-13.dynamic.isadsl.co.za] has joined #scheme 19:01:24 -!- ijp [~user@host86-162-109-171.range86-162.btcentralplus.com] has quit [Ping timeout: 272 seconds] 19:05:38 ijp [~user@host86-162-109-171.range86-162.btcentralplus.com] has joined #scheme 19:10:30 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 260 seconds] 19:12:27 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 19:12:56 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 19:16:34 -!- FreeArtMan [~fam@93.177.213.54] has quit [Quit: Out of this 3D] 19:17:22 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 19:18:38 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 240 seconds] 19:23:22 lastwill [~will@bas1-974por.reu.217-175-184-148.adsl.only.fr] has joined #scheme 19:27:02 -!- adu [~ajr@ip-64-134-96-117.public.wayport.net] has quit [Quit: adu] 19:27:40 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 19:32:57 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 245 seconds] 19:37:20 -!- 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)] 19:37:54 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 19:49:14 -!- Fare [~Fare@216.239.55.82] has quit [Ping timeout: 246 seconds] 19:50:55 adu [~ajr@pool-173-66-253-53.washdc.fios.verizon.net] has joined #scheme 19:51:17 -!- b1rkh0ff [~b1rkh0ff@178.77.1.197] has quit [Ping timeout: 248 seconds] 19:53:40 -!- leppie [~lolcow@196-215-11-13.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 19:58:05 leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has joined #scheme 19:59:17 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 244 seconds] 20:00:13 langmart` [~user@host-68-169-175-226.WISOLT2.epbfi.com] has joined #scheme 20:01:42 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 20:02:51 -!- langmart` is now known as langmartin` 20:03:01 -!- langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has quit [Ping timeout: 248 seconds] 20:03:12 -!- langmartin` is now known as langmartin 20:10:10 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Read error: Connection reset by peer] 20:10:25 imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has joined #scheme 20:21:09 -!- imphasing [~Alex@97-81-115-30.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 248 seconds] 20:24:14 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 20:25:52 Fare [~Fare@216.239.55.82] has joined #scheme 20:26:11 -!- pothos [~pothos@114-25-201-216.dynamic.hinet.net] has quit [Read error: Operation timed out] 20:27:34 pothos [~pothos@114-36-246-23.dynamic.hinet.net] has joined #scheme 20:29:09 soveran [~soveran@186.19.214.247] has joined #scheme 20:43:36 imphasing [~Alex@97-80-159-61.dhcp.gwnt.ga.charter.com] has joined #scheme 20:46:00 mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 20:47:26 eli: I looked at the paper referenced by asumu , but it only discusses unary operations, and thus completely avoids the difficulties associated with binary operators that require multiple dispatch. 20:47:35 -!- gravicappa [~gravicapp@ppp91-77-174-10.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:48:21 -!- imphasing [~Alex@97-80-159-61.dhcp.gwnt.ga.charter.com] has quit [Ping timeout: 248 seconds] 20:49:48 eli: so I ask again if you can cite a good strategy to handle an extensible set of operators on an extensible set of types, as needed by a computer algebra system, without mutable method tables. 20:52:48 asumu: or maybe you have the answer I'm looking for. 20:56:28 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 20:56:30 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 20:58:07 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 20:59:59 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 21:01:15 -!- antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has quit [Quit: yes leaving] 21:04:02 -!- answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has quit [Quit: leaving] 21:06:58 -!- langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:08:04 -!- ThePawnBreak [Cristi@94.177.108.25] has quit [Ping timeout: 272 seconds] 21:08:08 bipt [~bpt@cpe-173-095-170-102.nc.res.rr.com] has joined #scheme 21:08:41 -!- realitygrill [~realitygr@76.226.223.66] has quit [Ping timeout: 265 seconds] 21:10:10 realitygrill [~realitygr@76.226.218.226] has joined #scheme 21:10:35 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 21:11:40 -!- leppie [~lolcow@196-210-156-18.dynamic.isadsl.co.za] has quit [Ping timeout: 250 seconds] 21:11:59 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 21:16:10 leppie [~lolcow@196-210-199-126.dynamic.isadsl.co.za] has joined #scheme 21:18:58 bfgun [~b_fin_g@r190-135-60-226.dialup.adsl.anteldata.net.uy] has joined #scheme 21:22:38 -!- bfig [~b_fin_g@r186-52-135-90.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 272 seconds] 21:24:19 imphasing [~Alex@97-81-80-39.dhcp.athn.ga.charter.com] has joined #scheme 21:28:13 lcc [~user@unaffiliated/lcc] has joined #scheme 21:29:28 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Ping timeout: 252 seconds] 21:32:52 -!- leppie [~lolcow@196-210-199-126.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 21:38:16 leppie [~lolcow@196.209.233.48] has joined #scheme 21:44:44 -!- leppie [~lolcow@196.209.233.48] has quit [Ping timeout: 245 seconds] 21:49:09 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 260 seconds] 21:49:23 leppie [~lolcow@196-210-199-126.dynamic.isadsl.co.za] has joined #scheme 21:52:05 -!- huangjs [~huangjs@200.54.109.17] has quit [Ping timeout: 246 seconds] 21:55:05 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 22:01:31 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 22:03:48 -!- bipt [~bpt@cpe-173-095-170-102.nc.res.rr.com] has quit [Ping timeout: 244 seconds] 22:15:16 cswords [~cswords@c-98-223-237-144.hsd1.in.comcast.net] has joined #scheme 22:17:43 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: Leaving] 22:18:07 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 22:28:09 -!- Fare [~Fare@216.239.55.82] has quit [Ping timeout: 246 seconds] 22:28:35 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 22:30:11 Quadrescence [~quad@unaffiliated/quadrescence] has joined #scheme 22:30:23 mark_weaver, are you interested in computer algebra 22:30:30 -!- samth is now known as samth_away 22:32:14 is `(lambda () )' equivalent to `(lambda () (begin ))'? 22:32:17 Quadrescence: yes. I'm a contributor to Maxima, although I would much prefer to have a system based on Scheme. 22:32:31 malorie, yes 22:32:42 nice :-) 22:34:23 mark_weaver, cool. I was reading some IRC logs and you were talking about methods/classes/overloading/polymorphism and how it's relevant to computer algebra (CA) 22:36:22 Quadrescence: if you have anything to add to that conversation, I'd be interested! 22:37:30 Quadrescence: I' 22:38:25 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 244 seconds] 22:40:07 I think computer algebra has much bigger unresolved issues that relate to dispatch/polymorphism and friends, namely the (pseudo-)need to enforce and verify invariants. And then there are a multitude of efficiency concerns (especially with magical operations like "simplify", which AFAIK Maxima doesn't have) 22:40:44 -!- bfgun is now known as bfig 22:43:26 Forget the need to dispatch stuff based on a simple type, how about trying to dispatch on predicates? How can information about a variable or expression be recorded to avoid computation of predicates over and over? How can I dispatch based on membership of the set { (x,y,z) | x^2 + y^2 = z^2 }? I think this mode of dispatching is far more useful in the context of computer algebra, and indeed, seems to be a superset of sorts of what you were 22:43:26 talking about. 22:43:49 Quadrescence: Maxima has a "general simplifier" that is applied automatically but fairly limited (by design), and also has several other simplification programs that perform more extensive simplifications. However, unlike some popular modern CASs, there is no single "simplify" command that tries to be a one-size-fits-all simplifier. 22:44:42 Quadrescence: that's Mathematica territory iirc 22:44:52 Quadrescence: it never seemed properly resolved there, but i'm not an expert 22:45:00 yes Mathematica does it, but unfortunately it doesn't work right 22:45:12 right. it seemed doomed when i played with it A Long Time Ago 22:45:22 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 22:45:35 mark_weaver, Right, but it turns out, a general simplifier is useful, especially when the given expression is unfamiliar to the user. I wouldn't expect all computer algebra users to know to use some beta_function simplifier paired with ratsimp and a gamma simplifier 22:45:39 (brb) 22:47:16 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 22:48:14 Quadrescence: I agree that predicate dispatching is much more powerful than type dispatching, and the notion of hierarchical types is too limited for a CAS. 22:49:23 Quadrescence: In my debate with eli, I wasn't attempting to cover all of the needs of a CAS system. I was only using CAS as one example of why single-dispatch systems that try to associate methods with types is far too limited. 22:51:46 huangjs [~huangjs@200.54.109.17] has joined #scheme 22:52:40 Quadrescence: I agree that a general-purpose simplifier would be nice, but I know of no universally-useful _measure_ of simplicity of an expression. 22:55:24 -!- ijp [~user@host86-162-109-171.range86-162.btcentralplus.com] has quit [Quit: The garbage collector got me] 22:55:29 -!- adu [~ajr@pool-173-66-253-53.washdc.fios.verizon.net] has quit [Quit: adu] 22:56:36 Quadrescence: for example, consider a univariate polynomial. which is simpler: the expanded form, or the factored form? there is no best answer; it depends on what you will use it for. 22:57:17 Quadrescence: and for complex values, should they be put in polar form or rectangular form? again, it depends. 22:57:21 homie [~levgue@xdsl-87-79-192-142.netcologne.de] has joined #scheme 22:57:41 mark_weaver: that's why Mma offers different simplify routines... 22:57:45 Quadrescence: so Maxima has a whole bunch of simplification programs that put expressions into different forms. 22:58:34 it is burden on the user to learn all of these different programs, but I see no better solution until we have AI :) 22:59:25 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 23:00:55 A good general overview of the Maxima general simplifier (the one applied automatically) is here: http://www.cs.berkeley.edu/~fateman/papers/simplifier.txt 23:01:23 mark_weaver, yes, we need AI, we need heuristics, etc etc for a simplifier. Simplification is an incredibly hard problem. 23:02:25 FATEMAN! That perfidious well known Mathematica Hater! 23:02:36 *qu1j0t3* <3 Dr Fateman 23:02:43 hehehe 23:03:00 all hail woofrem 23:06:19 Quadrescence: I'm curious to hear your position on eli's criticism of multiple-dispatch. Is it to be avoided because it involves mutating method tables? Should all methods be associated with types? 23:06:48 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:07:08 (apologies to eli if I have misinterpreted his position) 23:07:19 I favor the CLOS position. I don't like coupling methods with types. 23:09:12 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Ping timeout: 252 seconds] 23:10:35 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 23:11:53 -!- bfig [~b_fin_g@r190-135-60-226.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 246 seconds] 23:12:48 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 23:14:45 -!- peterhil [~peterhil@xdsl-77-86-196-131.nebulazone.fi] has quit [Ping timeout: 260 seconds] 23:23:52 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 252 seconds] 23:24:50 bfig [~b_fin_g@r190-135-35-141.dialup.adsl.anteldata.net.uy] has joined #scheme 23:25:27 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 252 seconds] 23:28:49 -!- dzhus [~dzhus@95-25-32-212.broadband.corbina.ru] has quit [Ping timeout: 276 seconds] 23:36:29 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: What happened to Systems A through E?] 23:37:01 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 23:37:53 -!- lastwill [~will@bas1-974por.reu.217-175-184-148.adsl.only.fr] has quit [Quit: Quitte] 23:39:12 -!- ozzloy is now known as newname 23:39:17 -!- newname is now known as ozzloy 23:40:21 peterhil [~peterhil@xdsl-77-86-196-131.nebulazone.fi] has joined #scheme 23:42:30 jacks- [~syne@93-141-103-161.adsl.net.t-com.hr] has joined #scheme 23:43:51 -!- jacks- [~syne@93-141-103-161.adsl.net.t-com.hr] has quit [Client Quit] 23:45:05 youlysses [~user@75-132-17-145.dhcp.stls.mo.charter.com] has joined #scheme 23:46:52 -!- huangjs [~huangjs@200.54.109.17] has quit [Quit: Leaving] 23:50:45 -!- bfig [~b_fin_g@r190-135-35-141.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 248 seconds] 23:51:03 bfig [~b_fin_g@r186-52-131-137.dialup.adsl.anteldata.net.uy] has joined #scheme 23:52:28 preflex_ [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 23:53:54 fowl [~fowl@unaffiliated/fowlmouth] has joined #scheme 23:54:00 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 272 seconds] 23:54:00 -!- preflex_ is now known as preflex