00:02:43 -!- mrowe_away is now known as mrowe 00:10:04 -!- jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has quit [Read error: Connection reset by peer] 00:15:51 zajn [~zajn@108.205.50.54] has joined #scheme 00:16:53 jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has joined #scheme 00:17:16 -!- Guest80365 is now known as pjb 00:24:18 duggiefresh [~Icedove@c-24-60-1-249.hsd1.ma.comcast.net] has joined #scheme 00:24:50 klltkr [~klltkr@unaffiliated/klltkr] has joined #scheme 00:27:13 -!- davidp [~user@139.82.89.157] has quit [Ping timeout: 240 seconds] 00:34:49 -!- amgarchIn9 [~amgarchin@p4FD62881.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 00:37:26 bjz [~bjz@125.253.99.68] has joined #scheme 00:41:04 Sgeo [~quassel@ool-44c2df0c.dyn.optonline.net] has joined #scheme 00:43:35 amgarchIn9 [~amgarchin@p4FD62881.dip0.t-ipconnect.de] has joined #scheme 00:44:01 -!- stepnem [~stepnem@77.78.117.8] has quit [Ping timeout: 240 seconds] 00:44:59 camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has joined #scheme 00:48:42 davexunit [~user@fsf/member/davexunit] has joined #scheme 00:56:19 lolcow [~lolcow@105-236-193-158.access.mtnbusiness.co.za] has joined #scheme 00:56:43 cky944 [cky@2600:3c01::f03c:91ff:fe93:11c0] has joined #scheme 00:56:56 tsuyoshi [~tsuyoshi@hikaru.yumegakanau.org] has joined #scheme 00:56:57 heathjs [quassel@2600:3c02::f03c:91ff:feae:6e5b] has joined #scheme 00:56:57 -!- heathjs [quassel@2600:3c02::f03c:91ff:feae:6e5b] has quit [Changing host] 00:56:57 heathjs [quassel@unaffiliated/ybit] has joined #scheme 00:57:37 jkraemer_ [jkraemer@nat/google/x-eyhdavcqqclcuuxo] has joined #scheme 00:57:42 cosmez [~cosmez@200.92.109.189] has joined #scheme 00:57:49 ebzzry [~ebzzry@112.204.28.168] has joined #scheme 00:58:13 gluegadget_ [sid22336@gateway/web/irccloud.com/x-vfuyjcioikpfbsgv] has joined #scheme 00:58:15 wilfredh_ [sid159@gateway/web/irccloud.com/x-baqukvsvyswtukkj] has joined #scheme 00:58:16 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Ping timeout: 240 seconds] 00:58:18 -!- cky [cky@2600:3c01::f03c:91ff:fe93:11c0] has quit [Ping timeout: 240 seconds] 00:58:18 -!- gluegadget [sid22336@gateway/web/irccloud.com/x-fbmrvxyeikfjnrqk] has quit [Ping timeout: 240 seconds] 00:58:18 -!- cosmez_ [~cosmez@200.92.109.189] has quit [Ping timeout: 240 seconds] 00:58:19 -!- C-Keen [cckeen@pestilenz.org] has quit [Ping timeout: 240 seconds] 00:58:19 -!- Razz__ [~tim@kompiler.org] has quit [Ping timeout: 240 seconds] 00:58:19 -!- tsuyoshi_ [~tsuyoshi@hikaru.yumegakanau.org] has quit [Ping timeout: 240 seconds] 00:58:21 -!- ebzzry__ [~ebzzry@112.204.28.168] has quit [Read error: Connection reset by peer] 00:58:22 -!- akp [~akp@c-50-133-254-143.hsd1.ma.comcast.net] has quit [Ping timeout: 240 seconds] 00:58:22 -!- fikusz [~fikusz@catv-89-132-137-62.catv.broadband.hu] has quit [Ping timeout: 240 seconds] 00:58:23 -!- yosafbridge [~yosafbrid@li125-242.members.linode.com] has quit [Ping timeout: 240 seconds] 00:58:23 -!- wilfredh [sid159@gateway/web/irccloud.com/x-asxlxtgbujxxojul] has quit [Ping timeout: 240 seconds] 00:58:23 -!- leppie [~lolcow@105-236-193-158.access.mtnbusiness.co.za] has quit [Ping timeout: 240 seconds] 00:58:24 -!- kwmiebach____ [sid16855@gateway/web/irccloud.com/x-wcubbzhdfeasosnv] has quit [Ping timeout: 240 seconds] 00:58:24 -!- cdidd [~cdidd@128-75-240-109.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 00:58:24 -!- jkraemer [jkraemer@nat/google/x-oscurkxiiwocyemq] has quit [Ping timeout: 240 seconds] 00:58:24 -!- stephe_ [sid14127@gateway/web/irccloud.com/x-szxnkxbsmndeyztb] has quit [Ping timeout: 240 seconds] 00:58:26 -!- heath [quassel@unaffiliated/ybit] has quit [Ping timeout: 240 seconds] 00:58:26 -!- ec [~elliottca@ell.io] has quit [Ping timeout: 240 seconds] 00:58:29 -!- rudybot [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has quit [Ping timeout: 240 seconds] 00:58:30 -!- SHODAN [~shozan@fsf/member/shodan] has quit [Ping timeout: 240 seconds] 00:58:37 cdidd [~cdidd@128-75-240-109.broadband.corbina.ru] has joined #scheme 00:58:37 Razz [~tim@kompiler.org] has joined #scheme 00:58:38 SHODAN [~shozan@fsf/member/shodan] has joined #scheme 00:58:39 -!- gluegadget_ is now known as gluegadget 00:58:42 yosafbridge [~yosafbrid@li125-242.members.linode.com] has joined #scheme 00:58:47 stephe_ [sid14127@gateway/web/irccloud.com/x-agggfzwoubnlyxjd] has joined #scheme 00:58:49 -!- Guest68354 [sung@2600:3c02::f03c:91ff:feae:bf62] has quit [Ping timeout: 240 seconds] 00:58:53 fikusz [~fikusz@catv-89-132-137-62.catv.broadband.hu] has joined #scheme 00:58:57 C-Keen [cckeen@pestilenz.org] has joined #scheme 00:59:16 sung_ [sung@2600:3c02::f03c:91ff:feae:bf62] has joined #scheme 00:59:17 -!- duncanm [~duncan@a-chinaman.com] has quit [Ping timeout: 240 seconds] 00:59:39 -!- wilfredh_ is now known as wilfredh 00:59:41 ec [~elliottca@ell.io] has joined #scheme 00:59:46 akp [~akp@c-50-133-254-143.hsd1.ma.comcast.net] has joined #scheme 01:00:03 duncanm [~duncan@a-chinaman.com] has joined #scheme 01:00:03 rudybot [~luser@ec2-54-215-10-197.us-west-1.compute.amazonaws.com] has joined #scheme 01:00:05 -!- duggiefresh [~Icedove@c-24-60-1-249.hsd1.ma.comcast.net] has quit [Ping timeout: 246 seconds] 01:00:30 -!- mrowe is now known as mrowe_away 01:00:37 zRecursive [~czsq888@183.12.91.221] has joined #scheme 01:01:17 balkamos_ [balkamos@unaffiliated/motley] has joined #scheme 01:01:23 asumu_ [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has joined #scheme 01:02:01 -!- LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has quit [Remote host closed the connection] 01:02:04 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [Ping timeout: 240 seconds] 01:02:04 -!- balkamos [balkamos@unaffiliated/motley] has quit [Ping timeout: 240 seconds] 01:02:04 kwmiebach____ [sid16855@gateway/web/irccloud.com/x-xfwjgetbabqckqwd] has joined #scheme 01:02:18 -!- kobain [~sambio@unaffiliated/kobain] has quit [Ping timeout: 252 seconds] 01:02:38 pe7ed27 [~noname@ppp118-209-100-32.lns20.mel4.internode.on.net] has joined #scheme 01:02:44 LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has joined #scheme 01:02:50 -!- balkamos_ is now known as balkamos 01:02:56 -!- mrowe_away is now known as mrowe 01:03:57 ctindall_ [~ctindall@billipede.net] has joined #scheme 01:04:03 -!- cosmez [~cosmez@200.92.109.189] has quit [Read error: Connection timed out] 01:04:04 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 01:04:06 -!- peted [~noname@ppp118-209-100-32.lns20.mel4.internode.on.net] has quit [Ping timeout: 240 seconds] 01:04:07 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 01:04:08 -!- ctindall [~ctindall@billipede.net] has quit [Ping timeout: 240 seconds] 01:04:10 -!- ctindall_ is now known as ctindall 01:04:24 kobain [~sambio@unaffiliated/kobain] has joined #scheme 01:04:25 -!- stamourv` [~user@ahuntsic.ccs.neu.edu] has quit [Ping timeout: 240 seconds] 01:04:43 stamourv` [~user@ahuntsic.ccs.neu.edu] has joined #scheme 01:04:47 kilimanjaro [~kilimanja@icecream.whatbox.ca] has joined #scheme 01:05:23 cosmez [~cosmez@200.92.109.189] has joined #scheme 01:07:29 bjz_ [~bjz@125.253.99.68] has joined #scheme 01:10:57 -!- bjz [~bjz@125.253.99.68] has quit [Ping timeout: 264 seconds] 01:15:39 FareWell [fare@nat/google/x-irmqsbbacyowwtpf] has joined #scheme 01:19:22 mmc [~michal@sams-office-nat.tomtomgroup.com] has joined #scheme 01:19:22 noam [~noam@213.57.201.130] has joined #scheme 01:19:22 BossKonaSegwaY [~Michael@d60-65-147-223.col.wideopenwest.com] has joined #scheme 01:19:22 zeroish [~zeroish@135.207.141.202] has joined #scheme 01:19:22 frkout [~frkout@101.110.31.250] has joined #scheme 01:19:22 joast [~rick@cpe-24-160-56-92.socal.res.rr.com] has joined #scheme 01:21:23 -!- joast is now known as Guest30023 01:21:39 -!- gluegadget [sid22336@gateway/web/irccloud.com/x-vfuyjcioikpfbsgv] has quit [Ping timeout: 245 seconds] 01:22:04 -!- pcarrier [uid12046@gateway/web/irccloud.com/x-vzbtesftdpzahfvk] has quit [Ping timeout: 245 seconds] 01:23:45 gluegadget_ [sid22336@gateway/web/irccloud.com/x-spdhsioqhaleavbl] has joined #scheme 01:23:48 -!- Natch_j is now known as Natch 01:24:27 pcarrier [uid12046@gateway/web/irccloud.com/x-ddnkgmdnffnlaifh] has joined #scheme 01:25:38 -!- amgarchIn9 [~amgarchin@p4FD62881.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 01:28:29 -!- camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has quit [Remote host closed the connection] 01:38:35 camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has joined #scheme 01:39:00 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 01:43:30 -!- mrowe is now known as mrowe_away 01:45:03 -!- camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has quit [Remote host closed the connection] 01:45:58 -!- karswell` [~user@87.112.118.233] has quit [Ping timeout: 240 seconds] 01:49:59 -!- FareWell [fare@nat/google/x-irmqsbbacyowwtpf] has quit [Ping timeout: 245 seconds] 01:50:28 FareWell [fare@nat/google/x-zrqwztumfpkdjmnc] has joined #scheme 01:50:30 -!- FareWell is now known as Fare 01:52:23 camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has joined #scheme 01:56:20 -!- heathjs is now known as heath 01:59:46 b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has joined #scheme 02:03:59 -!- Shadox [Shadox@24-247-245-156.dhcp.bycy.mi.charter.com] has quit [Quit: Leaving] 02:04:12 chupish [457f9b6b@gateway/web/freenode/ip.69.127.155.107] has joined #scheme 02:08:02 sheilong [~sabayonus@unaffiliated/sheilong] has joined #scheme 02:08:05 -!- gnomon_ is now known as gnomon 02:12:10 langmartin [~langmarti@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 02:12:37 -!- davexunit [~user@fsf/member/davexunit] has quit [Quit: Later] 02:13:25 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 02:13:32 -!- langmartin [~langmarti@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Client Quit] 02:16:57 -!- bjz_ [~bjz@125.253.99.68] has quit [Ping timeout: 264 seconds] 02:17:17 bjz [~bjz@125.253.99.68] has joined #scheme 02:17:27 -!- asumu_ is now known as asumu 02:17:38 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [Changing host] 02:17:38 asumu [~at@racket/asumu] has joined #scheme 02:31:35 frkout_ [~frkout@101.110.31.120] has joined #scheme 02:34:24 yacks [~py@103.6.159.103] has joined #scheme 02:34:29 -!- frkout [~frkout@101.110.31.250] has quit [Ping timeout: 240 seconds] 02:43:01 -!- mrowe_away is now known as mrowe 02:45:49 -!- Fare [fare@nat/google/x-zrqwztumfpkdjmnc] has quit [Ping timeout: 245 seconds] 02:56:59 -!- chupish [457f9b6b@gateway/web/freenode/ip.69.127.155.107] has quit [] 03:02:48 nisstyre [~yourstrul@oftn/member/Nisstyre] has joined #scheme 03:04:05 -!- mrowe is now known as mrowe_away 03:09:12 -!- sheilong [~sabayonus@unaffiliated/sheilong] has quit [Excess Flood] 03:09:50 sheilong [~sabayonus@unaffiliated/sheilong] has joined #scheme 03:14:58 Fare [fare@nat/google/x-imdisbwvllxtswpn] has joined #scheme 03:17:21 -!- sheilong [~sabayonus@unaffiliated/sheilong] has quit [Quit: Konversation terminated!] 03:20:34 -!- frkout_ [~frkout@101.110.31.120] has quit [Remote host closed the connection] 03:20:55 -!- jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has quit [Quit: QUIT] 03:21:09 frkout [~frkout@101.110.31.250] has joined #scheme 03:40:20 -!- MichaelRaskin [~MichaelRa@195.91.224.161] has quit [Quit: MichaelRaskin] 03:40:26 -!- camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has quit [] 03:41:10 -!- zajn [~zajn@108.205.50.54] has quit [Remote host closed the connection] 03:44:00 -!- kobain [~sambio@unaffiliated/kobain] has quit [Ping timeout: 252 seconds] 03:45:09 -!- _5kg [~zifeitong@60.191.2.238] has quit [Ping timeout: 264 seconds] 03:47:13 kobain [~sambio@unaffiliated/kobain] has joined #scheme 03:55:33 jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has joined #scheme 03:55:47 -!- yosafbridge [~yosafbrid@li125-242.members.linode.com] has quit [Ping timeout: 246 seconds] 03:55:50 -!- LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has quit [Read error: Connection reset by peer] 03:56:02 LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has joined #scheme 03:57:43 yosafbridge [~yosafbrid@li125-242.members.linode.com] has joined #scheme 04:03:19 -!- Guest68086 is now known as _8680_ 04:29:37 _5kg [~zifeitong@60.191.2.238] has joined #scheme 04:33:15 -!- Guest13700 [~oleo@xdsl-78-35-136-7.netcologne.de] has quit [Read error: Connection reset by peer] 04:34:58 -!- LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has quit [Read error: Connection reset by peer] 04:35:07 Guest13700 [~oleo@xdsl-78-35-148-80.netcologne.de] has joined #scheme 04:35:10 LeoNerd [leo@2a01:7e00::f03c:91ff:fe96:20e8] has joined #scheme 04:40:25 zajn [~zajn@airbears2-136-152-142-13.AirBears2.Berkeley.EDU] has joined #scheme 04:48:44 -!- nisstyre [~yourstrul@oftn/member/Nisstyre] has quit [Quit: WeeChat 0.4.3] 05:01:01 chromex_ [~chromex@c-67-160-49-166.hsd1.wa.comcast.net] has joined #scheme 05:08:03 -!- zajn [~zajn@airbears2-136-152-142-13.AirBears2.Berkeley.EDU] has quit [Remote host closed the connection] 05:12:38 -!- joneshf-work [~joneshf@69.62.222.167] has quit [Remote host closed the connection] 05:23:17 zajn [~zajn@airbears2-136-152-142-142.AirBears2.Berkeley.EDU] has joined #scheme 05:31:37 ubii [~ubii@198.45.198.1] has joined #scheme 05:31:37 -!- ubii [~ubii@198.45.198.1] has quit [Changing host] 05:31:37 ubii [~ubii@unaffiliated/ubii] has joined #scheme 05:49:19 gravicappa [~gravicapp@ppp91-77-164-66.pppoe.mtu-net.ru] has joined #scheme 06:04:38 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 252 seconds] 06:06:45 -!- yacks [~py@103.6.159.103] has quit [Ping timeout: 264 seconds] 06:07:39 aftershave_work [c09d0b64@gateway/web/freenode/ip.192.157.11.100] has joined #scheme 06:08:13 morning 06:08:30 hi 06:13:30 -!- Guest13700 [~oleo@xdsl-78-35-148-80.netcologne.de] has quit [Quit: Leaving] 06:16:27 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 06:17:18 -!- Riastrad1 [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 06:17:41 jaimef [jaimef@166.84.6.60] has joined #scheme 06:21:38 -!- klltkr [~klltkr@unaffiliated/klltkr] has quit [Quit: My MacBook has gone to sleep. ZZZzzz] 06:24:00 jewel [~jewel@105-236-210-247.access.mtnbusiness.co.za] has joined #scheme 06:41:44 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #scheme 06:42:07 -!- jaimef [jaimef@166.84.6.60] has quit [Excess Flood] 06:50:11 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 07:04:07 joneshf-laptop [~joneshf@98.255.30.38] has joined #scheme 07:07:45 -!- ASau [~user@46.115.137.28] has quit [Remote host closed the connection] 07:08:14 ASau [~user@46.115.137.28] has joined #scheme 07:19:35 avab [3dd58f5a@gateway/web/freenode/ip.61.213.143.90] has joined #scheme 07:27:29 -!- gravicappa [~gravicapp@ppp91-77-164-66.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds] 07:28:22 da4c30ff [~da4c30ff@c18.adsl.tnnet.fi] has joined #scheme 07:33:08 -!- avab [3dd58f5a@gateway/web/freenode/ip.61.213.143.90] has quit [Ping timeout: 245 seconds] 07:42:04 -!- ASau [~user@46.115.137.28] has quit [Ping timeout: 245 seconds] 07:50:01 gravicappa [~gravicapp@ppp91-77-179-95.pppoe.mtu-net.ru] has joined #scheme 07:50:42 -!- Giomancer [~gio@107.201.206.230] has quit [Read error: Operation timed out] 07:51:07 Giomancer [~gio@107.201.206.230] has joined #scheme 07:59:08 frkout_ [~frkout@101.110.31.120] has joined #scheme 08:01:01 yacks [~py@122.172.187.124] has joined #scheme 08:02:11 -!- frkout [~frkout@101.110.31.250] has quit [Ping timeout: 246 seconds] 08:07:18 stepnem [~stepnem@77.78.117.8] has joined #scheme 08:13:20 taylanub [tub@p4FD908E2.dip0.t-ipconnect.de] has joined #scheme 08:18:22 Okasu [~1@unaffiliated/okasu] has joined #scheme 08:32:37 -!- b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has quit [Quit: Konversation terminated!] 08:34:44 b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has joined #scheme 08:40:54 frkout [~frkout@101.110.31.120] has joined #scheme 08:44:33 -!- frkout_ [~frkout@101.110.31.120] has quit [Ping timeout: 264 seconds] 08:50:24 -!- Fare [fare@nat/google/x-imdisbwvllxtswpn] has quit [Ping timeout: 245 seconds] 08:50:25 -!- frkout [~frkout@101.110.31.120] has quit [Remote host closed the connection] 08:51:00 frkout [~frkout@101.110.31.250] has joined #scheme 08:52:00 -!- pnkfelix [~pnkfelix@bas75-2-88-170-201-21.fbx.proxad.net] has quit [Quit: rcirc on GNU Emacs 24.3.1] 08:58:33 -!- zajn [~zajn@airbears2-136-152-142-142.AirBears2.Berkeley.EDU] has quit [Remote host closed the connection] 09:00:16 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 09:03:18 -!- zRecursive [~czsq888@183.12.91.221] has quit [Remote host closed the connection] 09:12:23 zajn [~zajn@108.205.50.54] has joined #scheme 09:16:12 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 09:22:00 -!- zajn [~zajn@108.205.50.54] has quit [Remote host closed the connection] 09:28:47 -!- gluegadget_ is now known as gluegadget 09:28:55 -!- gluegadget [sid22336@gateway/web/irccloud.com/x-spdhsioqhaleavbl] has quit [Changing host] 09:28:56 gluegadget [sid22336@unaffiliated/gluegadget] has joined #scheme 09:28:56 -!- gluegadget [sid22336@unaffiliated/gluegadget] has quit [Changing host] 09:28:56 gluegadget [sid22336@gateway/web/irccloud.com/x-spdhsioqhaleavbl] has joined #scheme 09:39:10 pnkfelix [~pnkfelix@89.202.203.51] has joined #scheme 09:49:33 da4c30ff_ [~da4c30ff@c18.adsl.tnnet.fi] has joined #scheme 09:50:14 przl [~przlrkt@62.72.64.50] has joined #scheme 09:51:02 -!- da4c30ff [~da4c30ff@c18.adsl.tnnet.fi] has quit [Ping timeout: 246 seconds] 09:58:59 -!- da4c30ff_ [~da4c30ff@c18.adsl.tnnet.fi] has quit [Remote host closed the connection] 09:59:33 da4c30ff_ [~da4c30ff@c18.adsl.tnnet.fi] has joined #scheme 10:01:29 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: z____z] 10:03:12 -!- kobain [~sambio@unaffiliated/kobain] has quit [] 10:22:48 frkout_ [~frkout@101.110.31.120] has joined #scheme 10:26:26 -!- frkout [~frkout@101.110.31.250] has quit [Ping timeout: 252 seconds] 10:28:21 -!- bernalex [~alexander@gentoo/developer/fsf.member.bernalex] has quit [Ping timeout: 264 seconds] 10:32:16 -!- pcarrier [uid12046@gateway/web/irccloud.com/x-ddnkgmdnffnlaifh] has quit [Quit: Connection closed for inactivity] 10:32:58 cleatoma [~cleatoma@host31-52-140-45.range31-52.btcentralplus.com] has joined #scheme 10:37:04 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 10:44:24 -!- frkout_ [~frkout@101.110.31.120] has quit [Remote host closed the connection] 10:44:52 -!- robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:44:57 frkout [~frkout@101.110.31.250] has joined #scheme 10:48:26 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 10:52:36 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 10:54:13 -!- b4283 [~b4283@60-249-196-111.HINET-IP.hinet.net] has quit [Quit: Konversation terminated!] 10:58:28 -!- wh-hw [~wh@112.91.81.82] has quit [Quit: Leaving] 11:04:15 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 11:04:56 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 252 seconds] 11:06:37 przl [~przlrkt@62.72.64.50] has joined #scheme 11:31:27 Can someone help me understand the difference between the binary relation "directly enumerated" by a reduction rule schemata, in contrast to the "principal" reduction relation aka "step" relation of the same calculus ? It says that the latter is usually the "compatible closure" of the former, and I read the definitions of compatibility and what a p-closure of a relation is, but I'm not sure if I understand. .. Actually now that I 11:31:27 formulate this question, I think I understand. :P The difference exists in calculi where there are reduction schemata which are not stand-alone evaluation steps and instead together form steps ? 11:32:21 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Quit: Konversation terminated!] 11:33:13 So a calculi might have singular reduction rules which aren't compatible (thus there is no Church-Rosserness?) but compatibility (thus Church-Rosserness?) is regained by defining a "step" relation which forces certain reductions to happen together ? 11:33:26 (However, there's apparently also calculi where the step relation itself isn't compatible.) 11:33:45 BTW I wonder if there's a better channel for such questions. 11:35:38 "compatiblity" means ? 11:40:18 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 11:45:13 -!- aftershave_work [c09d0b64@gateway/web/freenode/ip.192.157.11.100] has quit [Ping timeout: 245 seconds] 11:51:09 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 264 seconds] 12:01:34 b4283 [~b4283@218-164-217-228.dynamic.hinet.net] has joined #scheme 12:02:27 -!- Sgeo [~quassel@ool-44c2df0c.dyn.optonline.net] has quit [Read error: Connection reset by peer] 12:04:22 ski: Apparently relation R is compatible if T1 -R-> T2 implies C[T1] -R-> C[T2], i.e. the relation is context-independent. 12:05:17 hm, i suppose i would call that "congruence" 12:05:30 Defined on page 243 of J. Shutt's dissertation. (The pages from which my questions arose are 145 and 146.) 12:05:32 or maybe "referentially transparent" 12:06:48 (Well I hope I didn't misinterpret, the exact wording is "R is compatible if for all C, Tk, if C[T1], C[T2] elementof Terms and elementof R then elementof R.") 12:07:55 WWW resources on reduction systems/calculi in general seem to be a bit lacking by the way. 12:08:14 "Fexprs as the basis of Lisp function application - or - $vau: the ultimate abstraction" (dissertation) by John N. Shutt in 2010-08-23 at ? 12:08:17 http://tinyurl.com/ngk76um 12:08:18 yup 12:10:21 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 12:13:40 duggiefresh [~Icedove@c-24-60-1-249.hsd1.ma.comcast.net] has joined #scheme 12:15:40 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 12:16:45 przl [~przlrkt@62.72.64.50] has joined #scheme 12:17:10 (btw, "schemata" is plural) 12:19:41 Right, I see I had an "a" too much in my first sentence. 12:21:53 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 246 seconds] 12:24:09 ok 12:25:47 `((lambda () 0))' reduces in one step to `0', under the "enumerated reduction relation" in question 12:26:30 while `((lambda (x) x) ((lambda () 0)))' doesn't reduce in one step to `((lambda (x) x) 0)', using that reduction relation 12:27:12 you need the "compatible closure" of the "enumerated reduction relation", to get the "principal reduction relation", which will now take `((lambda (x) x) ((lambda () 0)))' into `((lambda (x) x) 0)' 12:27:48 so the "compatible closure" is needed to reduce a proper subexpression of the given expression 12:27:52 taylanub : ok ? 12:29:14 -!- duggiefresh [~Icedove@c-24-60-1-249.hsd1.ma.comcast.net] has quit [Ping timeout: 246 seconds] 12:30:07 bogdan- [~bogdan@89.110.236.83] has joined #scheme 12:34:12 -!- bogdan- [~bogdan@89.110.236.83] has quit [Quit: Blah!] 12:34:50 ski: why does "((lambda (x) x) ((lambda () 0)))" not reduce to "((lambda (x) x) 0)" in one step ? 12:36:45 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 12:41:02 taylanub : because the whole form isn't the redex 12:43:16 ah, so it would instead reduce to "((lambda () 0))", which we don't want to force (even if allowed under our calculus) 12:44:03 using `beta', it could reduce to that, yes 12:44:09 (but not using `beta_0') 12:44:26 (hrm, i should say, `beta_v') 12:44:58 in general, a reduction relation can be non-deterministic 12:45:08 (BTW v is pronounced nu, right ?) 12:45:27 no, this `v' is presumably short for `value' 12:45:52 oh ok 12:45:55 ( is pronounced "nu", though) 12:48:59 davexunit [~user@fsf/member/davexunit] has joined #scheme 13:18:42 przl [~przlrkt@62.72.64.50] has joined #scheme 13:21:20 ski: Thanks! I feel I fully grokked it now. (I see my previous assumption was wrong, I had partly misinterpreted what compatibility means, or what the intent of defining it is...) 13:25:24 -!- cleatoma [~cleatoma@host31-52-140-45.range31-52.btcentralplus.com] has quit [Ping timeout: 245 seconds] 13:25:49 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 13:27:48 cleatoma [~cleatoma@host109-152-110-183.range109-152.btcentralplus.com] has joined #scheme 13:30:04 taylanub : "Practical Foundations for Programming Languages" by Robert Harper in 2014-02-26 at could perhaps also be interesting to check out 13:36:03 taylanub : compare e.g. "5.2 Structural Dynamics" (often called a structural small-step reduction relation) at page 50 with "5.3 Contextual Dynamics" (often called just a small-step reduction relation, corresponding to "enumerated reduction relation" above, which one then takes closure of, wrt congruence) 13:36:38 cleatoma_ [~cleatoma@94.197.120.150.threembb.co.uk] has joined #scheme 13:36:51 Riastradh: is there any way to make input and output buffered in MIT/GNU Scheme? 13:37:07 -!- cleatoma [~cleatoma@host109-152-110-183.range109-152.btcentralplus.com] has quit [Ping timeout: 264 seconds] 13:37:38 civodul [~user@reverse-83.fdn.fr] has joined #scheme 13:40:07 -!- yacks [~py@122.172.187.124] has quit [Quit: Leaving] 13:56:46 -!- effy [~x@114.253.37.127] has quit [Ping timeout: 252 seconds] 14:00:04 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 14:01:52 effy [~x@111.197.234.135] has joined #scheme 14:02:00 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 14:02:52 -!- cleatoma_ is now known as cleatoma 14:04:57 -!- da4c30ff_ [~da4c30ff@c18.adsl.tnnet.fi] has quit [Quit: Computer has gone to sleep.] 14:06:48 Kruppe- [~jcp@laforge.cs.uwaterloo.ca] has joined #scheme 14:06:58 -!- Kruppe [~jcp@laforge.cs.uwaterloo.ca] has quit [Read error: Connection reset by peer] 14:08:05 juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has joined #scheme 14:08:18 ski, taylanub: IMO, "Semantics Enginerring with PLT Redex" is a much better intro to reduction semantics. 14:08:37 And probably more approachable from someone familiar with Scheme / Racket. 14:09:01 Bob Harper's dogma sometimes gets in the way of his explanations. 14:11:10 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 14:11:32 ecraven, er? 14:11:38 It is buffered. 14:13:59 *taylanub* takes note of both books 14:14:37 stamourv : ok. ty for the pointer 14:14:58 ecraven, can you be more specific? 14:22:38 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 246 seconds] 14:25:02 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 14:25:21 -!- tenq is now known as tenq|out 14:25:51 -!- tiksa [~tiksa@unaffiliated/tiksa] has quit [Ping timeout: 265 seconds] 14:26:17 -!- bjz [~bjz@125.253.99.68] has quit [Read error: Connection reset by peer] 14:26:32 bjz [~bjz@125.253.99.68] has joined #scheme 14:31:20 tiksa [~tiksa@178-222-119-95.dynamic.isp.telekom.rs] has joined #scheme 14:31:38 -!- tiksa [~tiksa@178-222-119-95.dynamic.isp.telekom.rs] has quit [Changing host] 14:31:38 tiksa [~tiksa@unaffiliated/tiksa] has joined #scheme 14:33:29 -!- effy [~x@111.197.234.135] has quit [Ping timeout: 246 seconds] 14:34:57 add^_ [~user@m176-70-197-33.cust.tele2.se] has joined #scheme 14:35:34 dkinzer [~dkinzer@gateway.jenkinslaw.org] has joined #scheme 14:35:55 effy [~x@114.253.37.127] has joined #scheme 14:39:47 -!- tiksa [~tiksa@unaffiliated/tiksa] has quit [Ping timeout: 246 seconds] 14:40:13 tiksa [~tiksa@178-222-119-95.dynamic.isp.telekom.rs] has joined #scheme 14:40:20 -!- tiksa [~tiksa@178-222-119-95.dynamic.isp.telekom.rs] has quit [Changing host] 14:40:20 tiksa [~tiksa@unaffiliated/tiksa] has joined #scheme 14:47:15 oleo [~oleo@xdsl-78-35-148-80.netcologne.de] has joined #scheme 14:55:44 Ahli[DE] [~nevzets@unaffiliated/nevzets] has joined #scheme 14:58:01 So I wrote a paramatre implementation that defines a paramatre using (define-param foo "bar"), accesses the value of that param with (param foo) and uses normal (let-param ((foo "baz")) (param foo)) ; ===> "baz" to set it for a particular dynamic extent but I see that most schemes opt to actually make paramters function-like objects which return the value when called as a thunk, what's the reasonf or this? 15:00:27 Ahli[DE]: I don't think there's a reason beyond being shorter. 15:01:56 taylanub, hmm 15:01:56 Well, they are actual objects in this case, you can pass them around as values, I thought there maybe be some use for that? 15:02:19 przl [~przlrkt@62.72.64.50] has joined #scheme 15:02:43 I'm not entirely sure what is supposed to happen if you paramatrize something and have it return though like in racket's (paramatrize ((hello "foo")) hello) 15:03:26 I'm pretty sure it's meant to lose the parameterized value even then. 15:03:30 Is it just set back to its original in that case? 15:04:47 rudybot: (define foo (make-parameter 'foo)) 15:04:47 rudybot: ((parameterize ((foo 'bar)) foo)) 15:04:47 taylanub: your sandbox is ready 15:04:48 taylanub: Done. 15:04:48 taylanub: ; Value: 'foo 15:05:53 Ahli[DE]: I'm not sure what you meant to ask up there but it almost sounded like you're not aware that procedures are also objects in Scheme ? 15:06:38 taylanub, no, I mean they are actual objects in the case of implementig them as quasi-procedures 15:07:25 In my implementation they are not objects if you do (define-param foo 3) then referencing foo itself says unbound variable (param foo) is an object, 3, foo itself is not in scope as a variable. 15:08:00 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 15:08:12 But yeah, that it loses it makes sense I guess if it's implemented with dynamic-wind which it porbably is. 15:09:44 I see, you create a second scope so to say, that's arguably unnecessary complication. 15:09:55 Why would you want to preclude passing around parameters as values? 15:11:56 -!- przl [~przlrkt@62.72.64.50] has quit [Quit: leaving] 15:12:05 przl [~przlrkt@62.72.64.50] has joined #scheme 15:13:42 -!- marsbot is now known as marsam 15:17:36 Riastradh, well, why don't you want to pass variables around as values in general? It makes reasoning about what programs do more difficult I guess. 15:18:23 taylanub, but yeah, I guess in effect paramatres are a differtent namespace than variables in my implementation if you will. 15:28:45 nisstyre [~yourstrul@oftn/member/Nisstyre] has joined #scheme 15:30:42 ijp [~user@host86-180-107-84.range86-180.btcentralplus.com] has joined #scheme 15:37:19 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 15:43:47 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 252 seconds] 15:44:59 -!- jewel [~jewel@105-236-210-247.access.mtnbusiness.co.za] has quit [Ping timeout: 245 seconds] 15:48:31 -!- cleatoma [~cleatoma@94.197.120.150.threembb.co.uk] has quit [Ping timeout: 264 seconds] 15:49:45 jewel [~jewel@105-236-210-247.access.mtnbusiness.co.za] has joined #scheme 15:52:43 przl [~przlrkt@62.72.64.50] has joined #scheme 15:54:54 -!- b4283 [~b4283@218-164-217-228.dynamic.hinet.net] has quit [Quit: ] 15:57:05 Riastradh: I've noticed that reading for example from a network socket with read-char is *really* slow, read-substring! and custom buffering is faster by far 15:57:07 Ahli[DE]: Dynamic scoping already has (some of?) the reasoning-difficulties one gets with passing variables by-value, I don't think the fact that parameters are objects adds any to that. 15:57:17 I *think* I've noticed the same with normal files, but it's less pronounced there 15:59:30 ecraven, iterated READ-CHAR is slower than single READ-SUBSTRING! because the former involves procedure calls for every byte whereas the latter involves memory references for every byte. 16:00:14 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 16:00:17 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 252 seconds] 16:05:51 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 16:09:18 taylanub, well, paramatres as a seperate namespace in this case can be modeled exactly as passing arguments. You can just think that every function has an extra argument which is the value of the paramater. 16:09:18 So it doesn't actually add any reasoning complexity and identical behaviour can be implemented completely free of mutation 16:09:21 I don't think you can reason about it like that any more if they are actual objects in which case you have to reason about them in forms of mutation 16:10:33 przl [~przlrkt@62.72.64.50] has joined #scheme 16:10:47 I don't see why 16:11:05 what is the argument? 16:11:11 that parameters are just as bad as dynamic scope? 16:11:25 nisstyre: I thought parameters *are* dynamic scope ? 16:11:34 taylanub: not the same 16:11:43 taylanub: you're not passing the environment at the call site 16:12:14 it's only for things you know are parameters 16:12:22 and even then, like Ahli[DE] said, it's not that hard to reason about 16:13:04 nisstyre: And the context for Ahli[DE]'s lines above is http://sprunge.us/dOCL 16:14:01 well you don't need mutation 16:15:02 Ahli[DE]: I think, first of all, we should differentiate between when there is and isn't mutation, for both systems. (I.e. compare mutation-supporting versions of both, and mutation-unsupporting versions of both, but don't compare one with mutation with one without mutation.) 16:15:09 ewww, parameter namespace 16:16:32 Ahli[DE]: one advantage is choosing your own names 16:16:54 Gut-feeling says that the parameter-objects approach will arguably win in both cases, but I don't really have time right now to take any more time in the discussion :\ 16:17:02 if my module has an epsilon paramter, and yours has an epsilon parameter, and we don't expose them directly to the user, then they won't clash 16:17:10 *taylanub* needs to go back to work 16:17:13 xyh [~user@2001:250:3002:5550:5642:49ff:fe5f:39f7] has joined #scheme 16:17:49 and even then we could reasonably do (import (rename (ijp) (epsilon ijp:epsilon)) (rename (ahli) (epsilon ahli:epsilon))) 16:18:24 with your proposed scheme, there would be only one epsilon parameter, and they can clash 16:18:39 (standard abstraction leakage anti-dynamic scope argument) 16:19:27 the problem with parameter objects, is with same with boxes, they can leak in a different way 16:20:38 (export all-the-parameters) (define all-the-parameters (list parameter1 parameter2 ...)) 16:21:01 rudybot: when you code first class, you pay extra 16:21:18 ijp: Sorry for being blunt: it doesn't because an object can always be stored in a variable/data-structure, etc., unless you put some extra limitations on all this stuff. 16:21:38 surprisingly relevant 16:21:39 -!- ebzzry [~ebzzry@112.204.28.168] has quit [Ping timeout: 245 seconds] 16:21:49 praise the randomness gods! 16:23:24 ijp, well, do you know a way to implement the behaviour of say current-whatever-port which are impure functions with pure functions only? 16:23:57 if you only allow parameterize, and not the impure update that srfi 39 does, then it's just extra parameter passing 16:24:13 so no (current-input-port port-foo) 16:24:59 Well, that's the point, the model of paramatrization that guile and racket use do allow that. 16:25:28 right, but that is not because it is an object per se, but because it has an additional capability 16:26:18 the objectness is not the problem, the impure update is 16:26:32 The model I implemented gives you basically (define-param foo "foo"), (param foo) to get "foo" and (let-param ((foo "bar")) (param foo)) ; ==> "bar" 16:26:32 True 16:26:33 Well, it's because it's an object in the sense that the paramatre itself can be pased around as a value 16:27:19 It does remind me of sometimes people asking in here why you can't do ((string->symbol "+") 1 2 3) and the response they get is that it destroys a simple scoping model and makes reasoning about programs for humans and compilers increasingly more difficult, I don't see how this is much different. 16:27:40 the transformation is a little more complex because of renaming 16:28:00 but I can't think of a reason offhand why it wouldn't be doable 16:29:23 Ahli[DE]: experience with exceptions suggests the two are not the same 16:29:40 Well, let's put it like this: (paramatrize ((foo "bar")) (if some-user-input-conditioned-value foo baz)) where baz is also a paramatre 16:29:50 -!- effy [~x@114.253.37.127] has quit [Quit: No Ping reply in 180 seconds.] 16:30:13 effy [~x@114.253.37.127] has joined #scheme 16:30:27 Say a function then uses that paramatre that is returned from the entire paramatrize block, it's obviously no longer statically decidable which paramatre it is. 16:31:14 Which creates a whole new slew of problems, theoretically with the non object model of paramatrization you could even statically dispatch the different versions of the functions if you wanted. 16:31:20 wait what 16:31:28 ebzzry [~ebzzry@112.204.28.168] has joined #scheme 16:31:37 of course it isn't statically decidable which parameter it is, you are waiting on user input 16:32:17 it isn't statically decidable whether (if (eof-object? (read)) (blow-up canada) (blow-up mexico)) blows up canada or mexico 16:33:00 Riastradh: then the overhead must be quite large even in compiled code, it is very slow :-/ but that explains it, thank you 16:33:25 I'm sure there is a point lurking in there somewhere, but I don't see it 16:33:35 Yeah, and it becomes statically decidable, just as variables with this model. 16:35:04 and if you made foo and baz normal dynamic variable, then you would get a *value* not a parameter 16:35:21 so it's still not a question of decidability, it's two different questions 16:35:56 Well, that is the point, if you see (paramatre) in code it could be any any paramatre, if you see (param paramatre) you know which one it is and you can reason about it identically as a passed variable, it's implicit deep variable passing. 16:35:56 Well, that's the point, they aren't dynamic variables, they are static ones. 16:36:43 You don't lose any reasoning, you just gain convenience. 16:36:43 Well, let me put it like this, are there some uses cases where treating paramatres as objects and passing them around is particularly useful? 16:37:14 programs using the same named variable do not interfere 16:37:18 you can rename them 16:37:32 you can store them in datastructures, allowing you to, say, update a whole list of them at once 16:37:33 I mostly use paramatres let's say to mark an endline convention in a printing function between "\n" and "\r\n" and passing that around as an actual argument down the entire call tower would be inconvenient. 16:37:52 you can keep them hidden lexically from other parts of the program 16:38:05 ddp [~ddp@c75-111-101-191.amrlcmta01.tx.dh.suddenlink.net] has joined #scheme 16:38:06 As long as a piece of code doesn't set! a variable referencing a parameter object, it is statically apparent which parameter is referenced. 16:38:31 re. "if you see (paramatre) in code it could be any any paramatre, if you see (param paramatre) you know which one it" 16:38:36 -!- ddp [~ddp@c75-111-101-191.amrlcmta01.tx.dh.suddenlink.net] has quit [Client Quit] 16:38:46 ddp [~ddp@c75-111-101-191.amrlcmta01.tx.dh.suddenlink.net] has joined #scheme 16:38:54 so if you want your complicated formatting function to only be modified by your special format-change macro, you can do that 16:39:04 Well, if you update them like that you enter the same problem of uncontrolled mutation, in which case paramatrization becomes mutation. 16:39:04 taylanub, I disagree, what happens if you do ((if some-user-input param-a, param-b)) 16:39:05 Which paramatre is called in that case obviously depends on the user input. 16:39:41 -!- ddp [~ddp@c75-111-101-191.amrlcmta01.tx.dh.suddenlink.net] has quit [Client Quit] 16:39:42 Ahli[DE]: True, however the same is simply not possible with your system. 16:39:48 anyway, I can see you aren't going to come up with a convincing counterexample, so I'm done 16:40:51 Ahli[DE]: In your system, I suppose one would need to do (if foo (param param-a) (param param-b)), which is equivalent to (if foo (param-a) (param-b)) with object parameters, which again makes it statically apparent what parameters are being referenced 16:42:12 taylanub, well yes, that's the point about restrictions, I liken it to some people asking why ((string->symbol "+") 1 2 3 4) isn't possible, it adds flexibility but it becomes a nightmare to reason and optimize about. 16:42:59 Well, obviously my system is more restricted, but restrictions often exist for a reason, but I guess scheme by design isn't language-wise restricted and relies on 'responsible use" 16:42:59 Unlike say Haskell which more or less forces these kinds of restrictions. 16:43:01 That's not the same thing; in that case the price of allowing that extends to cases where the feature isn't made use of. 16:43:10 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 16:43:18 fantazo [~fantazo@213.129.230.10] has joined #scheme 16:44:19 your example is equivalent to the one with dynamic scoping, his wasn't 16:44:33 Well, in this case as well, introducing paramatres like this forces you to reason in terms of mutation, you can no longer model entire programs simply as applicative substitution, in my case of paramatres provided you don't use mutation you can. 16:44:35 paramatres as objects are basically identical to impure functions, are they not? 16:44:59 -!- noam [~noam@213.57.201.130] has quit [Ping timeout: 240 seconds] 16:45:34 noam [~noam@213.57.201.130] has joined #scheme 16:47:04 as I said already, if you give them the mutation capability as per srfi 39, then you have to reason in terms of mutation. if you only use parameterise, then you can reason in terms of pure objects, with an additional indirection 16:48:12 which is *almost* how you do mutation in normal semantics 16:49:10 I say almost, because the "state" is still your normal environment stack, rather than a map you need to pass around 16:49:32 this would be much easier with an example, I think 16:52:26 Hmm, you can reason about them as normal variable passing I guess, in which case it becomes identical to my model except that it simply usees (define-param foo [lambda [] "bar"]) I guess? 16:55:37 -!- oleo [~oleo@xdsl-78-35-148-80.netcologne.de] has quit [Read error: Connection reset by peer] 16:56:26 ecraven, yes. For binary I/O, READ-CHAR will involve about five or six procedure calls per octet; READ-SUBSTRING! does an open-coded copy. 16:56:34 in a sense, yes, you need an extra indirection because a given parameter can appear at a given point in a program with multiple names, but sharing a value 16:57:07 It's hard to come up with a convincing simple example of that occuring 16:57:13 zajn [~zajn@108.205.50.54] has joined #scheme 16:57:31 oleo [~oleo@xdsl-87-79-250-48.netcologne.de] has joined #scheme 16:59:43 it's not state in the conventional sense, because if you had (list (computation-using-parameter-foo) (other-computation-using-parameter-foo)), then you can still evaluate both of those in parallel, without their parameterisations affecting the other 17:00:00 Well, I suppose a major difference is that if this one exists from a local paramatrize that ends it's dynamic wind it resets to its old value., 17:00:01 As in (paramatrize ((foo "bar")) ((paramatrize ((foo "baz")) foo))) ;; => returns bar again 17:00:11 (with the mutation capability, you are back to regular state) 17:00:47 Whereas in my system you can't do that, you can only do (paramatrize ((foo "baz")) (foo)) basically, you can call it there, but you can't actually return the object 17:01:00 right, so you just have normal dynamic scope 17:01:12 but then you *can* return (lambda () (foo)) 17:01:39 and it's the exact same thing 17:01:43 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 264 seconds] 17:02:03 -!- Kruppe- is now known as Kruppe 17:02:21 On another note though, do you know a way that given an identifier a to deterministically generate an identifier b from it which is guaranteed to be distinct from any other identifier in scope? 17:02:21 As in, they the identifiers generated have to be free-identifier=? iff the arguments given are free-identifier=? 17:06:03 no, but why 17:06:38 two issues with such a procedure spring to mind 17:06:47 - it's volatile to changes in the program source text 17:07:56 theseb [~cs@74.194.237.26] has joined #scheme 17:07:59 - should (list (let ((a *foo*)) (your-proc some-arg)) (let ((a *foo*)) (your-proc some-arg)))) return the same object wice? 17:13:19 ijp, because I found a hole in the hyigiene of my param implementation that is really marginal but still unelegant. Basically it implements it by if you do (define-param foo "bar") it rewrites this to (define param--foo "bar") where something that comes from generate temporaries and is guaranteed to be unique. 17:14:06 But that of course doesn't mean that the entire identifier param--foo is unique, the string is basically determined once at macro expansion and shared throughout the entire macro expansion 17:14:53 So when you do (let-param ((foo "baz")) it can again expand this to (set! param--foo "baz") if you will. 17:15:27 right, so you are trying to do something unhygienic and it isn't letting you 17:16:57 przl [~przlrkt@62.72.64.50] has joined #scheme 17:17:22 if you don't want to go the define-struct route, and just make your whole variable completely determined, you could store it in data structure, that only your macro can access 17:21:08 -!- przl [~przlrkt@62.72.64.50] has quit [Ping timeout: 246 seconds] 17:22:43 The problem with that approach is paramatres defined in a local scope though. 17:23:30 It would add them to the top level structure if you defined them locally, I don't think there's an easy way to stop that 17:24:47 which implementation are you using? 17:25:51 guile at the moment. 17:26:01 in guile, you could use something like syntax-locally-bound-identifiers 17:26:49 probably a good idea to read the whole manual entry 17:28:12 You would expect there to be a procedure (f stx-object) which gives you a list of all identifiers that are available in the environment of stx-object or somethig like that. 17:28:27 -!- dkinzer is now known as dkinzer_noob 17:28:44 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 17:28:59 Oh, that's exactly that procedure, ehehe 17:29:06 xenophon [~user@64.124.65.162] has joined #scheme 17:31:35 -!- marsam is now known as marsbot 17:32:19 The only way I can find to run a compiled mit-scheme program is to run `echo '' | scheme -load foo.so`. If I try to run ./foo.so directly I get a segmentation fault. I just want to verify that this the way I'm doing it is indeed the "proper" way. I can't find any information on this in the user manual or by Googling. 17:34:33 -!- dkinzer_noob is now known as dkinzer 17:39:08 davidp` [~user@139.82.89.157] has joined #scheme 17:40:34 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 17:40:45 -!- marsbot is now known as marsam 17:41:13 -!- davidp` [~user@139.82.89.157] has quit [Remote host closed the connection] 17:41:18 dkinzer_noob: in other implementations, you may use a scheme-script to load it. 17:41:33 dkinzer_noob: http://marcomaggi.github.io/docs/ikarus#using-script 17:41:50 tupi [~user@139.82.89.157] has joined #scheme 17:42:12 xyh: Thanks for the info! 17:43:52 ijp, in what module is syntax-locally-bound-identifiiers located? 17:44:17 (system syntax) 17:44:33 (info "(guile) Syntax Transformer Helpers") 17:46:26 dkinzer: but be careful about Ikarus. it is NOT maintained anymore. it maybe hard to use. 17:47:16 xyh: I think I'll just use my "echo " technique. It does the job. even though it's not necessarily pretty :) 17:50:14 Dose anyone know how to really copy a list WITH LOOP ??? by ``really copy'' i mean to allocate new addresses for every cons (every pair) !!! 17:50:48 the one in srif-1 can't do this. 17:51:27 you mean copy a list with cycles? 17:51:33 yes 17:56:41 i write a function can do this, but it is about 150 lines of scheme code !!! my god ! too big !!! 17:56:44 zajn_ [~zajn@c-67-164-92-172.hsd1.ca.comcast.net] has joined #scheme 18:00:16 jao [~jao@211.146.14.37.dynamic.jazztel.es] has joined #scheme 18:00:19 -!- jao [~jao@211.146.14.37.dynamic.jazztel.es] has quit [Changing host] 18:00:20 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 18:00:29 -!- zajn [~zajn@108.205.50.54] has quit [Ping timeout: 240 seconds] 18:02:26 nobody else ever needs to copy a list with cycles(or loops) ?? 18:02:45 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 18:03:24 I can't imagine it's very common 18:04:02 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 18:05:40 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 18:17:41 -!- amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has quit [Quit: Konversation terminated!] 18:17:53 amgarchIn9 [~amgarchin@p4FD63A15.dip0.t-ipconnect.de] has joined #scheme 18:18:08 ijp: i am embedding a directed-graph-processing-language in scheme. for example (although i am not implement directed-graph like this, but it's just the idea), #2=(vertex-2 #1#) and #1=(vertex-1 #2#) in a list will be two vertexes in a graph. 18:18:59 ijp: am i using a wrong way to go to implement directed-graph in scheme ?? 18:20:58 -!- marsam is now known as marsbot 18:21:26 it's a reasonable way, I suppose 18:50:49 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 18:52:05 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #scheme 18:55:48 -!- juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has quit [Remote host closed the connection] 18:58:43 juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has joined #scheme 18:59:33 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Read error: Connection reset by peer] 19:00:00 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 19:00:04 -!- marsbot is now known as marsam 19:01:08 ASau [~user@46.115.90.184] has joined #scheme 19:05:38 -!- pnkfelix [~pnkfelix@89.202.203.51] has quit [Ping timeout: 252 seconds] 19:07:43 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 264 seconds] 19:08:38 -!- theseb [~cs@74.194.237.26] has quit [Remote host closed the connection] 19:10:01 theseb [~cs@74.194.237.26] has joined #scheme 19:17:58 -!- marsam is now known as marsbot 19:21:37 -!- theseb [~cs@74.194.237.26] has quit [Remote host closed the connection] 19:25:43 barryfm [~barryfm@fl-71-52-211-92.dhcp.embarqhsd.net] has joined #scheme 19:32:23 theseb [~cs@74.194.237.26] has joined #scheme 19:34:48 -!- barryfm [~barryfm@fl-71-52-211-92.dhcp.embarqhsd.net] has quit [Quit: Ex-Chat] 19:36:16 -!- theseb [~cs@74.194.237.26] has quit [Remote host closed the connection] 19:36:36 MichaelRaskin [~MichaelRa@195.91.224.161] has joined #scheme 19:37:38 barryfm [~barryfm@fl-71-52-211-92.dhcp.embarqhsd.net] has joined #scheme 19:43:37 -!- taylanub [tub@p4FD908E2.dip0.t-ipconnect.de] has quit [Quit: Using Circe, the loveliest of all IRC clients] 19:43:51 -!- fantazo [~fantazo@213.129.230.10] has quit [Quit: Verlassend] 19:45:10 -!- barryfm [~barryfm@fl-71-52-211-92.dhcp.embarqhsd.net] has quit [Quit: Ex-Chat] 19:46:45 dzhus [~dzhus@95-31-27-234.broadband.corbina.ru] has joined #scheme 19:47:39 theseb [~cs@74.194.237.26] has joined #scheme 19:48:05 -!- xyh [~user@2001:250:3002:5550:5642:49ff:fe5f:39f7] has quit [Remote host closed the connection] 19:50:12 taylanub [tub@p4FD908E2.dip0.t-ipconnect.de] has joined #scheme 19:54:26 -!- jewel [~jewel@105-236-210-247.access.mtnbusiness.co.za] has quit [Ping timeout: 246 seconds] 19:54:26 -!- taylanub [tub@p4FD908E2.dip0.t-ipconnect.de] has quit [Disconnected by services] 19:54:53 taylanub [tub@p4FD92755.dip0.t-ipconnect.de] has joined #scheme 20:02:32 cmpitg [~cmpitg@unaffiliated/cmpitg] has joined #scheme 20:04:22 -!- taylanub [tub@p4FD92755.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20:05:00 taylanub [tub@p4FD92755.dip0.t-ipconnect.de] has joined #scheme 20:10:21 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 20:10:50 aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has joined #scheme 20:17:29 -!- gravicappa [~gravicapp@ppp91-77-179-95.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:22:25 uzo_ [~uzo@99.102.150.139] has joined #scheme 20:22:27 -!- uzo_ [~uzo@99.102.150.139] has left #scheme 20:22:39 boycottg00gle [~user@stgt-4d02459b.pool.mediaWays.net] has joined #scheme 20:23:03 camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has joined #scheme 20:23:19 -!- zajn_ [~zajn@c-67-164-92-172.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 20:27:58 -!- nisstyre [~yourstrul@oftn/member/Nisstyre] has quit [Quit: WeeChat 0.4.3] 20:28:41 olegon [~olegon@177.189.30.96] has joined #scheme 20:29:49 Hello! I'm need help with continuations. Someone can help me? 20:30:18 first, you'll need a door to bang your head on 20:31:22 olegon: what do you know so far? 20:32:13 https://gist.github.com/olegon/c27e4692aed1f3dcef99 20:32:40 I don't know why the second version of "mmember?" calls "print". 20:32:45 protip: newline for the lambda means less indentation 20:32:58 -!- camelCaseIsUgly [~camelcase@ip68-8-74-224.sd.sd.cox.net] has quit [] 20:33:18 I think I found my mistake: In the recursion, I create a new continuation for each call. 20:33:19 D: 20:33:47 glad I could help, pay the secretary on your way out 20:33:59 -!- add^_ [~user@m176-70-197-33.cust.tele2.se] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:46:43 -!- ASau [~user@46.115.90.184] has quit [Ping timeout: 264 seconds] 20:52:00 -!- boycottg00gle [~user@stgt-4d02459b.pool.mediaWays.net] has quit [Remote host closed the connection] 20:52:53 ASau [~user@46.115.90.184] has joined #scheme 20:55:21 -!- peterhil` [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Ping timeout: 264 seconds] 20:57:48 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 20:59:55 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:00:49 -!- jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has quit [Read error: Connection reset by peer] 21:01:28 jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has joined #scheme 21:02:29 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:02:59 -!- davexunit [~user@fsf/member/davexunit] has quit [Quit: Later] 21:04:20 -!- aftersha_ [~textual@h-243-81.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 21:04:39 jao [~jao@211.146.14.37.dynamic.jazztel.es] has joined #scheme 21:04:42 -!- jao [~jao@211.146.14.37.dynamic.jazztel.es] has quit [Changing host] 21:04:42 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 21:06:53 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:09:08 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:15:49 -!- jkraemer_ [jkraemer@nat/google/x-eyhdavcqqclcuuxo] has quit [Read error: Connection reset by peer] 21:15:58 zajn [~zajn@108.205.50.54] has joined #scheme 21:16:34 -!- BossKonaSegwaY [~Michael@d60-65-147-223.col.wideopenwest.com] has left #scheme 21:16:50 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:17:33 jkraemer [jkraemer@nat/google/x-aavytwluuyjdftsu] has joined #scheme 21:18:27 -!- zajn [~zajn@108.205.50.54] has quit [Remote host closed the connection] 21:18:38 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:19:02 zajn [~zajn@108.205.50.54] has joined #scheme 21:19:28 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:21:27 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:23:13 -!- zajn [~zajn@108.205.50.54] has quit [Ping timeout: 240 seconds] 21:25:07 -!- bjz [~bjz@125.253.99.68] has quit [Ping timeout: 264 seconds] 21:31:20 -!- sung_ [sung@2600:3c02::f03c:91ff:feae:bf62] has quit [Quit: No Ping reply in 180 seconds.] 21:31:27 sung_ [sung@2600:3c02::f03c:91ff:feae:bf62] has joined #scheme 21:31:28 zajn [~zajn@airbears2-136-152-142-140.AirBears2.Berkeley.EDU] has joined #scheme 21:33:43 -!- dkinzer [~dkinzer@gateway.jenkinslaw.org] has quit [Quit: WeeChat 0.3.7] 21:35:28 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:37:55 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:44:29 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:46:19 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:50:52 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 21:52:15 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 21:52:31 -!- marsbot is now known as marsam 21:53:27 https://gist.github.com/olegon/419f15511023bba3107e 21:53:41 Someone can explain this? 21:54:29 Why the second call, with cons, returns ((pizza)) again. (from The Seasoned Schemer) 21:54:35 -!- ASau [~user@46.115.90.184] has quit [Remote host closed the connection] 21:55:02 Sorry, why returns ((r))** 21:55:14 ASau [~user@46.115.90.184] has joined #scheme 21:55:40 hmph, for me I get ((opa)) 21:55:55 rudybot: (define toppings 0) 21:55:57 ijp: your sandbox is ready 21:55:57 ijp: Done. 21:56:08 rudybot: (define deepB ( (n) (cond ((zero? n) (call-with-current-continuation ( (cc) (set! toppings cc) 'pizza))) (else (cons (deepB (sub1 n)) '()))))) 21:56:08 21:56:08 ijp: Done. 21:56:14 rudybot: (deepB 2) 21:56:14 ijp: ; Value: '((pizza)) 21:56:23 rudybot: (cons (toppings 'opa) '()) 21:56:23 ijp: ; Value: '((opa)) 21:57:30 Why ((opa)), not (((pizza)) ? 21:57:41 I'm very confused. 21:57:59 davexunit [~user@fsf/member/davexunit] has joined #scheme 21:58:19 olegon: when you invoke a continuation, you throw away *everything* you are doing at that moment 21:58:26 so you get rid of that additional cons 21:58:50 then it performs the continuation on the value 'opa 21:58:51 Hm! Can you explain this behavior? 21:59:06 the continuation conses it onto null twice 21:59:24 olegon: has the seasoned schemer not explained this yet? 21:59:42 Why on value 'opa and why it forget everything I'm doing at that moment? 22:00:24 The book explains it will forget everything, but It dont make sense to me. 22:00:24 D: 22:00:28 olegon: when you invoke a continuation, you are supplying a value to be used in place of the whole call to (call/cc (lambda (x) ..)) 22:01:00 so instead of that, you have the value 'opa, because that is what you supply to the toppings continuation 22:01:18 now, the latter one is the one that will any you very much 22:01:32 at any point in a program, you have only one continuation 22:01:45 when you invoke a continuation, it isn't like calling a function 22:01:51 it doesn't return 22:02:17 the continuation is *the rest of the program* 22:02:35 so invoking a continuation is saying: forget everything, and carry on from here instead 22:03:42 Hm! (cons (toppings 'opa) '()) return ((opa)) because LISP dont evaluate all the expression, just the continuation? 22:03:55 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 22:03:55 It's strange, haha. 22:05:05 olegon: have you ever picked up a postit note that said something like "do the dishes", did that, and then completely forgotten what you were suppposed to be doing before that? 22:05:12 -!- tenq|out is now known as tenq 22:05:20 continuations are like that postit note 22:06:01 (with delimited continuations, you'd remember) 22:06:02 hm 22:06:12 (but don't worry about those for now) 22:06:41 -!- tupi [~user@139.82.89.157] has quit [Remote host closed the connection] 22:07:15 I understand now why It replace 'pizza for 'opa. Invoking a continuation will replace the (call/cc ...) with the argument, right? (toppings '(thanks)) returns (((thanks))) 22:07:37 but why It ignores the expression still obscure for me 22:09:01 olegon: well, at every point in a program there is a continuation 22:09:10 it says what you do after you've evaluated the current expression 22:09:22 <`^_^v> it doesn't just replace the (call/cc ) call, it makes the program start executing from that point 22:09:54 so when you invoke a continuation, you are really pasting on the new continuation at the current point in the program 22:09:56 <`^_^v> that point has no idea that you were currently evaluating a cons expression, and it doesnt care 22:09:59 -!- jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has quit [Ping timeout: 240 seconds] 22:10:17 olegon: you know what a call stack is? 22:10:46 -!- dzhus [~dzhus@95-31-27-234.broadband.corbina.ru] has quit [Remote host closed the connection] 22:10:53 The callstack store the functions arguments, right? 22:11:20 it's an implementation detail, but it's the nest of function calls you still need to return from 22:11:39 if you aren't familiar it doesn't matter 22:12:03 (some people who've coded for a while find the callstack explanation easier) 22:12:31 I'm C#/JS programmer. 22:12:46 well the stack is the continuation 22:13:02 when you get a stacktrace, serialised continuation 22:13:18 it says, this is what will do this next 22:13:38 and, multiprocessing aside, you can't do two things next 22:13:47 Right. 22:14:18 so invoking a continuation is set!ing the stack 22:14:51 olegon: any of this helpful, or are you more confused now? 22:16:40 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 22:17:21 Oh! It's clear now. When a pass argument to toppings, I'm changing the callstack at the moment it was created, but It dont forget the stack surround the part of the stack I'm chaging 22:17:37 (English isn't my native language, sorry) 22:17:49 -!- defanor [~defanor@muffin.uberspace.net] has quit [Quit: giving up on this server] 22:17:51 Right? 22:18:38 defanor [~defanor@muffin.uberspace.net] has joined #scheme 22:18:42 changing it *to* the stack at the moment the continuation was created 22:19:31 Yes, sorry about my english haha 22:19:37 (personally, I hate this explanation, but it gets results) 22:20:08 Its like a C goto, but it remembers the callstack surround it, right? 22:20:12 <`^_^v> pretend you are evaluating a complex expression, like 3 + (5 * x). the code for this might look like: load x. load 5. multiply x by 5. load 3. add 3 to that. now suppose that loading x is not just reading some memory location, but it's a jump to some other code. clearly, when you jump in the middle of that expression evaluation, you lose the surrounding code (i.e. "forget" it) and just resume executing at the place you jumped to 22:20:47 <`^_^v> it is like a goto, but more powerful -- it doesn't have to be local, and it can pass data 22:21:07 goto didn't used to have to be locla 22:21:09 local* 22:21:49 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 22:22:27 ^_^, thanks. 22:23:05 One doubt left: why (cons (toppings 'opa) '()) returns ((opa)) not (((opa))) 22:23:17 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 22:23:18 I know it forgets the expression, but why? 22:23:39 ^_^, here's the code: https://gist.github.com/olegon/419f15511023bba3107e 22:23:45 well, think about evaluating (toppings 'opa) 22:24:01 at that point, it's continuation is (lambda (x) (cons x '())) 22:25:12 but when you evaluate toppings, it is a continuation, and so you do it instead 22:25:17 Why (lambda (x) (cons x '())) and not (cons (cc-invoking ...) '()) 22:25:36 ? 22:25:38 -!- tenq is now known as tenq|out 22:25:50 (lambda (x) (cons x '())) is the continuation of (toppings 'opa) 22:26:03 just substitute, you're back to (cons (toppings 'opa) '()) 22:26:52 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 22:27:21 LISP will invoke this lambda with ((opa)) argument, right? 22:27:31 no 22:28:05 This is what I don't understand. 22:28:10 D: 22:28:17 but, when you evaluate (toppings 'opa), instead you are really evaluating 'opa, with the continuation toppings 22:28:47 I'm just repeating myself I fear 22:28:57 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 22:29:23 I think it would probably have been less confusing if continuations were not syntactically the same as functions 22:30:09 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 22:30:09 (and I did not help things by using a lambda) 22:30:53 ijp, Can I do some calculation with the result of (toppings 'something) ? 22:30:57 no 22:31:08 Never? 22:31:11 never 22:31:29 olegon: continuations are not like functions, they don't actually return 22:31:44 (let ((a (toppings 'something))) (cons a '()) 22:31:49 This is wrong, right? 22:32:16 toppings will not return, so the value of that expression, is the value of (toppings 'something) 22:32:46 Ok. 22:32:47 once you swap your stack, you don't get the old one back 22:33:57 jaimef [jaimef@166.84.6.60] has joined #scheme 22:34:21 This stack start with a function call, right? So, the nexts application will work. 22:34:29 -!- marsam is now known as marsbot 22:34:35 A Stack starts with** sorry 22:35:02 next application? 22:37:21 -!- theseb [~cs@74.194.237.26] has quit [Quit: Leaving] 22:37:35 (let () (cons (toppings 'something) '()) 5) evaluate to 5 22:37:51 rudybot: (let () (cons (toppings 'something) '()) 5) 22:37:52 ijp: ; Value: '((something)) 22:37:54 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 22:37:58 nope 22:38:07 *poof* gone 22:38:43 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #scheme 22:39:17 I'll think in this way: a continuation invoke will forget the expression where it was invoked 22:39:45 Like you said, It's different from a function call. 22:40:00 It dont return a value, it replace the stack. 22:40:28 well, I'm going to quible over that a bit 22:40:50 (unhelpfully) 22:41:01 it does have a value, it just doesn't return it to the expression 22:41:27 but you've basically got the idea 22:41:54 if and when you feel confident, try figuring out the yin-yang puzzle 22:42:09 yin-yang puzzle? D: 22:42:22 (let* ((yin ((lambda (cc) (display #\@) cc) (call-with-current-continuation (lambda (c) c)))) (yang ((lambda (cc) (display #\*) cc) (call-with-current-continuation (lambda (c) c)))) ) (yin yang)) 22:43:01 put it away in a file, and come back to it in a few weeks 22:43:30 -!- zacts [~zacts@freebsd/lover/zacts] has quit [Quit: leaving] 22:44:07 tcsc [~tcsc@c-76-118-148-98.hsd1.ma.comcast.net] has joined #scheme 22:44:40 ijp, thanks! It's clear to me. 22:44:49 I have to train now. 22:47:16 Why do you like LISP/Scheme? 22:48:01 at the time I learned it, it was just "cleaner" than I was accustomed to 22:48:13 now, it's just a habit, like speaking English 22:48:50 I started learning functional approach and started with Haskell. Haskell seems powerful to create softwares (It's full functional), but LISP seems so confused. D: 22:48:59 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 22:49:01 fully* 22:49:41 I like haskell just fine, but I feel that saying it is "purely functional" is not really telling the fullstory 22:50:34 but that's an argument for another day 22:50:56 jxv [~jxv@71-84-192-255.dhcp.wsco.ca.charter.com] has joined #scheme 22:51:48 I'm not a good programmer and not a Haskell expert too. 22:51:54 ;/ 22:52:19 well, there's only one way to get good at anything 22:52:25 -!- tiksa [~tiksa@unaffiliated/tiksa] has quit [Ping timeout: 240 seconds] 22:52:34 two if you count obsoleting it 22:52:47 Sgeo [~quassel@ool-44c2df0c.dyn.optonline.net] has joined #scheme 22:53:13 Do you read The Little Schemer and The Seasoned Schemer? 22:53:27 -!- juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has quit [Remote host closed the connection] 22:54:27 I did 22:54:32 and the reasoned schemer 22:54:37 Are good books. Right now is easy to think in a recursive manner. I was confused only with continuations. 22:54:57 I'll will start reasoned tonight. 22:55:07 (Im from Brazil) 22:55:09 olegon: it's not really the same as the others 22:55:24 Do you recommend? 22:55:47 similar in quality, and a fun read 22:56:08 well, you'll find out if you read it 22:56:49 -!- zajn [~zajn@airbears2-136-152-142-140.AirBears2.Berkeley.EDU] has quit [Remote host closed the connection] 22:56:53 I'll {: 23:00:00 I wanna implement a game with Clojure later. For Android. 23:05:14 -!- civodul [~user@reverse-83.fdn.fr] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:06:08 tiksa [~tiksa@109-93-179-248.dynamic.isp.telekom.rs] has joined #scheme 23:06:37 -!- tiksa is now known as Guest56579 23:08:28 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 23:10:03 kvda [~kvda@unaffiliated/kvda] has joined #scheme 23:14:38 -!- stepnem [~stepnem@77.78.117.8] has quit [Ping timeout: 246 seconds] 23:24:22 juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has joined #scheme 23:27:44 klltkr [~klltkr@unaffiliated/klltkr] has joined #scheme 23:29:41 -!- juxovec [~juxovec@19.pool85-51-101.dynamic.orange.es] has quit [Ping timeout: 246 seconds] 23:30:58 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 23:32:51 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 23:36:16 nycs [~nycs@rrcs-24-39-141-128.nyc.biz.rr.com] has joined #scheme 23:37:00 zajn [~zajn@2607:f140:400:a003:fdca:5563:6551:b62c] has joined #scheme 23:37:37 ASau` [~user@46.115.90.184] has joined #scheme 23:37:38 -!- `^_^v [~nycs@rrcs-24-39-141-128.nyc.biz.rr.com] has quit [Read error: Operation timed out] 23:37:40 -!- klltkr [~klltkr@unaffiliated/klltkr] has quit [Quit: My MacBook has gone to sleep. ZZZzzz] 23:37:58 zRecursive [~czsq888@183.13.194.237] has joined #scheme 23:38:45 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 23:40:50 -!- Guest56579 [~tiksa@109-93-179-248.dynamic.isp.telekom.rs] has quit [Quit: Peace] 23:41:09 peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has joined #scheme 23:41:19 -!- ASau [~user@46.115.90.184] has quit [Ping timeout: 264 seconds] 23:41:22 -!- ASau` is now known as ASau 23:44:32 -!- marsbot is now known as marsam 23:45:47 -!- jxv is now known as Jxvuleon 23:45:54 ASau` [~user@46.115.116.19] has joined #scheme 23:46:31 tiksa [~tiksa@unaffiliated/tiksa] has joined #scheme 23:46:58 -!- marsam is now known as marsbot 23:48:25 -!- ASau [~user@46.115.90.184] has quit [Ping timeout: 240 seconds] 23:50:16 -!- marsbot is now known as marsam 23:52:12 -!- ASau` is now known as ASau 23:52:57 -!- Jxvuleon is now known as [JJ]Albert 23:53:09 -!- [JJ]Albert is now known as jxv 23:54:22 -!- marsam is now known as marsbot 23:54:45 -!- tcsc [~tcsc@c-76-118-148-98.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 23:55:08 tcsc [~tcsc@c-76-118-148-98.hsd1.ma.comcast.net] has joined #scheme 23:55:27 -!- tcsc [~tcsc@c-76-118-148-98.hsd1.ma.comcast.net] has left #scheme