00:00:00 --- log: started retro/09.11.27 00:24:58 crc: great! thanks for the help 00:25:29 i just started working, but will have a look along the weekend 02:04:33 --- join: nigol (n=nigol@217.77.165.54) joined #retro 02:06:12 --- part: nigol left #retro 03:03:13 I got some minutes at work and applied your changes 03:03:34 the hello world image runs without problems 03:04:10 the retro image runs, and I get an ok prompt, then it reads from the keyboard but no prompt back 03:04:33 I'll take a look at it with the full retro image tonight 03:05:47 nice 04:51:57 --- join: virl (n=virl__@chello062178085149.1.12.vie.surfer.at) joined #retro 06:12:00 --- quit: virl (farmer.freenode.net irc.freenode.net) 06:16:59 --- join: virl (n=virl__@chello062178085149.1.12.vie.surfer.at) joined #retro 07:28:05 --- quit: docl (farmer.freenode.net irc.freenode.net) 07:28:06 --- quit: zbrown (farmer.freenode.net irc.freenode.net) 07:28:09 --- quit: crc (farmer.freenode.net irc.freenode.net) 07:28:10 --- quit: probonono (farmer.freenode.net irc.freenode.net) 07:28:14 --- quit: ChanServ (farmer.freenode.net irc.freenode.net) 07:28:18 --- quit: SimonRC (farmer.freenode.net irc.freenode.net) 07:28:49 --- join: docl (n=luke@67-60-48-82.cpe.cableone.net) joined #retro 07:29:00 --- quit: docl (farmer.freenode.net irc.freenode.net) 07:29:05 --- join: SimonRC (n=sc@fof.durge.org) joined #retro 07:29:58 --- join: crc (n=charlesc@68.80.139.0) joined #retro 07:29:58 --- join: probonono (n=User@unaffiliated/probonono) joined #retro 07:29:58 --- join: zbrown (n=suifur@unaffiliated/zbrown) joined #retro 07:29:58 --- join: ChanServ (ChanServ@services.) joined #retro 07:29:58 --- mode: irc.freenode.net set +oo crc ChanServ 07:30:20 --- join: docl (n=luke@67-60-48-82.cpe.cableone.net) joined #retro 08:08:08 hahaha! retroforth is running 08:08:45 the output is a bit messed up, but i think it works well :) 09:51:18 yiyus: looks good :) 09:52:40 yeah, i think it is getting there 09:52:52 a question: what do you think about error handling? 09:53:16 now it panics if you try to write to a wrong port or on under/overflows 09:58:16 it shouldn't give an error on ports; but my vm implementations exit if there's a stack over/underflow 09:58:45 that seems like a reasonable compromise 09:59:19 however, i think i will handle stack errors too to finish the vm, but not the program 10:00:08 generally if you have a stack over/underflow, that implies a serious bug that needs investigating. the vm should report it as an error if it doesn't terminate 10:01:13 for the moment being is not a problem 10:02:17 but i plan to add the functionality to start multiple cores, and then you could want to do something better than panic when one of them has a problem 10:04:39 makes sense 10:13:19 is the code complete enough for me to add to the main repository? 10:16:10 if you want, it should at least run the provided image 10:16:23 anyway, i will keep adding changings for some days 10:16:35 then things will probably slow down 10:30:55 i pushed some changes to handle errors, to avoid segfaults, the next iteration will take more time 14:06:37 playing with ngaro opcodes is fun... 14:06:39 : op here 2 - 0 swap ! ; immediate 14:06:40 : k 1 1 29 op 0 0 29 op 30 op 1 28 op ; 14:08:18 essentially op just changes a lit (or whatever) to a nop, so the number is treated as an opcode 14:11:59 here is a more concise version: : op here 1 - @ here 2 - ! heap -- ; immediate 14:12:05 oops 14:12:05 : op here 1 - @ here 2 - ! heap -- ; immediate 14:27:20 : op heap -- here @ here 1- ! ; immediate 14:31:24 well, that's just a nip applied to the heap at compile time. 15:14:53 --- quit: docl (Read error: 110 (Connection timed out)) 15:37:32 --- join: docl (n=luke@74-36-1-108.dr01.hmdl.id.frontiernet.net) joined #retro 16:25:38 --- join: retro-commit (n=retro-co@sh1-ext.rs.github.com) joined #retro 16:25:38 ngaro: 3Charles Childers 07master0 SHA1-9b9b448 16:25:38 sync against hg repo for "go" implementation 16:25:38 http://bit.ly/7UU68f 16:25:39 ngaro: 3Charles Childers 07master0 SHA1-f5b4236 16:25:41 mark golang in the LICENSE file 16:25:43 http://bit.ly/5Cow0H 16:25:45 --- part: retro-commit left #retro 16:28:22 : op 2 heap -! here 1+ @ , ; immediate 16:28:29 actually rewrite the literal to the opcode 17:20:53 that works 17:25:12 go language doesn't want to compile an array with 32k+ entries defined :-( 17:27:17 I guess a part of my mind rebels against the heap pointer being less than the spot where the value to be used is stored... 17:28:26 : op here 1- dup heap ! @ here 1- ! ; immediate 17:29:01 yiyus: http://retroforth.org/go.diff 17:30:06 yiyus: this patch adds the latest (10.3-development) image 17:31:44 docl: I have no problem using any memory in the image at any time. You just have to be careful :) 17:37:06 crc: applied. thanks 17:39:28 in which format do you usually store the images? 17:39:44 is it only binary or gziped? 17:41:06 flat binary 17:41:09 no compression 17:43:04 ok, i will try to add image saving next 17:43:30 btw, is there any convention i should follow with ports usage? 17:43:53 i'm using also ports 6 and 7 now (plus a lot more) 17:44:09 any port above 12 is considered free for use 17:44:42 I claim 0 - 12 for core I/O functionality, giving room for future standard devices 17:44:51 ok, i will start at 13 then 17:45:16 (6 = canvas device, 7 = mouse) 17:45:16 i'm using one port to fork a new vm and another to make pipes between io channels 17:45:33 ok 18:03:47 --- join: luptenschteiner (n=User@unaffiliated/probonono) joined #retro 18:08:55 hi luptenschteiner 18:09:01 --- quit: probonono (Nick collision from services.) 18:09:08 --- nick: luptenschteiner -> probonono 18:09:42 hi crc 18:26:11 --- join: retro-commit (n=retro-co@sh1-ext.rs.github.com) joined #retro 18:26:11 ngaro: 3Charles Childers 07master0 SHA1-54f659c 18:26:11 sync against hg repo for golang: "ports 0-12 must be respected" 18:26:11 http://bit.ly/4rQCrl 18:26:12 --- part: retro-commit left #retro 19:44:26 http://retroforth.com/paste/?id=1931 19:48:29 docl: stack comments would be nice 19:48:40 but the code looks interesting :) 19:49:05 can do :) 19:49:28 yiyus: http://retroforth.org/go.diff - adds support for clearing the screen to the console output port 19:50:40 yiyus: there may be a better way to do this, but I'm not real familiar with Go, so I just copied over the C implementation (using VT100 escape sequences) 19:50:44 docl: thanks 19:51:21 docl: two quick cleanups: 19:51:32 : h.incr h.sp ++ ; 19:51:39 : h.decr h.sp -- ; 19:51:57 yeah that does look a lot nicer 20:02:25 http://retroforth.com/paste/?id=1932 20:04:22 hmm, h.incr and h.decr could be seen as adding and subtracting undefined values to the h: stack. 20:05:26 : k ( -n ) 20:05:40 since k leaves something on the stack 20:05:42 oh yeah 20:16:18 crc: I applied your changes to gonga.go instead of ngaro.go 20:17:00 (because i use acme and 9term and they don't understand control sequences, so it is not something i *always* want) 20:17:28 yiyus: I get an error when building 20:17:37 6g -o _go_.6 ngaro.go 20:17:37 ngaro.go:73: syntax error near 0 20:17:38 make: *** [_go_.6] Error 1 20:21:04 mmh, i guess you do not have the last hg tip 20:21:15 that notation for slices was recently introduced 20:21:41 you can just comment that line for the moment, anyway image saving is not working yet 20:24:10 there's a : after the offset in vm.img in that line; removing it fixes the issue 20:25:05 yes, that indicates an slay from 0 to the length, that was just added this week 20:25:19 before, you had to explicitly give both indexes 20:25:40 that is why i guess your go distribution is a bit "old" 20:25:55 * crc prepares to update 20:26:22 sorry, I'm rebuilding go now... 20:27:10 don't worry, anyway im going to sleep now, tomorrow will be another day... 20:27:21 ok, have a good night 20:27:38 thx, bye 20:28:09 docl: the code for 'k' would be more readable if you used constants for the opcode values 20:49:24 true. I made k mainly as a write-only ngaro experiment. here is a more readable version: http://retroforth.com/paste/?id=1933 20:50:47 hmm, actually that seems to have been broken. whitespace maybe 20:52:36 no, it was a substitution error. 20:54:38 http://retroforth.com/paste/?id=1934 <- fixed 20:59:26 nice :) 21:00:03 another possible stack comment issue: h.nip :xy-x or h:xy-y ? 21:09:47 oops, that's right it is h:xy-y 21:09:56 ok 21:10:46 I'd like to figure out a way to treat any indexed array as a stack. possibly using vocabs. 21:48:33 --- quit: docl (Read error: 110 (Connection timed out)) 22:14:55 --- join: docl (n=luke@67-60-48-82.cpe.cableone.net) joined #retro 23:59:59 --- log: ended retro/09.11.27