00:00:00 --- log: started retro/06.07.22 06:04:00 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 06:37:18 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 06:48:34 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #retro 07:05:14 --- join: docl (n=docl@74-36-210-133.dr01.hmdl.id.frontiernet.net) joined #retro 07:11:26 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #retro 08:37:01 /whois k4jcq 09:17:20 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 09:42:46 --- part: crc_work left #retro 10:09:19 --- quit: nighty (No route to host) 10:22:44 --- quit: virl (Remote closed the connection) 11:01:57 good afternoon 11:03:40 hi crc 11:04:48 * crc expects to have RetroForth 9.2 finished tonight or tomorrow afternoon 11:08:36 cool :) 11:08:58 im about to release isforth 1.21 in the hopes that the keyboard snafu's are all fixed 11:47:02 http://retroforth.org/update.html for the final release candidate of 9.2; if I don't get any bug reports, it'll go live in a few hours 11:50:35 --- quit: I440r (Remote closed the connection) 12:00:05 crc: is there a way to make the build script have execute permissions? 12:00:52 docl: I am looking into that 12:01:05 * crc is about to go eat; will be back in a little while 12:03:01 help without an arg gives "word not found" - not exactly a bug, but could use a default. 12:05:45 also, seems like "needs help" should be commented out, or "needs help.data" should be included (perhaps commented). 12:21:02 crc, cool! 12:21:25 btw, when you have that OS -thingy, where is that? 12:53:03 back 12:53:16 ChanServ: the native version is still being worked on 12:55:52 *Cheery, not ChanServ 12:58:27 crc, could you descbribe it little? 12:59:11 it's a standalone implementation of retroforth with PATA, serial, parallel, keyboard, and textmode screen drivers 12:59:35 PATA? 12:59:43 multiboot compliant; it can accurately identify a retro-specific partition for read/write operations on blocks 12:59:49 PATA = Parallel ATA 12:59:58 as opposed to SATA (Serial ATA) 13:00:19 does it run in 32 bit mode and support access to MMU? 13:00:27 32-bit mode, yes 13:00:41 flat memory addressing, I don't do rings or use the MMU at this point 13:01:18 docl: I have fixed help 13:02:35 * crc is working on redoing the native version to support basic multitasking 13:03:01 ok, crc, I've bounced from various topics while I should've do that lisp implementation. I've found one potential and new model for handling of data and files. 13:06:58 cool 13:07:23 Cheery: was the stuff I posted on my threading experiments any help? 13:07:41 I gues it will. 13:07:52 good :) 13:09:11 I am going to continue working with it; the experuence should be helpful as I add threading to the native retro system 13:10:37 So it is stuff you are after yourself too? 13:10:54 yes 13:11:27 I want to be able to do basic networking and eventually audio in the native system; single tasking just won't cut it for that 13:12:56 Do you have ideas for multitasking too? 13:16:36 not yet 13:16:46 initially I'll just do preemptive threading 13:17:08 I'm not sure how to handle multiple address spaces, etc effectively yet :( 14:22:07 you could vector h0 to point to different places in memory, maybe 14:33:00 This thing I found... I think I could have time for explaining it at some point. 14:33:36 --- quit: neceve (Remote closed the connection) 14:37:52 It is basically a relational model. 14:38:53 Meaning that code is data, data has no direct references except inside itself, and all references are stored into a datasystem into relationships. 14:39:28 relationship is a 4 celled atomic element, called 4-tuple. 14:40:33 it has four cells because the minimum relationship requires four variables: two anythings, something which works as an environment and it also must store it's type. 14:49:59 operations with 4-tuples are optimized, so that searching amongst them is simple. 14:52:18 with tries, located in disk volumes, kernel and every process behaves as an identifying system for 4-tuples, plus allows a quick alphabetical search and automatic garbage collection: the 4-tuples which aren't locatable trough trie strings is not reachable anymore, and it's memory can be considered free. 14:53:03 Does this all make sense? 14:54:46 The difference between a filesystem and memory manager would be blended slightly more than usual. 14:56:13 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #retro 14:56:36 The programs could be done easier data-driven (control tables and storage of information would be no problem domain of a program). 14:56:54 Therefore allowing shallow data and return stacks. 15:00:58 oh well, going to sleep, I tell more about this system tomorrow. 15:01:57 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 16:02:49 * Raystm2 suggessts a TODO for the http://retroforth.org/contrib/ page: Please add our versions of the chess games. 16:04:03 grr wish futhin would answer his damned email lol 16:10:28 :) 16:12:55 he still hasn't logged into bespin... 16:13:35 hi crc. 16:13:47 * Raystm2 back to work on the chess games. 16:14:07 cool 16:14:11 I have a board now, tho it's not part of the current chess file. 16:14:31 Raystm2: grab the 9.2.0-hosted.tar.gz from http://retroforth.org/update.html 16:14:32 also I've been working with the FEN notation to provide human readable persistance. 16:14:45 okay thank you very much! 16:14:52 this should be the final build of 9.2, other than bugfixes 16:15:46 excellent. /me may end up spending much time today reading it all :) 16:22:20 downloaded unzipped installed tested with a couple chesses and pleased to report that it works sofar :) 16:23:50 If I havn't said so before: Charles, I'm just really impressed by the 9 series of retro and the core. It's a well played concept. 16:25:43 crc: did I read earlier that this new download included a more up-to-date help system? 16:26:05 just slightly 16:26:38 you still have to manually load help.data, but it fixes an error message when 'help' is used without a following wordname 16:27:12 it's now a bit more obvious how to get help to work :) 16:27:37 :) 16:28:02 Okay load help.data, thanks /me was wondering why there was " no help for this word" :) 16:28:25 you can uncomment help.data in modules.inc as well. but that might be a waste of memory for an expert forther :) 16:28:49 I'll be adding a link to the latest help.data in a moment... 16:29:51 okay i'm wondering if i've loaded help.data properly with: load help.data \f ? 16:30:11 yes 16:30:13 or: 16:30:16 -f help.data 16:30:42 then only some words have actual help data, right? 16:31:03 most should with this one 16:31:05 trouble is getting into the modules directory each time you do it. if you have retro in the path, it might be hard to figure out. 16:31:37 http://retroforth.org/repos/902/modules/help.data 16:31:42 the link is up 16:32:08 * crc just keeps a copy in a consistent location 16:32:15 OH i need the new data then? 16:32:23 this is the current one 16:32:36 updated earlier today 16:33:14 is it the same as the release candidate? 16:33:25 slightly newer 16:34:21 docl: I keep it in my home directory, and then do "retro -f help.data" to load it 16:34:31 err, "retro -f ~/help.data" 16:35:33 I don't seem to have a help.data file -- wait making windows search for it. 16:36:00 look in 9.0.2\modules\ 16:36:29 er, 9.2.0-hosted 16:38:29 docl: Ray is using the binary snapshot 16:38:41 Raystm2: http://retroforth.org/repos/902/modules/help.data is the latest one 16:39:29 ah okay there is no modules file... 16:39:39 modules is a directory in the source tree 16:41:15 okay so does that mean it's not part of the 9.2 download, cus I dont see it in the recent download? 16:41:26 it's part of the source tree 16:41:47 does that mean that the source tree is not part of the download? 16:41:48 There should be two links; the source is distributed separately from the binaries 16:41:54 thank you :) 16:41:57 np 16:42:17 * crc used to have them together; this approach has proved beneficial overall 16:42:37 new users don't get confused by the process of building retro from scratch this way :) 16:46:01 * Raystm2 suggests that the downloadable tar should have a diff file name from the binary 16:46:07 Raystm2: ok 16:46:27 like append an s for source or something... cuz I nearly over wrote the binary tar 16:46:47 done 16:46:57 9.2.0-hosted-source.tar.gz now 16:48:47 okay but you havn't changed the pointer on the download page yet? or have you? 16:48:51 On linux/bsd systems, rlwrap can be used to provide a command line history (and eventually tab completion) 16:48:55 Raystm2: I just did 16:49:03 ah okay thanks :) 16:49:40 hmm, I'd hate to use retro without the source being available for reference. 16:50:06 okay /me waits for the link to propagate ... 16:50:28 --- join: jas2o (n=jas2o@wnpp-p-144-134-163-235.prem.tmns.net.au) joined #retro 16:50:36 Raystm2: a full refresh should work (ctrl+f5 or ctrl+r) 16:51:01 no i've tryed that 19 times ... 16:51:04 docl: I just got tired of trying to explain to users that they didn't have to rebuild retro 16:51:06 really? 16:51:31 it's working here :( 16:51:33 ya unfortunately really :)( 16:51:47 http://retroforth.org/get/source/9.2.0-hosted-source.tar.gz 16:51:58 http://retroforth.org/update.html 16:52:06 ahh 16:52:08 thats the page you gave me earlier 16:52:14 it's on the main page now :( 16:52:20 * crc fixes that link 16:52:27 okay :) 16:52:51 done 16:54:49 I have it now. Do I put it in my c:\retroforth folder? or in the folder that it creates on its own... 9.2.0-hosted\ 16:55:25 copy the 'modules' directory in the 9.2.0-hosted to your c:\retroforth folder 16:55:33 that has most of the nice optional stuff in it 16:55:35 thank you will do. 16:58:30 :) 16:58:34 working 16:58:49 you can let go of my hand now. :) 16:58:57 maybe 16:58:57 ok 16:59:12 --- part: jas2o left #retro 17:24:32 * crc will be getting the current library ready for release over the next week or so 17:39:43 * I440r needs to write his block file editor lol 17:39:47 too lazy atm 18:07:53 I could port mine to isforth... 18:09:21 can it edit 256 block files of any dimensions at the same time ? 18:09:27 no 18:09:36 im thinking of supporting block files up to 1024 by 1024 18:09:46 in a smaller window of corse 18:09:52 I only do 8x64 blocks 18:10:02 it'd still be worth looking at 18:10:25 * crc will work on it 18:10:34 shouldn't take too long... 18:10:48 what is the preferred way to allocate ram for the block buffer? 18:11:00 ill be using allocate 18:11:14 itll be using my console windowing system too of corse 18:12:03 i started working on the display part but i need to do a line editor first 18:12:37 going to build it into the command history code 18:13:06 so you can edit the line your typing - right now all you have its type and delete not edit 18:13:54 what is the stack use of allocate? 18:15:01 ( size --- address true | false ) 18:15:21 you ask for a size and it returns an address and a true flag or no address and a false flag 18:18:02 how do I interpret from a string? 18:18:12 in isforth ? 18:18:13 you cajnt 18:18:23 why not? 18:19:01 : foo " xyzzy lots of code here" interpret-this-string-at-run-time-instead-of-compiling-it-at-compile-time ; 18:19:14 im not into that kind of bogosity 18:19:39 heh 18:19:52 what about evaluating from a buffer? e.g., one containing code? 18:20:20 its anohter case of the ans standard doign everything it can to totally fuck up that language 18:21:08 being able to evaluate a string is a bad thing? 18:21:15 yes 18:21:18 why? 18:21:28 stop evaluating at run time what should have been compiled at compile time 18:21:48 I use it for some things 18:22:10 especially in compiler macros 18:22:29 erm take a look at INLINE.F in isforth 18:22:39 rather than doing "['] foo compile ['] bar compile" or "c: foo c: bar" 18:22:44 m: xyzzy lots of forth code here ;m 18:23:10 any time you reference xyzzy it injects itself intot he definition being created 18:23:23 and you can do loops, ." and friends 18:23:30 and when your done you can purge-macros 18:23:41 all code space used by the macros goes away 18:23:51 a different approach than I took with retro, but ok 18:24:23 * crc has only one real question... how can I interpret/compile the code in a block with nothing that can evaluate a string? 18:24:26 it was a backlash against : some-macro postpone x postpone y postone z postone this postpone...................... ; 18:24:53 : some-macro { x y z this ......... } ; 18:24:54 err. look at bload.f 18:25:09 it points tib at the block and sets #tib equal to the size 18:25:19 but i dont have evaluate or any of taht crap 18:25:25 ok 18:25:34 --- quit: tathi ("leaving") 18:26:14 does that evalueate the data between { and } at run time ? 18:26:19 or does it compile it ? 18:26:22 evaluate it 18:26:38 { compiles a string and evaluates it at run time ? 18:26:42 the code will be compiled when used in a definition 18:26:42 yes 18:26:50 inefficient 18:27:00 and the macro takes up space in the target 18:27:07 I don't do turnkey 18:27:11 so the tradeoffs are different 18:27:22 also, stc; so again different tradeoffs 18:28:04 just write code that can relocate the assembler inside a macro 18:28:09 and compile it at compile time 18:28:22 that is difficult 18:28:25 make { relocate the code when the word is referenced 18:28:29 not really 18:28:30 x86 is not kind to relocatable code 18:28:57 whats difficult about it? recalculating relatvie offsets isnt THAT hard 18:29:01 I have explored this in the past, it's not fun, clean, or effective 18:29:26 how isnt it effective ? 18:29:33 of corse... its not as portable :) 18:29:34 the tradeoffs in complexity 18:29:48 you would have to have different versions of the relocation code for each supported processor 18:29:49 I440r: if you code a relocating version, I'll be glad to incorporate it 18:30:13 * crc only codes for x86, and eventually ARM 18:30:25 arm is damned cool! 18:30:36 I know 18:30:40 help me write the assembler i want and ill write the relocation code :) 18:32:29 all opcodes from 386 to present including fpu sse mmx blah blah blah 18:32:35 nope 18:32:43 with everything encoded in OCTAL 18:32:44 I don't use beyond 386 opcodes :) 18:32:47 :) 18:32:57 octal is the friend of all x86 assembly coders 18:33:16 yet intel and every other moron out there encodes x86 in HEX 18:33:20 which is totally moronic 18:35:00 yup 18:42:09 other than being able to evalute a block, the core editor is working 18:54:28 :) 18:57:06 http://retroforth.net/paste/?id=55 19:02:47 thats short :) 19:02:59 how do you edit a line ? 19:03:05 insert/delete etc? 19:05:47 nevermind i see 19:06:56 I forgot to document 'new' which erases all the blocks 19:07:24 * crc has "ported" (e.g., rewritten) this editor for every forth he's ever used 19:07:52 :) 19:08:16 it actually predates my involvment with retro 19:08:31 i can see some optimizations ican do for isforth 19:08:34 good 19:08:54 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 19:09:01 good evening virl 19:09:23 hi crc, here it's 4 am ;-) 19:09:31 10.11pm here :) 19:10:56 oh - and u would have to put the allocate inside a definition 19:11:23 allocated memory isnt retained as part of the target executable 19:11:37 ahh 19:11:41 * crc understands 19:12:04 looks good tho 19:12:46 cept i cant see how you edit a line of text 19:12:52 i and ia 19:13:15 seems a little arkward 19:13:18 is it ? 19:13:19 it can be at times 19:13:22 k 19:13:41 I've done additional supersets that allow for editing in a modal manner, with a cursor 19:13:46 all sitting over this base 19:14:02 :) 19:29:28 : v: create: as .forth { ] vector ; } ; 19:29:49 is there a better way to do that? 19:30:33 --- quit: I440r ("Leaving") 19:31:49 also, : is: here is { ] } ; 19:32:39 http://retroforth.net/paste/?id=56 19:32:46 : v: create: as .forth x: vector x: ; ; 19:33:25 : is: here is ] ; 19:33:59 nice 19:34:21 crc: /me reading your paste56 and wondering the what convention you use for putting some words in and (word)? 19:34:35 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-141-192.pools.arcor-ip.net) joined #retro 19:34:43 Raystm2: I have no rigid convention on naming 19:35:09 (words) are generally not intended for direct use, but rather as useful factors of other words 19:35:39 is something I'm exploring for variables that are for internal, not direct use 19:35:43 * docl uses (line) and (block) occaisonally 19:35:59 * Raystm2 too docl :) 19:36:12 which is why they aren't hidden away in a loc 19:36:19 thanks crc :) 19:36:39 Raystm2: np 19:36:43 docl: looks good 19:36:46 I guess if they were in a loc, they wouldn't need the parens 19:36:50 right 19:36:51 * Raystm2 likes the idea of internal values in <...> 19:37:27 makes sense, as long as they aren't named something like <>if> :P 19:37:52 that's why I use them for variables/constants, not words :) 19:39:18 * docl wonders if there are better names to use than v: and is: 19:39:26 crc: I was also wondering if PRONOUNCE might be a field in the doc: output for words that are not tipically pronounced as typed? 19:39:49 I could add that to the help.data 19:39:52 * crc makes a note 19:40:19 notes: pronounced "dot". removes the element it shows. 19:40:43 from the stack. /me appends 19:40:52 :) 19:41:43 another plus to opera. Not only is it my web browser, irc client, email client, but also I use it to track short notes and todo's 19:41:55 :) 19:41:56 neat! 19:42:16 fowser should do all of that as well :) 19:42:21 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 19:42:28 --- nick: snoopy_1711 -> Snoopy42 19:42:28 * Raystm2 has high hopes for fowser. 19:42:38 hi Snoopy42 :) 19:46:16 nit pic time: I was looking at paste55 the editor and wondering if the def for should use <#blocks> instead of being hard coded, for changing then number of blocks in the buffer easier? 19:47:54 probably 19:48:07 I just did a quick port to isForth 19:48:25 * crc makes a note to look at this as well 19:48:32 there becomes @b0 and #-of-blocks becomes @<#blocks> with the new @ and ! shortcuts... 19:49:18 altho there is more readable... 19:49:35 there will remain for compatibility and historical reasons 19:49:53 I see. :) 19:50:10 part of the reason I didn't use all of retro's features is the portability issue 19:50:31 I use this editor on every forth that I have to work with, so I don't tie it too closely to any one specific forth 19:50:32 of course, /me notes you said this was for IsForth. 19:50:38 yeah 19:50:47 I do use the @ and ! prefixes in retro's version of it 19:50:55 cool. 19:51:59 here and there are cooler sounding than @h0 and @b0 19:52:27 * Raystm2 is scared of the def x :) 19:52:53 too easy to delete all of your code. providing you dont save after x 19:53:12 wait did I say that right? no 19:53:21 but I think ya'll understand... 19:53:22 save *before* x :) 19:53:25 but yeah 19:53:48 8 for d next 19:53:59 er r d 19:54:38 still it's a great editor as far as i've used it. 19:54:54 8 for r 1- d next 19:55:05 ya 1- /me learned the other day 19:55:10 ah yeah 19:56:05 what's a good name for r 1-? 19:56:15 r1- :) 19:56:20 r> r 1- swap >r 19:56:26 if you put it into a word 19:56:37 { r 1- } 19:56:43 if it's a macro 20:00:41 word names should never include more letters then the actual code to take it's place except for in the case of readability. 20:01:16 macro : q { r 1- } ; forth 20:01:50 Raystm2: in that case, we could use r_1- 20:02:45 longer then just typing r 1- ? 20:02:58 r-- 20:03:07 hehe :) there ya go 20:03:10 hey that works :) 20:03:23 r_1- is the same number of characters :P 20:03:34 * Raystm2 forgot the space 20:03:47 but you do have to shift... 20:04:03 yes /me is THAT lazy 20:04:26 yeah. well, r------ would be easier than r 1- because it's less moving the fingers. 20:04:49 ergonmically speaking. 20:05:16 8 r-------- is 0 hehe 20:06:20 * Raystm2 gets back to chess... 20:06:43 : mac: create: as .macro x: ] ; 20:07:15 * docl is running with the colon-prefix idea :) 20:07:25 :macro .... ; 20:07:31 :forth ..... ; 20:07:42 yours would be a suffic 20:07:45 *suffix 20:07:58 mac is prefix to the colon :P 20:08:08 ahh, ok 20:08:15 * crc is tired; should go to bed :) 20:08:24 hehe 20:08:30 I'll be back tomorrow; have a good night everyone 20:08:34 good night 20:10:09 good night crc :) 20:10:44 * Raystm2 is about to post a pic of the current board with out pieces on it. 20:18:09 http://ray.rx-core.org/new_site/board1.png /me needs to learn how to make these images smaller. 20:20:16 there will be a list display of the last 20 moves on the left of the board and on the right a 16 line board of the last move made. 20:20:49 it will say whose-move where the cursor is now and will except input on the next line. 20:21:24 the menu will change all of the lower letters to there menu options: ie 20:23:16 Letter/becomes: 20:24:13 A Apply 20:24:13 B Branch 20:24:13 C Climb 20:24:13 D Down 20:24:13 E Edit 20:24:14 F File 20:24:16 G Game 20:24:18 H Help 20:25:18 the menu letters will effect the list display which will display game-files 20:25:47 Apply will apply the selected list display line 20:26:01 Branch will branch the save to a new file 20:26:13 Climb and Down go up and down the list 20:26:27 E and F are self explainitory 20:26:36 G selects a game and H... 20:27:38 using FEN should make all that doable. 22:31:29 docl: ping? 23:27:27 * Raystm2 playing with SetConsoleCursorPostiion and thinking that each line in the stdout is a buffer and that you can't reach the next line. 23:43:54 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 23:59:59 --- log: ended retro/06.07.22