00:00:00 --- log: started retro/12.10.05 00:38:47 --- quit: ncv (Ping timeout: 245 seconds) 03:29:07 --- join: ncv (~quassel@79.114.104.81) joined #retro 03:29:07 --- quit: ncv (Changing host) 03:29:07 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 04:53:18 --- quit: ncv (Ping timeout: 260 seconds) 07:12:17 --- quit: saurus_ (Ping timeout: 240 seconds) 07:42:09 --- join: kumul (~kumul@cvx-ppp-66-50-130-239.coqui.net) joined #retro 09:47:37 --- join: ncv (~quassel@89.123.22.68) joined #retro 09:47:37 --- quit: ncv (Changing host) 09:47:37 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 11:28:09 --- quit: ncv (Remote host closed the connection) 14:23:14 --- join: arescorpio (~arescorpi@222-206-17-190.fibertel.com.ar) joined #retro 16:04:56 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 18:05:23 howdy retroers 18:05:29 heya 18:08:50 hi tangentstorm 18:09:06 see my gist? 18:09:27 for the single characters? yeah :) 18:10:06 a little rough around the edges, but more can be done with it :) 18:12:52 hrm.. it crashed my image! 18:13:08 using c/11.5 vm 18:13:15 sure it didn't just execute bye? 18:13:20 that's what it is supposed to do 18:13:25 when you hit z 18:13:33 oh 18:13:41 it didn't crash, it exits. nice! :) 18:19:53 docl : this is pretty cool. 18:24:18 am i reading this right? your header' records have the format [ prev, class=word, next, start ] ? 18:24:54 not quite. I kept almost the same format as retro's current dictionary 18:25:18 link, class, xt, char 18:26:12 also start does not make use of classes, so that's kind of meaningless in the current implementation 18:26:42 * docl just updated with a version that exits the loop when tos changes to 0. 18:27:16 may not be the best implementation, as we might want the char-words to be able to use the stack. 18:27:25 coult easily substitute a variable for that. 18:27:32 "here 2 + ," ... that's the xt? 18:27:45 yeah, it's an address on the heap right after the header. 18:28:26 we're going to comma in the char and then the xt, so we want to add 2 to point to the next here. 18:28:31 so @d->xt just finds the header's address, and adds 4 18:28:45 er, xt then char 18:28:55 yep 18:29:28 no wait 18:29:42 add 2 then get whatever's pointed to from there. 18:29:49 where doese that first "here" go? 18:29:56 in our case that would be 4 though yeah 18:30:08 in the main dict it is not. 18:30:50 stored to last' 18:30:59 oh! 18:31:11 because of the !last' 18:31:13 the former value of which is comma'd in 18:31:16 yep :) 18:31:23 prefixes take some getting used to 18:31:26 yeah 18:42:16 fixed a bug. classes work now. 18:43:14 I was using '.words where it should have been ' .words or &.words 18:44:04 still playing catchup on what all this stuff means 18:44:24 ' as prefix gets a char, so I ended up compiling in 46, ascii for . 18:44:40 oh 18:46:01 hmm. so i just did this: ' words d->class @ putn 18:46:02 i get 0 18:46:06 so words is of class 0 18:46:17 hmm 18:46:30 ah, I did that a few minutes ago too 18:46:39 i know words is just a normal function... but how would i deduce that from the 0? 18:46:39 you want d' to get a header, not ' 18:46:47 ' only gets the xt 18:47:20 d' words @d->class putn 299 18:47:21 so the reason you get 0 is you are looking at the second noop :) 18:47:30 that's more like it 18:47:42 ' .word should give 299 too 18:47:55 or &.word putn 18:50:09 so 299 is the xt of the class 18:50:35 yes 18:50:44 HAHA!!! FINALLY! 18:50:45 thanks! 18:50:50 :D 18:51:45 argh.. so close 18:51:59 d' reads from input 18:52:10 hrm 18:52:11 nm 18:54:20 new update adds d'' so you can get the header of the char-words. 18:54:28 maybe I should call them shortwords 18:55:06 you could call them keybindings :D 18:55:10 yeah d' is a parsing word that gets the next word and passes it to "find" 18:55:19 too confusing :) 18:56:09 er maybe I should have said next token 18:56:13 i was thinking about having the vm treat instructions 32-255 as implicit jumps rather than implicit calls 18:56:48 because then you could dynamically assign bytecodes 18:57:07 or you could just have a bytecode type that was 256 cells 18:58:27 then you could implement things like a 256 color palette for the terminal or gifs, a utf-8 parser, or just roll your own bytecode 18:58:59 you'd just plug the address of whatever you wanted to call, and it would return to the proper place, as if you'd called it directly 19:02:25 interesting 19:02:42 : runop ( an-? ) here push + @ push ;, ; ( indirect jump to opcode n in table at a ) 19:02:51 i guess you don't need to hack the vm 19:09:36 well you can set up 256 cells to put your jumps in pretty easily: 256 allot 19:13:03 yeah ... i think runop there will work with that... ;, is in the metacompiler so you need that or to make it a literal. 19:14:49 otoh... you might actually want to know the bytecode... like for an editor, 90% of the time you want the character to just insert 20:03:45 --- quit: kumul (Quit: suerte) 21:34:03 --- quit: arescorpio (Quit: Leaving.) 23:59:59 --- log: ended retro/12.10.05