00:00:00 --- log: started retro/13.09.05 01:25:55 --- quit: ivan`` (Ping timeout: 245 seconds) 01:32:30 --- join: ivan`` (~ivan@unaffiliated/ivan/x-000001) joined #retro 01:44:27 --- join: harrison_ (~quassel@li89-226.members.linode.com) joined #retro 01:44:58 --- quit: harrison (Ping timeout: 245 seconds) 04:38:07 --- quit: Sgeo (Read error: Connection reset by peer) 05:32:29 --- quit: harrison_ (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 05:32:47 --- join: harrison (~quassel@li89-226.members.linode.com) joined #retro 05:33:22 --- quit: harrison (Client Quit) 05:33:38 --- join: harrison (~quassel@li89-226.members.linode.com) joined #retro 10:57:09 --- join: Mat2 (~claude@91-65-144-133-dynip.superkabel.de) joined #retro 10:57:12 hi @ all 10:59:07 heya :) 10:59:22 hi tangentstorm ! 10:59:31 how you doing ? 11:00:10 doing okay :) 11:00:22 https://github.com/tangentstorm/implish/blob/b030e7990ee1ab3f90c4d5d96969030c18b96126/impi.l 11:00:32 i started on a little interpreter in picolisp. 11:01:09 i'm still getting the hang of lisp, but i think this is going to turn into the base of retro pascal. 11:02:11 the code looks very clean 11:03:24 and is readable, very uncommon in Common Lisp as I would say 11:03:28 :D 11:04:13 good afternoon 11:04:21 hello crc 11:04:40 that's not the final form... it's going to allow lower case and use an infix syntax closer to smalltalk but i haven't gotten that far. 11:04:43 hey crc :) 11:06:51 tangentstorm: you can short up the interpreter by using continuation-passing style. This way the compiler (or a macro you should write) is able to generate a jump table 11:07:22 it is also easier because each primitive routine can be a function defination 11:07:55 i don't know how to do that 11:09:07 picolisp is to lisp as retroforth is to forth... it has its own little dialect 11:10:17 (de primFoo ARGS CONT ( (CONT ARGS)) 11:11:52 the continuation is the next primitve to execute so you branch from one defination to the next with cdr ARGS 11:12:48 i don't think picolisp works that way 11:12:53 the compiler is able to reduce each call and because CPS is state constant all calls can be tail-called (converted to a branch) 11:13:41 hmm, at least it works with clisp as I know 11:14:19 as written, fpr sure you need a macro for implementing this optimization in picolisp 11:14:19 the way this works, ARGS will contain all the arguments you pass to it, unevaluated. 11:14:54 normally in picolisp you'd say (de sum (a b) (+ a b)) 11:15:53 then for (sum (+ 1 2) (+ 3 4)) a = 3 and b = 7 11:16:29 but for this i want a = '(+ 1 2) b = '(+ 3 4) and that's what happens if you use a single symbol for the parameters 11:16:47 like ARGS in my case instead of (a b0 11:16:50 er (a b) 11:17:18 so i guess the continuation could be the last item in args or whatever... 11:17:44 but i'm just going to translate this directly to retro/ngaro code so i probably won't mess with continuation passing style, at least for now. 11:19:55 yes, the interpreter reduce a list of all functions with all parameters each iteration in CPS form 11:21:11 because in picolisp all is either a symbol or a list this is possible (however, I do not know how to implement correctly) 11:25:10 me either :) 11:31:12 good afternoon 11:32:34 crc: I'm started porting retro (after finishing the compiler) in Nimrod 11:35:34 at current try to find out how the metacompiler works 11:38:44 there's a walkthrough in the docs directory, Mat2 ... but it's kind of old 11:39:27 http://tangentstorm.github.io/retro-trail.html 11:39:42 ^ a nice pretty-printed/colorized version of that doc 11:40:49 thanks 11:41:22 (beside: Have I noted before that your site has a nice CSS design ?) 11:42:41 haha thanks :) 11:42:43 I could update my commentary if that would be helpful 11:43:07 i think maybe i was trying to update it myself here. 11:43:24 i don't know what the TODO stuff is for. 11:43:30 crc: that would be nice ! 11:44:39 hrm.. actually if it has my name in the headers from kernel.rx, it would mean that i was trying to integrate the current version of the code into the commentary and make a literate document. 11:44:58 i bet you can actually generate the modern meta.rx and kernel.rx from the .org file here... 11:45:24 (and the TODO lines would be the places where the commentary was out of date) 11:46:02 it helps to get an overview in any case so that's good 11:50:27 hrm... yeah, just dug through my git history... crc: a *lot* of things were changed or moved around... if you're going to update the commentary you might want to start with my version 11:51:03 https://raw.github.com/sabren/b4/master/web/retro-trail.org 11:51:20 ^ the source code for my version. 11:57:08 thanks; I'll take a look at this tonight and see what I can do 12:29:58 eh, strange talk in the forth cahnnel about Factor 12:30:14 ^channel 14:04:04 --- quit: tangentstorm (Ping timeout: 264 seconds) 14:07:38 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #retro 14:15:00 get some sleep, ciao 14:15:29 --- quit: Mat2 (Quit: Verlassend) 17:06:27 --- join: Sgeo (~quassel@2002:ad03:4ea6:0:ed55:d929:142d:aea9) joined #retro 20:11:14 --- join: itsy (~digital_w@200.79.125.91.dyn.plus.net) joined #retro 20:22:05 --- join: roarde (~roarde@pdpc/supporter/active/roarde) joined #retro 21:09:24 --- quit: roarde (Quit: Leaving) 21:16:10 --- quit: harrison (Quit: No Ping reply in 180 seconds.) 21:16:28 --- join: harrison (~quassel@li89-226.members.linode.com) joined #retro 23:30:32 --- quit: Endeg (Read error: Connection reset by peer) 23:59:59 --- log: ended retro/13.09.05