00:00:00 --- log: started retro/13.02.13 01:57:40 --- quit: harrison (Ping timeout: 276 seconds) 02:19:06 --- join: oPless (~oPless@lart.doosh.net) joined #retro 05:33:38 --- quit: impomatic (Quit: Core War - the ultimate programming game http://corewar.co.uk) 05:41:44 --- quit: saper (Ping timeout: 264 seconds) 05:42:45 --- join: saper (saper@wikipedia/saper) joined #retro 07:31:58 --- join: impomatic (~digital_w@87.113.152.173) joined #retro 07:46:23 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #retro 08:06:56 --- quit: kumul (Ping timeout: 272 seconds) 09:42:54 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #retro 09:55:42 --- join: ncv (~quassel@79.114.20.114) joined #retro 09:55:42 --- quit: ncv (Changing host) 09:55:42 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 10:33:19 --- quit: oPless (Remote host closed the connection) 11:17:21 --- join: oPless (~oPless@lart.doosh.net) joined #retro 11:21:18 --- join: Mat2 (~claude@91-65-144-133-dynip.superkabel.de) joined #retro 11:21:22 Good day ! 12:37:14 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #retro 12:39:03 --- quit: kumul (Ping timeout: 260 seconds) 13:31:10 hi Mat2 13:31:17 hi erider 13:31:24 what's going on ? 13:32:18 nothing really 13:33:23 what about you 13:35:45 I have a working parser and now build a minimal word set for metro 13:36:06 cool! 13:36:48 some syntactical features need exploration 13:37:40 don't make a lot of syntax 13:37:59 --- join: harrison (~quassel@li89-226.members.linode.com) joined #retro 13:38:21 I have an idea as replacement for closures: 13:38:29 so instead of: 13:38:48 20 [1 +] do 13:39:03 1 + | 20 do 13:40:06 will offer the same functionality but dynamical bound to an consumer function (do) and more readable in my opinion 13:40:24 hmmm 13:43:12 --- quit: kumool (Quit: Leaving) 13:43:50 1 | dup * | 1 > 0 = :multi 13:44:34 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #retro 13:44:56 compute n * n for n > 1, n = 1 if n < 1 13:45:39 compute is a word? 13:46:22 no that is the explanation of code snippet above : 1 | dup * | 1 > 0 = :multi 13:46:48 oh :-) 13:47:41 I think this style is more readable than the closure form 13:48:56 and because metro is a lazy typed language the compiler can bound code blocks to conditionals for example 13:49:24 in retro you can code something like this: 13:49:59 : m [ dup * ] ; 13:50:25 : multi m do ; 13:50:30 or 13:50:38 [ dup * ] 13:50:45 : multi do ; 13:51:21 because closures only return there entry point to the stack 13:52:03 is do a special form 13:52:29 do execute address (of a closure for example) on the stack 13:54:17 [ dup * ] -> address 13:54:32 so "do" takes a pointer off the stack and executes it 13:54:38 yes 13:55:59 ah ok 13:56:13 the pointer is not bound to a consumer function and this can result in some strange effects 13:57:19 beside the fact, that closures should compile as anonymous subroutines where in my example the compiler can compute relative addresses and compile a conditional branch instead 13:58:09 nice 14:06:10 I think that result in some kind of declarative form of programming 14:08:14 but this way, each subroutine call can be theoretical replaced with a branch and tail-call elemination would be granted 14:08:36 if recursive 14:09:22 that is handed 14:14:15 sorry but I can understand the word handed here, is this some kind of slang ? 14:15:35 or do you mean handy ? 14:29:01 ciao 14:29:10 --- quit: Mat2 (Quit: Verlassend) 15:12:02 --- quit: ncv (Remote host closed the connection) 16:47:41 sorry yes handy :-\ 18:23:10 --- quit: beretta__ (Ping timeout: 245 seconds) 19:24:48 --- quit: impomatic (Read error: Connection reset by peer) 19:57:58 --- quit: kumul (Quit: Leaving) 20:03:50 --- quit: TheStitch (Ping timeout: 256 seconds) 20:06:46 --- join: TheStitch (~Stitch@2a02:7d0:3:203:216:3eff:fe1e:f36a) joined #retro 23:59:59 --- log: ended retro/13.02.13