00:00:00 --- log: started forth/17.10.09 00:00:57 --- join: dys (~dys@tmo-113-159.customers.d1-online.com) joined #forth 00:14:38 --- join: rtmanpages (~rtmanpage@228.sub-174-204-5.myvzw.com) joined #forth 00:42:16 DGASAU only if you've been consistently using Forth over the last maybe 20 yearws or so. 00:44:41 what I found in the manual in Blocks was this: type: use blocked.fb 0 list 00:45:30 there were 3 screens of editing commands theyt said resembled poly-forth's commands 00:46:24 Reading the source code is absolute necessity. 00:47:15 Besides, what has happened with "understanding the system"? 00:48:46 well that could take a while too. there are over 1700 words defined in gforth. as for understanding the system, a bit of 'hadns on sure helps for sure. reading LB's Starting Forth and Thinking forth also usefull. 00:50:53 --- quit: mnemnion (Remote host closed the connection) 00:51:02 I created a directorty for gforth and copied a couple files into it, but turns out nothing I really needeed spo invoked gforth 00:51:24 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 00:52:49 not kowing just what screen to start on, typed 0 list. --rejected. 1 list --rejected (aka errored) so quit 00:53:18 --- quit: proteusguy (Remote host closed the connection) 00:53:54 --- quit: mnemnion (Remote host closed the connection) 00:54:09 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 00:54:59 listed the directory again and I now had blocks.fb there but 0 bytes so tryped in a very simple definition. and noticed it was listed as block 0. 00:55:24 s/tryped/typed/ 00:55:27 --- join: DKordic (~user@93-86-179-131.dynamic.isp.telekom.rs) joined #forth 00:58:11 started gforth again and told it: 0 list which errored, so tried 1 list. and it listed an emprty screen, so told it 0 list again and there was my definition 00:58:52 0 load didload my definition and it worked 01:00:33 in several places I've looked it has beenmentioned that gforth does have a visual editor but untill today, I havent seen any real evidence of one. 01:01:23 still havent tried out what I found tho 01:03:23 DGASAU what is Your recomendation for storing definitions? guessing a plain flat text file which probably doesnt break into screens/blocks. 01:05:06 My search for block editing stems from my use of forth back around late 70's early 80's 01:08:12 my idea for block-organized code that's edited on unix is the following: use normal LF-terminated lines, 64 characters long at most; insert a form-feed character (^L) between logical screen/pages, making sure that a page doesn't get longer than 16 lines 01:08:34 FreeBSD only has 2 versions of Forth in it's ports/packages gforth and pfe forth. I have both installed. pfe forth does not seem to use blocks at all. but also has a FAR smaller wordset. 01:09:12 All the same tho, it's bootloader is written in pfe forth. 01:10:45 --- join: proteusguy (~proteus-g@180.183.121.36) joined #forth 01:10:46 --- mode: ChanServ set +v proteusguy 01:12:03 --- quit: Keshl__ (Quit: Konversation terminated!) 01:17:15 jn_ LF a good idea!! thanks 01:17:36 what unix you using ? 01:18:10 linux 01:18:32 and i haven't yet implemented this idea, so i don't have any code i could point you at 01:19:03 (but maybe you'll find something in the forth archives on some ftp server, or usenet, or whatever) 01:19:43 anyway, i think this strategy should give you the best of both worlds 01:25:50 Yeah. do thing it soulds good. I'm definitly NOT opposed to a flat text file, juwst kinda unsure of myself at this point still 01:26:54 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 01:28:22 I got away from Forthway, long ago cause my boss sent me to school on some other languagesstarting with assembly language on an IBM computer used in avionics. 01:30:15 eventually got some HP9845's after a short spell with the 9825. but neither used forth nativcely and if ther wasa forth for them somewhere, I wasnt getting my hands on it:) 01:30:52 --- quit: mnemnion (Remote host closed the connection) 01:31:07 so, I eventually got around to writing a sort of direct threaded interppreter in HP Rocky Mountain Basic. 01:31:22 :) 01:31:28 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 01:31:57 Just use plain text files and stop messing with absolutely obsolete technologies from microcomputers era. 01:34:00 jn__: it is basically the way to join disadvantages of blocks and plain text files together. 01:34:57 I'm definitly not opposed to it. 01:35:24 --- quit: dys (Ping timeout: 255 seconds) 01:35:47 Besides, if you want to use this as some "external" form that fits processing by normal text editors, you should remember that lines ought to be 63 characters long, not 64. 01:35:51 --- quit: mnemnion (Ping timeout: 255 seconds) 01:39:21 would Forth even care if the line were 80characters long? guessing probably not. again, and advantage of a plain textfile. 02:03:03 hmm. actually, that file that was created trying to get blocks up on gforth comespretty close, if not meeting what DGASAU is talkking about. It's directly editible from outside Forth.. I'm just not too sure how to call it up from the commandline. 02:14:25 DGASAU: why 63? does the block format mandate a padding character before the 64-character boundary? 02:15:44 Because when you translate a line from plain text to line in block, you have to add blank space. 02:16:19 Otherwise you will have first character of the next line immediately following last character of the previous one. 02:16:46 ok, i get it 02:16:50 Forth block is just 1024 consecutive characters. 02:43:40 jn_ the formfeed didnt seem to get it 02:44:10 He means approximately the following: 02:44:42 you have plain text file that is converted into blocks with line to line, page to block. 02:45:02 sorta 02:45:24 I did approximately that long time ago. 02:45:37 It combines drawbacks of both formats. 02:47:17 problem is with a plain text editor you cant very easily fill a block of1024 spaces. just no provision for itessentially then,it makes no sense to try to organize a flat text file as blocks. not that I can tell anyhow. 02:48:20 you can kinda do it 'pretend' . artificially group lines of code in sort of blocks. 02:51:17 I created 4 simple definitions then inserted a formfeed beetween the third and forth. didnt seem to affect anything. 02:53:37 wa5qjh: you need a program that converts this (grouped-plaintext) format into the block format 02:53:57 the 4th definition was a hello world followed by what should have executed it, but it didn't happen 02:55:12 "Program"... 02:55:15 possibly but that's an extra step that just doesnt seem to make any practical sense. Forth reads the text fileno problem. 02:55:55 DGASAU: what's wrong with the word "program"? 02:56:10 IIRC, it was 3- or 4-line script in AWK. 02:56:29 If not shorter. 02:56:38 DGASAU: i wasn't trying to imply that it needs to be long of complicated 02:57:37 (ok, my estimate was 15 lines of python, but that's still well beyond 100 lines) 02:58:58 hmmm interesting too!! asa flat text file, forth, as expected, did not care that one line ran over 63 characters. 02:59:40 wa5qjh: it seems to make sense in my use case: I want to develop a forth for an embedded system that will interact with storage using blocks, but i want to keep the source code for the built-in blocks under version control on a unix system 03:04:13 DGASAU how do I get gforth to begin executing whatever it finds as an 'exposed' executeablke word? 03:06:13 as I said, my 4th(4th coincidently only) definition was hello ( printing hello world, actually) but if I typed "gforth test.4th" 03:07:09 Not without hacks. 03:07:26 on the command line hello was not executed. correction, had the definition in the file folowed by the word hello. 03:07:31 IIRC, gforth -e "bye" 03:08:16 BUT, if I added bye after the hello ( on a line of it's own) and ran gforth test.4th it Would execute the hello then exit. 03:09:35 bye 03:09:41 oooops! 03:11:05 there ya go!! $ gforth test.4th -e "bye" DGASAUthat did it 03:18:35 wa5qjh: What do You mean? ``Defer main ... ' hello is main''? 03:20:40 DKordic not sure what you're talkin about. I didnt say defer main. at least not knowingly:) 03:21:10 somehow did get DGASAU's name tangled up in there somehow. 03:22:33 but hello is just a test definition. I was trying to force forth to accept it as bein in a different screen|block. 03:23:16 but a formfeed didnt do it so was using that test file to see about different things. 03:24:11 DKordic, so what are you talkin about ? 03:34:11 ``how do I get gforth to begin executing whatever it finds as an 'exposed' executeablke word?'' 03:38:21 go on... 03:41:25 using gforth test.4th , with 'hello' as the last line in the file ( after the definition : hello ."hello world" ; ) 03:42:44 di not cause hello to be executed Unless I added bye as the last line after the hello, or put -e "bye" after the filename. 03:44:15 For example, ``:'', ``s"'' and ``\'' is executed just as ``-'' or Your ``hello''. I bet buffering is confusing You. 03:46:08 here's the last 2 lines in the file: 03:46:17 : hello ." hello world" ; 03:46:17 hello 03:46:33 wa5qjh: -_- 03:46:43 the spaces dont show there too good. 03:48:20 what do you see if you replace "hello" with "hello cr"? 03:49:13 hang on. lemme try. 03:50:23 putting cr inside the double quote is just gonna print hello cr. 03:50:58 so i changed that to : hello ."hello " cr ; 03:51:14 ok 03:51:51 (what i meant was doing this in the last line, but this will have the desired result, too) 03:52:11 Hold THE PHONE~!!!! 03:52:24 it was executing!!! 03:54:04 really strange!! it printed my message hello world then the gforth 2 lines of who it is! Unless I included the bye, in which case it printed gforths' notice THEN my message!! 03:54:12 WEIRD!! 03:56:16 nbo, more correction with the bye, gforth never got to print it's copyright notice 03:57:05 HEY !! THANKS. glad you brought that up. most interesting!!! 03:58:09 heh, I threw in a few extra cr's for good measure so I could see it more better :) 03:59:45 so basically, the 'bye' just surpresses gforth's copyright notice then. 04:03:53 what happened before was I didnt see that it had preinted the message because I didnt have any spaces after my message so it just kinda go buried in the copyright notice. 04:07:32 learned 3 good lessons today. flat fileis easier to use than blocks, an 'exposed' word in a file will get executed, a bye as the last line will surpress gforth's copyright noticve.,And better put some spaces 04:07:44 that\s 4! 04:09:12 wa5qjh: `stdout' is configured as "Line Buffered"! Try `` ' noop is bootmessage hello 2500 ms hello stdout flush-file throw '' instead of `cr'. 04:14:59 awfull long cr!! :) 04:17:52 that 'noop is bootmessage part is information or part of the command string ? 04:20:06 --- quit: proteusguy (Remote host closed the connection) 04:23:54 --- quit: impomatic (Ping timeout: 246 seconds) 04:24:23 hello 2500 ms hello stdout flush-file throw hello 04:24:23 and it worked ( I think) 04:27:03 shortened it again to 2500 ms hello 04:27:56 but got 2 hello's 04:48:29 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:6194:7d6f:75f1:d62c) joined #forth 04:48:30 --- mode: ChanServ set +v proteusguy 04:49:18 --- join: impomatic (~impomatic@host81-136-109-199.range81-136.btcentralplus.com) joined #forth 04:59:27 --- quit: jedb (Ping timeout: 240 seconds) 05:12:14 --- join: jedb (~jedb@123.100.45.84) joined #forth 05:13:11 DKoric aside from producing a delay, what's the purpose of all the other code? 05:15:16 wa5qjh: Try http://termbin.com/5xec0 . Is it displayed all at once or dot by dot? 05:18:49 dot by dot 05:20:44 ok what is the ['].... line trying to do ? 05:21:24 then the .. well, all of maiin. I dont understand a bit of it. 05:21:38 except for the bye :) 05:22:55 Why? `[']' is a `compile-only' variant of `'' using a naming convention refering to words `[' and `]'. 05:24:29 something I never understood.bitover my head so far. 05:24:53 The You can comment or delete `flush-file' line, since it is doing nothing. 05:25:23 what was it supposed to do ? 05:25:30 Perhaps `ms' is Flushing Buffers. 05:26:07 ms as in milliseconds or micro$loth ? 05:26:30 you need a dictionary (i mean a forth dictionary) 05:26:33 `ms' is miliseconds delay. 05:26:36 that's only in loading tho 05:27:45 but that's not actually loading anything. 05:32:56 there was a 50/50 chance on that one :) but for gforth, you're very right!! been looking for a gforth dictionary. 05:33:53 i personally just use the dictionary in pans94.pdf (the ANS Forth document) 05:34:37 ok, do in main, still no savy the first line what it'sa doing. second line sets up delay in ms. and prints a dot. 05:35:18 third line is doing nothing for us really, but what was it intended to do ? 05:39:06 pans94.pdf?? googled and duck2-go and didnt find that 05:39:50 p a n s 94.pdf 05:43:57 wa5qjh: Try http://forthworks.com/standards/DPANS/DPANS.pdf 05:47:15 ok so I finished my hex editor 05:47:24 it seems to work pretty well 05:51:27 right, i misremembered the filename: http://dl.forth.com/sitedocs/dpans94.pdf 05:53:04 I dunno how I feel about standardization of forth 05:53:20 it's nice that every forth is a bit different 05:53:26 gives it character :D 05:54:11 ANS Forth leaves room for differences, too 05:54:53 (but what do i know? i only started forth a few months ago) 05:55:36 Moore is pretty foeward about the fact that he thinks every system should be keyed up specifically for its job 05:55:45 least that's what I've read 05:55:51 that was much better 05:55:54 fortunately, forth is so easy to port 05:56:05 wa5qjh: ? 05:56:25 good address for dpans04.pdf 05:56:35 ~1MB worth 05:56:45 heh 05:56:59 msg 4 jn_ 05:57:16 hmm? 05:57:32 got it!! Thanks!! 05:57:49 says here use of #TIB is discouraged 05:57:49 WTF? 05:57:58 #TIB is wonderful 05:58:06 and TIB 05:59:38 found a bug in my hex editor that just makes it a bit annoyin 06:00:01 it doesnt increment the insert pointer when you move forward and backwards in memory and it goes past the input pointer 06:00:12 no big deal. won't fix XD 06:00:13 jn_ dpans94 bad aim on the kbd.. 06:00:57 FatalNIX which forth you workin on there? 06:01:32 I'm going to try and punch in a simple forth with machhine code using my hex editor I wrote in extended color basic 06:01:55 I found a page that describes a 3 word forth that you can build upon to get up and testing fast 06:02:07 store memory, fetch memory, and push onto stack basically 06:02:27 WHOA!! how many bytes you looking at ? 06:02:54 there isn't a whole lot of space available 06:03:21 I've reserved like, $2fe0 - the end of free memory wherever that is.. below the io memory 06:03:37 wI'm not 100% sure where it ends 06:03:42 Think I saw that one. 06:03:45 basic does memory protection 06:04:03 I'm looking at this book to get an idea http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting%20Started%20With%20Extended%20Color%20Basic%20(Tandy).pdf 06:04:21 it has a memory map in it near the end with a machine language section I used to create the jump function of my hex editor 06:04:29 yall, pls excuse me. gotta go.. later and thanks!! 06:05:14 --- quit: wa5qjh (Remote host closed the connection) 06:05:14 --- quit: wa5qjh_ (Remote host closed the connection) 07:02:04 --- join: smokeink (~smoke@171.36.226.91) joined #forth 07:41:29 --- join: bavier (~bavier@msp-nat.cray.com) joined #forth 08:31:43 --- quit: smokeink (Ping timeout: 240 seconds) 08:42:57 --- quit: jedb (Ping timeout: 240 seconds) 08:43:14 --- join: jedb (~jedb@71.19.248.193) joined #forth 08:53:32 --- join: dys (~dys@tmo-111-156.customers.d1-online.com) joined #forth 09:07:48 FatalNIX: I use gforth for testing things on a conventional Forth as opposed to my own dialect. 09:08:15 I'm familiar with ANS, but not specifically gforth's implementation of it :) 09:43:11 wa5qjh: I do have a FreeBSD system for testing things on 09:44:03 wa5qjh left a few hours ago 09:46:57 I know; I mention this for the channel logs 10:17:08 I'm to the point that I need to implement branch instructions in my amd64 assembler 10:17:11 this sucks 10:48:39 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 11:43:17 --- quit: mnemnion (Remote host closed the connection) 11:43:50 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 11:48:03 --- quit: mnemnion (Ping timeout: 240 seconds) 13:24:44 --- join: Mat4 (~david@ip5b409eae.dynamic.kabel-deutschland.de) joined #forth 13:30:00 --- quit: rtmanpages (Ping timeout: 255 seconds) 13:32:32 --- quit: Mat4 (Quit: leaving) 13:32:42 --- quit: impomatic (Ping timeout: 255 seconds) 13:57:13 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 14:24:34 --- quit: pdewacht (Remote host closed the connection) 14:25:24 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 14:44:34 --- join: impomatic (~impomatic@host81-136-109-199.range81-136.btcentralplus.com) joined #forth 14:59:46 --- join: Chef_Gromboli (~Chef_Grom@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 15:30:36 --- quit: wa5qjh (Ping timeout: 255 seconds) 15:36:57 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 15:37:51 --- join: rtmanpages (~rtmanpage@56.sub-174-204-9.myvzw.com) joined #forth 15:43:44 --- quit: nighty- (Quit: Disappears in a puff of smoke) 16:38:54 --- nick: wa5qjh -> wa5qjh_ 16:40:07 --- join: wa5qjh (~quassel@175.158.225.198) joined #forth 16:40:07 --- quit: wa5qjh (Changing host) 16:40:07 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 16:43:37 --- quit: mnemnion (Remote host closed the connection) 16:44:13 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 16:45:36 FatalNIX, have you tried that gforthmi yet? 16:45:52 .. 16:46:23 , 16:46:40 . 16:48:50 --- quit: mnemnion (Ping timeout: 240 seconds) 16:59:26 --- join: igstan (~igstan@89.36.15.98) joined #forth 16:59:40 --- quit: igstan (Client Quit) 17:34:27 --- join: smokeink (~smoke@59.63.249.231) joined #forth 17:48:50 --- quit: Uniju (Ping timeout: 240 seconds) 17:57:14 --- join: Uniju (~frog_styl@cpe-74-78-4-232.mass.res.rr.com) joined #forth 18:03:32 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 18:07:57 --- quit: mnemnion (Ping timeout: 240 seconds) 18:19:34 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 18:31:25 --- quit: jedb (Read error: Connection reset by peer) 18:50:48 --- join: jedb (~jedb@123.100.45.84) joined #forth 19:10:36 --- quit: Chef_Gromboli (Quit: Leaving) 19:26:50 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 19:31:17 --- quit: mnemnion (Ping timeout: 248 seconds) 19:59:03 --- quit: jedb (Ping timeout: 240 seconds) 19:59:21 --- join: jedb (~jedb@71.19.248.193) joined #forth 20:50:47 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 20:54:57 --- quit: mnemnion (Ping timeout: 240 seconds) 20:57:18 --- quit: jedb (Ping timeout: 255 seconds) 21:15:14 --- join: jedb (~jedb@123.100.45.84) joined #forth 21:25:06 --- quit: dys (Ping timeout: 258 seconds) 21:34:42 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 21:40:23 --- quit: jedb (Ping timeout: 248 seconds) 21:40:40 --- join: jedb (~jedb@71.19.248.193) joined #forth 22:42:49 --- quit: proteusguy (Ping timeout: 246 seconds) 22:59:28 --- quit: smokeink (Quit: Lost terminal) 23:09:43 --- quit: mnemnion (Remote host closed the connection) 23:10:16 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 23:15:09 --- quit: mnemnion (Ping timeout: 260 seconds) 23:30:53 --- join: mnemnion (~mnemnion@c-73-34-61-146.hsd1.co.comcast.net) joined #forth 23:32:59 --- quit: groovy2shoes (Excess Flood) 23:33:22 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 23:35:10 --- quit: mnemnion (Ping timeout: 240 seconds) 23:37:17 --- quit: groovy2shoes (Excess Flood) 23:37:50 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 23:59:59 --- log: ended forth/17.10.09