00:00:00 --- log: started retro/10.03.27 00:49:07 --- join: crc (~charlesch@71.23.210.149) joined #retro 00:52:18 --- quit: crc_ (Ping timeout: 252 seconds) 03:21:28 --- join: random100 (~random@p5486B93B.dip.t-dialin.net) joined #retro 04:10:30 --- join: TaPiOn (~TaPiOn@AMontsouris-156-1-163-224.w83-202.abo.wanadoo.fr) joined #retro 04:19:16 --- nick: random100 -> benny99 04:26:28 --- part: TaPiOn left #retro 06:04:33 --- quit: benny99 (Ping timeout: 240 seconds) 07:24:09 --- join: random100 (~random@p5486B93B.dip.t-dialin.net) joined #retro 07:24:13 hi 07:25:01 is there a difference between 'call' and '' ? 07:25:10 (using the 'see-debugger') 07:51:22 I don't think there is 07:52:03 I think the brackets signify that it is implicit rather than having a "call" opcode 08:22:39 ok 08:23:32 is there any way to add "custom-content" to a word ? 08:23:38 like 08:24:11 s" good-word" judgedword: 2 2 + . ; 08:24:30 judgedword: foo 2 2 + . ; 08:24:31 so 08:24:47 foo "results in printing" 4 08:25:18 but using " ' foo judgement " prints "good-word" 08:28:37 * random100 gives up 08:28:38 bye 08:28:41 --- quit: random100 (Quit: Leaving) 10:13:02 It is possible to add custom content. vectors, for example 10:13:58 : foo s" first word" ; here ] s" different word" ; is foo foo type 10:15:43 what this does is replace the two nops at the beginning of foo with a jump to the "here" value that starts the anonymous word that gives the string "different word" 10:18:35 : judge ['] foo tuck =if ." good-word" drop ;then .word ; 10:19:37 that would check if the passed value is foo's xt 10:56:00 --- join: random100 (~random@p5486EFCF.dip.t-dialin.net) joined #retro 11:27:44 how could I get ": foo: create ['] .word reclass ` [ 0 , 0 , someWord ;" to compile for example "foo: bar 2 2 + . ;" to the same as ": bar 2 2 + . ;" *plus additional data added by "someWord" at the back* ? 11:28:54 if "foo:" is defined the way above, someWord is directly executed and the data is not appended, but "in front of the code" 11:33:04 return-stack magic ? 11:59:27 random100: is implicit (new in 10.5); whereas 'call' is explicit (with the call opcode preceeding the address) 11:59:39 crc, ah :) 12:00:07 10.5 has vm-level support for direct threading, which is shown as in the decompiler 12:00:10 : foo 2 . ; : bar ['] foo push later 3 . ; 12:00:21 why is the result "2 3" ?? 12:01:00 crc, ok, then it's not the source of my problems 12:01:20 random100: later does tricky things with the return stack 12:01:36 thought it just "swaps" 12:01:39 it does 12:02:02 but in this case, foo was pushed, so control is given to foo after later returns 12:02:15 wha ? 12:03:19 hm, how could I get "3 2" then ? 12:03:39 : foo later 2 . ; 12:03:42 : bar foo 3 . ; 12:04:10 I'm basically thinking the wrong way around then ? 12:04:16 yes 12:04:33 ok, thank you :) 12:05:15 later gives control to whatever appears to be the caller. by pushing the address of foo before calling later, you trick it into thinking that foo was the caller 12:06:50 hm, I think I actually want it even later 12:07:29 what are you trying to do? 12:08:34 trying to create some "type-system" 12:08:41 http://pastebin.com/N5xbGD4B 12:09:45 I just want to add some "type-information" ... or whatever 12:09:53 can't find a clever way to do that though 12:12:07 basically some information that is not a string and varies in size 12:15:13 how would you want to retrieve this information? 12:17:02 that's indeed a problem :) 12:17:28 adding an address at the front to the information ? 12:17:38 *pointing to 12:19:07 * random100 hasn't got a clue how to 'really do forth'... 12:19:52 basically, you want to be able to create some kind of data structure that can be embedded into a definition? 12:20:59 and I don't know why I want to 'append' it ... 12:21:36 yes 12:24:32 maybe something like this? 12:24:33 : [[ compiler off 8 , here 0 , ; compile-only 12:24:34 : ]] 0 , compiler on here swap dup 1+ literal, ! ; 12:24:34 : foo [[ 1 , 2 , 3 , ]] repeat @+ 0; . again ; 12:25:43 guess I just found a way 12:25:55 that looks better -- one moment 12:29:16 I wanted it the other way around, but that looks simpler 12:30:00 putting the data at the end makes it harder to locate 12:30:42 yeah 12:33:15 compiler off 8 , here 0 , "equals" ahead ? 12:33:39 8 , here 0 , = ahead 12:34:00 the 'compiler off' would be separate 12:35:37 ah 12:35:39 of course 12:37:57 though I wonder what 'foo' is supposed to do 12:38:09 foo just displays the values in the data structure 12:41:33 : ]] 0 , compiler on here 1+ swap ! ; 12:41:51 : foo [[ 1 , 2 , ]] 33 . ; 12:42:04 I expected "33" to be the output 12:42:38 your swap is at a different position ... hm 12:43:00 drop the 1+ 12:43:11 yep, works 12:48:13 no, it does not :( 12:48:44 : [[ compiler off ahead ; compile-only 12:48:44 : ]] 0 , compiler on here swap ! ; 12:48:44 : foo [[ 1 , 2 , ]] 33 . ; 12:48:51 works for me on 10.5 12:49:43 yep, that works 12:49:45 sorry 12:50:07 : foo [[ 1 , 2 , 3 , ]] ['] foo repeat @+ 0; . again ; <-- does not 12:50:30 : >data 4 + ; 12:50:44 : foo [[ 1 , 2 , 3 , ]] ['] foo >data repeat @+ 0; . again ; 12:51:13 you need to skip over the nop's (for vectors) and jump (over the data) to get to the start of the data 12:51:17 ['] foo <-- adress of foo ? 12:51:21 yess 12:51:26 ah 12:54:18 that leaves the address of foo on the stack though 12:55:00 repeat @+ 0 =if drop ;then again ; <-- does not work 12:55:57 that will exit, but not display 12:56:10 yeah 12:56:32 repeat @+ dup 0 =if 2drop ;then . again 12:56:51 ah :) 12:57:01 of course, =if "consumes" 12:58:05 great, thank you 12:58:21 no problem 13:55:08 --- quit: random100 (Ping timeout: 276 seconds) 15:14:51 --- join: random100 (~random@p5486A6AF.dip.t-dialin.net) joined #retro 15:49:32 --- join: Mat2 (~4d177c27@gateway/web/freenode/x-spdsbpazwfdvlbcr) joined #retro 15:49:37 hello 16:15:10 ciao 16:15:14 --- quit: Mat2 (Quit: Page closed) 16:38:07 --- join: erider (~erider@unaffiliated/erider) joined #retro 16:38:21 hi erider 16:41:23 hi crc 16:45:33 crc, what is the name of your ruby server 16:45:49 rails.rx-core.org is my installation 16:46:24 rails.erider.rx-core.org for your account on my server 16:47:30 ok thanks 16:47:46 hey what new with the new release 16:47:52 (if you log in with ssh, your rails files are in ~/app) 16:47:59 10.5 is out 16:48:15 10.6 isn't started yet 16:48:59 crc, how did you handle the socket module 16:49:32 erider: C code in the vm, and mapped via the port i/o interface 16:50:22 cool so you got to use your interface 16:50:51 yup 16:51:01 neat 16:51:02 same thing with handling files 16:52:16 is it slow 16:52:31 all i/o is slow 16:52:40 what is the over head to handle things through the interface 16:52:59 I've not done any performance comparisons 16:55:29 takes 0.026s to read in a 512k file on my mac mini 16:56:18 hey did mat's vm come out too 16:57:04 which one? he has several varients now 16:57:18 his latest one is still being rewritten due to a drive failure 16:57:39 hmm 16:57:55 I didn't know that it was working 16:58:18 I don't know the current state 16:58:51 (being incompatible with ngaro means that I have no tools to use with it until he develops/releases something) 17:04:02 ok 17:05:16 crc, didn't you say that mail can't be send from the rx-core server right? 17:05:56 you can send, but receiving requires a separate login 17:06:11 (webmail only; via google domain apps) 17:08:52 --- mode: ChanServ set +o crc 17:08:59 I see 17:10:25 did I provide the email data when I setup everything else? 17:11:40 I don't think so but I do remember that you were saying that it wasn't working 17:17:28 I'm doing some non-forth stuff currently (work on patengi) 17:20:47 what is patengi 17:22:16 a webapp to manage a library of ebooks 17:22:21 http://rx-core.org/patengi 17:23:28 (this is a demo installation; my private installation has over 850 books at present) 17:23:34 that is one of you js projects 17:23:39 no 17:23:44 php/sqlite 17:23:49 ahj 17:24:14 the only js used is in epubjs for reading the books, but I didn't write that part of patengi 17:30:35 I rewrote a lot of it yesterday; most of the stuff is handled by a single template; and the styling is mostly css controlled now 17:30:42 looks *much* nicer IMO 17:31:31 crc, have you every played on a vms node 17:31:40 no 17:31:48 I've never used VMS 17:33:36 its wierd 17:33:45 but I am getting use to it 17:48:17 --- quit: random100 (Quit: Leaving) 17:50:28 crc, do you use irssi 18:04:08 --- quit: erider (Quit: Leaving) 18:04:33 --- join: erider (~erider@unaffiliated/erider) joined #retro 18:09:34 erider: macirssi 18:09:54 and regular irssi 18:10:18 (regular when using ssh (at work, car, etc), macirssi when at home) 18:36:53 how is that mac working out for you 18:43:22 very well 18:44:49 I want a mac but I don't have the cash to do it 18:47:17 this one is about two years old now 18:47:26 i can't afford to upgrade :( 18:48:30 do you have solid state 18:48:41 no 18:50:55 hmm that is to bad 18:51:33 why? 18:53:39 speed 18:54:36 adding ssd would have raised the price too much to be worth it 18:59:01 yeah I can imagine 19:40:50 good night 19:40:56 --- part: erider left #retro 23:59:59 --- log: ended retro/10.03.27