00:00:00 --- log: started forth/14.04.19 00:00:14 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 00:02:18 --- quit: asie (Client Quit) 00:02:33 --- quit: mnemnion (Remote host closed the connection) 00:03:00 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 00:07:11 --- quit: mnemnion (Ping timeout: 240 seconds) 00:12:38 --- join: kumul (~mool@173.215.134.98) joined #forth 00:13:00 --- quit: pvt_petey (Quit: Computer has gone to sleep.) 00:19:59 --- quit: kumul (Quit: Leaving) 00:35:56 csl shoot me for saying this but look at pfe 00:37:21 nvm pfe i see ur objection to it (p.s. still scrolling thru history ) 00:38:13 and of course while im away working we have activity here. by the time i notices it everyone went to sleep where i shud go now :P 00:38:14 nite :) 01:29:43 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 02:03:36 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 02:03:39 --- quit: xpte (Quit: Connection closed for inactivity) 02:07:59 --- quit: mnemnion (Ping timeout: 245 seconds) 02:16:12 --- join: true-grue (~quassel@95-28-210-193.broadband.corbina.ru) joined #forth 02:22:52 --- quit: asie (Remote host closed the connection) 02:23:21 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 02:38:37 --- quit: kludge` (Ping timeout: 252 seconds) 02:41:55 --- join: kludge` (~comet@173.11.101.153) joined #forth 02:41:55 --- quit: kludge` (Changing host) 02:41:55 --- join: kludge` (~comet@unaffiliated/espiral) joined #forth 02:44:24 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 02:47:07 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 03:24:36 --- join: nighty-_ (~nighty@lns-bzn-49f-62-147-170-46.adsl.proxad.net) joined #forth 04:02:58 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 04:08:08 --- quit: mnemnion (Ping timeout: 265 seconds) 04:35:28 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 04:48:16 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 04:58:25 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 05:05:20 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 05:07:17 --- join: Tod-Autojoined (Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 05:16:57 --- join: backer_ (~backer@user-387h39d.cable.mindspring.com) joined #forth 05:17:02 --- quit: dandersen (*.net *.split) 05:17:02 --- quit: TodPunk (*.net *.split) 05:17:03 --- quit: backer (*.net *.split) 05:23:47 --- join: true-grue_ (~quassel@95-28-210-193.broadband.corbina.ru) joined #forth 05:26:45 --- quit: true-grue (Ping timeout: 258 seconds) 05:31:50 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 05:36:50 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 05:40:22 --- join: dkcl (~Dan@unaffiliated/dandersen) joined #forth 06:15:59 --- join: dandersen (~user@unaffiliated/dandersen) joined #forth 06:37:17 --- quit: ASau (Ping timeout: 250 seconds) 06:46:29 --- join: kumul (~mool@173.215.134.98) joined #forth 06:51:14 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 07:01:40 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 07:22:58 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 07:25:44 --- join: ASau (~user@46.114.18.54) joined #forth 08:15:28 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 08:27:01 --- join: adu (~ajr@ip-64-134-44-197.public.wayport.net) joined #forth 08:27:13 --- part: adu left #forth 09:23:54 --- quit: dandersen (Remote host closed the connection) 09:34:52 --- quit: bbloom (Ping timeout: 250 seconds) 09:50:30 --- quit: mark4 (Ping timeout: 276 seconds) 10:03:54 --- join: mark4 (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 10:08:22 --- join: xyh (~user@2001:250:3002:5550:5642:49ff:fe5f:39f7) joined #forth 10:20:15 --- join: pvt_petey (~pvt_petey@cpc11-colc6-2-0-cust131.7-4.cable.virginm.net) joined #forth 10:35:03 --- quit: asie (Read error: Connection reset by peer) 10:36:47 --- quit: Zarutian (Quit: Zarutian) 10:55:35 --- join: _spt_ (~Jaat@host-92-12-216-14.as43234.net) joined #forth 10:55:35 --- quit: _spt_ (Changing host) 10:55:35 --- join: _spt_ (~Jaat@unaffiliated/-spt-/x-5624824) joined #forth 11:02:52 --- join: true-grue (~quassel@95-28-210-193.broadband.corbina.ru) joined #forth 11:04:27 --- quit: true-grue_ (Ping timeout: 245 seconds) 11:21:32 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 11:34:42 --- quit: mark4 (Ping timeout: 240 seconds) 11:42:20 --- quit: dessos (Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]) 11:43:34 --- quit: dys (Ping timeout: 246 seconds) 11:47:22 --- join: mark4 (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 11:56:29 --- quit: mnemnion (Read error: Connection reset by peer) 11:56:30 --- join: mnemnion_ (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 11:56:47 --- quit: impomatic (Ping timeout: 258 seconds) 11:56:54 --- join: ASau` (~user@46.114.18.54) joined #forth 11:57:07 --- quit: true-grue (Quit: No Ping reply in 180 seconds.) 11:57:27 --- quit: ASau (Remote host closed the connection) 11:58:31 --- join: true-grue (~quassel@95-28-210-193.broadband.corbina.ru) joined #forth 11:59:41 --- nick: ASau` -> ASau 12:03:06 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 12:08:36 --- quit: xyh (Ping timeout: 252 seconds) 12:22:34 --- join: impomatic (~digital_w@39.123.125.91.dyn.plus.net) joined #forth 12:24:00 --- join: xyh (~user@2001:250:3002:5550:5642:49ff:fe5f:39f7) joined #forth 12:24:03 --- part: xyh left #forth 12:24:13 --- join: xyh (~user@2001:250:3002:5550:5642:49ff:fe5f:39f7) joined #forth 12:35:03 --- join: xpte (uid17782@gateway/web/irccloud.com/x-ghutkmedhjyviyuo) joined #forth 13:02:32 Hi, my dear friends ! 13:02:37 I am considering to implement a ``LambdaStack'' which stores lambda-functions 13:02:41 also to implement lisp-like data type 13:02:47 then lambda-application will be performed more easyly 13:02:55 no joy-like ``dip'' is ever needed again 13:03:13 how do you think ? 13:05:01 --- quit: egp_ (Quit: Ухожу я от вас (xchat 2.4.5 или старше)) 13:11:22 no lambda-calculus fans ? 13:41:53 xyh: Say more. how would this LambdaStack work? 13:48:19 mnemnion_: I am thinking vary hard about it now! try to imagine 13:50:36 mnemnion_: problem is lambda-calculus is all about substitution 13:50:54 --- nick: mnemnion_ -> mnemnion 13:55:09 mnemnion: maybe: 13:55:19 mnemnion: 1 2 '[x y +] 'x 'y lambda ready apply 13:55:30 mnemnion: ``lambda'' compiles the list '[x y +] known that ``x'' ``y'' are variables 13:56:26 mnemnion: ``ready'' pop the compiled lambda-function, and push it to LambdaStack 13:56:49 mnemnion: then ``apply'' do its job 13:56:59 in ordinary forth, this is 1 2 ' + execute 13:57:08 or in Retro 1 2 [ + ] do 13:57:21 which is actually anonymous 13:57:26 what are the variables doing? 13:59:09 mnemnion: '[x y +] 'x 'y lambda is anonymous , like (lambda (x y) (+ x y)) in lisp 13:59:11 --- quit: true-grue (Read error: Connection reset by peer) 13:59:50 in Retro [ + ] compiles a quote, which is an anonymous word, and leaves the XT on the stack. 13:59:55 'do' executes it. 14:00:25 the variables are of course implicit or why have a data stack? 14:01:06 mnemnion: there is no ``semantic about substitution'' in forth or joy or retro 14:01:25 mnemnion: and substitution is all lambda-cal about 14:02:23 xyh: how would this work? I'm afraid I don't understand you. 14:03:35 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 14:03:52 mnemnion: sorry about my expression, you know (lambda (x y) (+ x y)) right ? I try to mimic this 14:04:13 yes I do 14:05:19 stack languages use variables implicitly so we'd just say :noname ( a b -- a+b ) + ; 14:05:45 now we have a 'lambda', an XT that in this case merely executes `+`. The ( ) is just a comment, though it would be interesting if it was more. 14:06:14 "x" and "y" are weird though, because there's no necessary correlation between your 'x 'y symbols and TOS and NOS. 14:06:44 '[x y +] should execute the words 'x', 'y', and '+', in order 14:06:48 each with its own stack effect 14:07:45 mnemnion: I see, but 14:08:40 mnemnion: then you want a function which takes a function as an argumt, you have to use a combinator in joy or retro 14:09:10 mnemnion: when(not then, sorry) you want a function which takes a function as an argumt, 14:09:10 you have to use a combinator in joy or retro 14:09:10 14:09:38 mnemnion: yes? 14:10:00 : sip ( mu xt cell -- mu cell ) >r do r> ; 14:10:12 --- quit: tangentstorm (Ping timeout: 245 seconds) 14:10:16 or "execute" rather, mixed my idioms 14:10:41 porque no? 14:11:34 words which expect an XT on the stack are not at all difficult to write 14:11:45 nor are words that expect an address containing an XT 14:12:09 nor an address, and an offset to that address, which address+offset is expected to contain an XT (jump table) 14:14:05 yes you are right. 14:14:08 and maybe I am going into a wrong way 14:14:59 perhaps, perhaps not. This is #forth, so you can expect an answer along the lines of "in Forth you can do it this way" 14:15:24 mnemnion: how about return a function ? 14:16:17 "in Forth you can do it this way" is just what I want to learn with you 14:16:26 quite simple : odd-if-even ( number -> xt ) 2 / 0 = if ['] even else ['] odd then ; 14:16:45 if the number is even, the stack contains the XT for "even" 14:16:51 although I intended to write it the other way around :-P 14:17:11 2 odd-if-even execute 14:17:25 would execute "even" the way I wrote it 14:17:43 though that's a singularly inept name for that word! ^_^ 14:18:08 i see 14:18:47 mnemnion: how about return an anonymous function ? 14:19:06 XTs are anonymous but 14:19:16 here ANS Forth and say Retro are different beasts 14:19:47 :noname foo bar baz ; variable qux qux ! 14:20:03 makes an anonymous word, makes a variable named qux, and puts it in qux 14:20:24 making an anonymous word and then using it, a true lambda, is notoriously difficult in ANS Forth. Many people complain about this. 14:20:49 in Retro this is as simple as [ foo bar baz ] inside or outside of a definition, that will have the effect of leaving an anonymous XT. 14:21:17 cool 14:21:57 it is possible with master-level use of `postpone` and `immediate` to make a word that will compile an anonymous word, when executed, and return the XT 14:22:17 but Forths aren't dynamic, have no garbage-collection, etc. These things have consequences. 14:22:59 i have write a lisp-like gc in my forth-like lang 14:23:34 I think you'd like Factor. 14:23:55 I enjoy Lisps and Forths but feel no inherent need to combine them 14:24:11 I like my lang 14:24:13 though inevitably some weekend I'm going to get high and write a Scheme in Forth 14:24:32 not on purpose, necessarily, just a compulsion 14:24:44 hehe 14:25:26 thx for the teaching ^_^ 14:25:33 cheers! 14:27:12 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 14:36:03 --- join: bbloom (~bbloom@66.162.73.238) joined #forth 14:36:17 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 14:38:53 --- quit: bbloom (Client Quit) 14:44:25 --- quit: dys (Ping timeout: 246 seconds) 14:49:31 --- join: bbloom (~bbloom@66.162.73.238) joined #forth 14:49:32 --- quit: bbloom (Client Quit) 15:22:16 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 15:38:14 --- quit: john_metcalf (Ping timeout: 258 seconds) 15:42:07 --- quit: mnemnion (Remote host closed the connection) 16:09:22 --- quit: _spt_ (Quit: gone) 16:19:43 --- quit: xyh (Ping timeout: 245 seconds) 16:19:43 --- join: bbloom (~bbloom@cpe-68-173-7-82.nyc.res.rr.com) joined #forth 16:29:21 --- quit: Zarutian (Ping timeout: 240 seconds) 16:35:59 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 16:36:06 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 16:36:55 --- quit: nighty-_ (Quit: Disappears in a puff of smoke) 17:24:13 --- join: PoppaVic (~pops@unaffiliated/poppavic) joined #forth 17:25:55 --- quit: impomatic (Ping timeout: 276 seconds) 17:41:28 --- part: PoppaVic left #forth 18:08:29 --- join: kumool (~mool@adsl-64-237-224-220.prtc.net) joined #forth 18:11:42 --- quit: kumul (Ping timeout: 240 seconds) 19:17:17 --- quit: mark4 (Remote host closed the connection) 20:19:17 --- join: adu (~ajr@pool-108-28-107-114.washdc.fios.verizon.net) joined #forth 20:22:38 --- quit: kumool (Ping timeout: 276 seconds) 20:38:04 --- quit: adu (Quit: adu) 20:42:52 --- join: kumul (~mool@adsl-64-237-227-28.prtc.net) joined #forth 21:03:40 --- quit: Eth|cal (Quit: Leaving) 21:20:11 --- join: kumool (~mool@173.215.134.98) joined #forth 21:23:21 --- quit: kumul (Ping timeout: 240 seconds) 21:54:25 --- quit: Zarutian (Quit: Zarutian) 22:27:26 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 22:55:10 --- join: true-grue (~quassel@128-69-109-185.broadband.corbina.ru) joined #forth 23:14:10 --- quit: DGASAU (Ping timeout: 258 seconds) 23:26:05 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 23:26:38 --- join: impomatic (~digital_w@39.123.125.91.dyn.plus.net) joined #forth 23:42:18 --- quit: asie (Remote host closed the connection) 23:42:43 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 23:49:01 --- quit: kumool (Quit: Leaving) 23:59:59 --- log: ended forth/14.04.19