00:00:00 --- log: started forth/09.08.12 00:03:59 --- quit: impomatic (Read error: 110 (Connection timed out)) 02:29:05 --- quit: gogonkt (Read error: 60 (Operation timed out)) 02:33:42 --- join: gogonkt (n=info@59.38.235.83) joined #forth 02:51:36 --- join: gogonkt_ (n=info@218.13.62.14) joined #forth 03:01:57 --- quit: gogonkt (Read error: 110 (Connection timed out)) 03:02:13 --- nick: gogonkt_ -> gogonkt 03:08:12 --- join: GeDaMo (n=gedamo@212.225.115.96) joined #forth 04:31:52 --- quit: GeDaMo ("Leaving.") 04:50:59 --- quit: gogonkt (Remote closed the connection) 04:51:16 --- join: gogonkt (n=info@218.13.62.14) joined #forth 04:51:29 --- quit: gogonkt (Client Quit) 04:51:46 --- join: gogonkt (n=info@218.13.62.14) joined #forth 05:02:22 --- quit: nighty__ (Client Quit) 06:35:49 --- join: arke (n=Chris@195.160.197.42) joined #forth 06:44:06 --- join: impomatic (n=John@nat67.mia.three.co.uk) joined #forth 06:44:09 Hi :-) 06:45:20 Are GForth's implementions of TIB and #TIB identical, or have I missed something? 06:46:20 They're both create ???tib DOES> @ useraddr <44> @ + ; 07:17:54 --- join: GeDaMo (n=gedamo@212.225.115.96) joined #forth 08:25:03 --- join: rehges (n=rehges@84-105-60-153.cable.quicknet.nl) joined #forth 08:25:53 --- nick: rehges -> segher 08:26:43 --- join: tathi (n=josh@dsl-216-227-91-166.fairpoint.net) joined #forth 08:28:46 impomatic: yeah...you're ignoring the value they fetch from their body. 08:30:15 Okay thanks :-) 08:30:52 Also, (reading back through the logs since I've been gone...) in kernel/int.fs, ( is defined as you might expect, but in kernel/files.fs the fancy one is defined, since the spec requires it to handle multi-line comments in files. 08:32:03 I'm trying to implement ' ['] CHAR [CHAR] and ( at the moment. Seemed simple at first until I realised WORD can return an empty string and FIND might not find anything :-( 08:32:12 Heh. 08:32:40 Well, that's presumably an ambiguous condition, so you can do whatever you want. :) 08:32:53 I think I'll ignore errors for now until I've got omething running. 08:33:35 i don't think ( can get any error 08:34:07 Oh, and BTW the gforth sources have a TAGS file, so if you use a decent editor it's easy to find stuff in the source. And the source is usually nicer than the output of SEE. 08:34:57 I've tried to implement ( as [CHAR] ) WORD DROP 08:35:12 you want PARSE, not WORD 08:35:35 But if WORD reaches the end of the parse area before it finds ), I guess that's an error? 08:35:40 no 08:35:43 that's just fine 08:36:20 yeah, I don't think most implementations check for that. 08:36:27 it just drops the whole rest of the parse area in that case 08:36:42 the standard requires this behaviour afair 08:37:08 I didn't think it did 08:37:32 Oh, maybe it does. "The number of characters in ccc may be zero to the number of characters in the parse area." 08:37:46 Hmmm... I haven't used PARSE for anything. I've just been implementing CORE, not CORE EXT 08:38:31 impomatic: see the comments at A.6.2.2008 PARSE 08:40:19 i use a parse-word for everything instead 08:42:31 I can see why PARSE would be better than WORD. I'll change everything over when I implement CORE EXT 08:51:50 Yay, down to 20 words waiting to be implemented :-) 09:27:05 --- join: _mathrick (n=mathrick@wireless.its.sdu.dk) joined #forth 09:29:05 --- quit: mathrick (Read error: 110 (Connection timed out)) 09:46:57 --- join: iano (n=iosgood@076-076-146-052.pdx.net) joined #forth 10:27:13 --- join: Quartus` (n=Quartus`@74.198.12.4) joined #forth 10:32:49 impomatic: What platform is this for again? 10:33:41 x86 to begin with 10:33:48 Then hopefully porting to the Arduino 10:36:31 It's currently 2.6K when compiled and has all by 17 CORE words. No error handling yet. 10:36:45 by = but 10:41:50 anyone know how to make gforth's tasker.fs work nice with socket.fs? 10:48:07 --- join: kar8nga (n=kar8nga@e-86.vc-graz.ac.at) joined #forth 10:48:55 --- nick: _mathrick -> mathrick 11:14:13 --- join: hh1000 (n=Henry@d206-75-107-184.abhsia.telus.net) joined #forth 11:21:45 --- quit: gogonkt (Read error: 104 (Connection reset by peer)) 11:24:10 --- join: gogonkt (n=info@218.13.62.14) joined #forth 11:28:02 --- quit: GeDaMo ("Leaving.") 11:38:34 --- quit: impomatic (Read error: 110 (Connection timed out)) 11:39:15 --- join: waga (n=chatzill@89.47.179.111) joined #forth 11:39:27 --- part: waga left #forth 11:49:58 --- quit: iano () 12:16:50 --- join: impomatic (n=John@nat66.mia.three.co.uk) joined #forth 12:24:55 I don't really understand postpone. 12:26:12 From what I can figure from the standard, it does the following : POSTPONE WORD FIND DROP , ; 12:26:12 Is that right? 12:26:25 IMMEDIATE of course 12:28:19 that is only true for words that aren't immediate, and you're assuming you can add words with , of course 12:30:40 Hmmm... I thought the idea of POSTPONE is to force compilation of immediate words. I probably misunderstood it. 12:31:36 the idea of POSTPONE is that it works both for words for which you would use COMPILE and for words for which you would use [COMPILE] 12:33:04 so i messed up, it only works for word that _are_ immediate, heh 12:33:10 --- quit: mathrick (Read error: 110 (Connection timed out)) 12:35:18 --- quit: tathi ("leaving") 12:36:35 I can't see COMPILE in the standard, is that COMPILE, ? 12:37:06 no 12:37:14 it's an old-fashioned word 12:37:46 you used to say COMPILE X for non-immediate X, and [COMPILE] X for immediate X 12:38:01 now you can say POSTPONE X in both cases 12:38:21 which is great, because now you do not have to know which words are immediate 12:40:32 COMPILE X was pretty much ['] X COMPILE, and [COMPILE] X was [ ' X ]LIT 12:42:40 or ['] X EXECUTE is a bit more portable i suppose 12:43:44 although it tended to be : COMPILE R> dup cell+ >R @ COMPILE, ; 12:44:02 Maybe : POSTPONE WORD FIND 0< IF , ELSE EXECUTE THEN ; 12:44:32 yeah, something like that 12:44:53 Thanks :-) 12:48:02 you want to check for 0 as well of course 12:48:20 --- join: mathrick (n=mathrick@users177.kollegienet.dk) joined #forth 12:48:23 Yes, but I'll worry about error checking later :-) 12:48:25 ... word find dup 0= ABORT" undefined" ... 12:48:56 have fun! and good luck 12:49:36 Thanks :-) 12:51:20 Another 14 words to implement, then I'll try to run it for the first time. There's still a couple of days to place your bet on how it'll crash. :-) 13:03:34 you're not running it all the time already? 13:03:55 will be bloody hard to test if you don't! 13:04:16 No :-( 13:04:38 So I've got 20K of source code to search through for bugs ;-) 13:05:21 i said testing, not debugging 13:05:47 i hardly ever debug my own code 13:06:16 sometimes I write a ton of code upfront and then debug it 13:06:24 if it's obvious what is wrong, because you're testing all the time, it's not debugging ;-) 13:06:28 depending on the nature of the code it may or may not be feasible to do it that way 13:06:38 how can you be sure that it works then? 13:06:52 by testing it once its written :) 13:07:01 yeah, sometimes you need to build a bit of test harness 13:07:45 usually that means your code needs too much state though 14:11:28 --- quit: kar8nga (Remote closed the connection) 14:25:07 --- quit: impomatic (Read error: 110 (Connection timed out)) 16:43:34 --- quit: kleinjt (Read error: 110 (Connection timed out)) 16:46:06 --- join: nighty__ (n=nighty@210.188.173.245) joined #forth 17:35:57 --- quit: aguai_ (Read error: 60 (Operation timed out)) 18:00:51 * madgarden is away: aseepin' 18:08:23 --- quit: arke (Read error: 104 (Connection reset by peer)) 18:13:01 --- quit: Jafferey ("Leaving") 18:49:13 --- quit: crc () 20:12:56 --- part: ment left #forth 21:04:55 --- join: xjrn (n=jim@astound-69-42-10-25.ca.astound.net) joined #forth 21:17:23 --- join: proteusguy (n=proteusg@zeppelin.proteus-tech.com) joined #forth 22:24:54 --- quit: gogonkt (Read error: 104 (Connection reset by peer)) 22:27:01 --- join: gogonkt (n=info@119.127.43.188) joined #forth 22:33:33 --- join: kar8nga (n=kar8nga@a-23.vc-graz.ac.at) joined #forth 23:25:54 --- quit: kar8nga (Remote closed the connection) 23:47:01 --- quit: malyn (Remote closed the connection) 23:47:11 --- join: malyn (n=malyn@unaffiliated/malyn) joined #forth 23:59:59 --- log: ended forth/09.08.12