00:00:00 --- log: started forth/05.02.02 00:13:15 Is anyone awake? 00:13:22 hi lopta 00:13:32 hello bbls 00:14:21 I'm starting to get that urge again, to start poking around in Forth 00:14:32 :) 00:15:36 it has been a while 00:16:09 ...and I never really got as deep into it as I would have liked. 00:16:23 i'm relativelly new to forth 00:16:57 and i probably have to learn more :) 00:18:19 Do you use it on a desktop computer, or embedded into a microcontroller? 00:18:26 a desktop computer 00:18:49 bbls: which version do you use? 00:19:11 i don't use a particular one 00:19:23 i have about 10 of them :) 00:19:30 :-) 00:19:36 I thought that was just me :-) 00:19:38 :) 00:21:32 Do you use it with any external libraries? 00:21:40 no 00:21:51 i don't do any serious work with forth 00:22:09 i'm working on my own forth-like language 00:22:17 probably i'm going to use that 00:22:22 is it a subset of Forth? 00:22:44 not a subset of forth 00:22:53 it's more similar to joy and factor 00:23:07 I'm not familiar with those 00:23:45 basicly they are forth derived languages that are a bit higher level than the basic forth 00:25:07 okay 00:27:03 --- quit: onetom ("leaving") 00:27:22 --- join: onetom (~tom@mail.ritek.hu) joined #forth 00:29:21 wb onetom 00:45:20 --- quit: lopta ("leaving") 01:31:34 --- join: bbls1 (~bbls@80.97.121.133) joined #forth 01:31:51 talk!!! :) 01:31:58 ? 01:32:19 TALK PEOPLE!!!!! 01:32:24 hi arke 01:33:39 hi bbls1 01:34:59 forth is fun 01:35:13 it should be improved 01:35:39 --- quit: bbls (Read error: 60 (Operation timed out)) 01:35:49 --- nick: bbls1 -> bbls 01:36:22 * arke points to retroforth 01:37:42 it is 01:37:42 :) 01:37:50 its just that people don't see it that way 01:39:22 how to see? 01:39:45 what i wanted to say is that certain forth words should be improved 01:41:15 or maybe the language itself 02:03:35 heck out retroforth 02:04:03 what do you mean? 02:06:34 check out retroforth 02:06:50 its much newer and different, and IMHO improved, than gforth, win32forth, etc.etc.etc. 02:06:54 the whole ANS stuff 02:59:38 --- quit: warpzero ("leaving") 02:59:47 --- join: warpzero (~warpzero@wza.us) joined #forth 02:59:52 --- quit: warpzero (Client Quit) 03:00:12 --- join: warpzero (~warpzero@66.109.132.242) joined #forth 03:05:45 --- quit: warpzero ("leaving") 03:05:49 --- join: warpzero (~warpzero@wza.us) joined #forth 03:31:22 --- quit: warpzero ("WELL YOU SHOULD SEE POLYTHENE PAM") 03:31:25 --- join: warpzero (~warpzero@wza.us) joined #forth 03:31:44 --- quit: warpzero (Client Quit) 03:32:21 --- join: warpzero (~warpzero@wza.us) joined #forth 04:03:00 --- join: zol1 (~l@ppp-82-135-0-128.mnet-online.de) joined #forth 04:03:21 g'day 04:11:53 --- quit: bbls (Read error: 60 (Operation timed out)) 05:36:01 --- join: bbls (~bbls@80.97.121.133) joined #forth 05:48:05 --- part: zol1 left #forth 06:03:31 --- join: lopta (~ball@dialup-4.158.195.229.Dial1.Chicago1.Level3.net) joined #forth 06:06:27 hi lopta 06:07:08 hello bbls 06:47:57 hi 06:48:03 ji arke 06:48:06 *hi 06:48:34 hello arke 06:51:12 hi 06:51:14 and bye 06:51:20 * arke runs off to school :( 06:51:21 ? 06:51:25 :( 06:51:30 school is evil 06:51:34 yeah 06:51:43 that reminds me, I should be doing maths homework 06:51:57 if they at least taught like forth programming or how to make chips or something :P 06:52:06 :) 06:52:13 making chips is easy 06:52:17 I think I chose the wrong major 06:52:43 just search the web for digital cirtuits, VLSI and cmos integrated circuits 06:53:13 :) 06:53:18 * arke runs off 06:53:19 later 06:54:22 --- quit: slava (Read error: 54 (Connection reset by peer)) 07:09:02 --- quit: onetom ("leaving") 07:11:21 --- join: onetom (~tom@mail.ritek.hu) joined #forth 07:11:22 --- quit: onetom (Client Quit) 07:12:23 --- join: onetom (~tom@mail.ritek.hu) joined #forth 07:31:42 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 07:31:42 --- mode: ChanServ set +o Herkamire 07:33:12 hello Herkamire 07:33:50 --- join: zol1 (~l@ppp-82-135-0-128.mnet-online.de) joined #forth 07:34:06 hello zol1 07:34:12 hi all 07:34:16 hi lopta 07:34:43 do i know you ? 07:35:00 zol1: doubtful, but hello anyway :-) 07:35:18 ah, ok. can't remember having seen you here before 07:35:55 that means, i suppose, you don't know me either ? 07:36:36 zol1: probably not (sorry if you're famous or something ;-) 07:36:42 * zol1 relaxes 07:38:04 do you know forth ? 07:38:25 zol1: I can't claim that, although I have peeked at it from time to time 07:39:14 what is your preferred language ? 07:40:24 zol1: tough question. I like Pascal, but I also liked assembler (and machine code) 07:40:49 (nothing marketable ;-) 07:40:49 quite some contrast between these two 07:41:13 zol1: right, but I would use them for different things. 07:42:49 Perhaps I'm just bipolar though :-) 07:43:34 lot of people that started with turbo pascal preffer pascal and asm 07:44:02 I've an idea that I used Turbo Pascal back in the dim-and-distant past. 07:44:27 i did quite a lot of asm, enjoying the coding freedom it gave me, that's why i didn't ever get the hang of pascal 07:45:21 zol1: I think Pascal probably gives you quite a lot of freedom, once you learn to embrace its approach 07:45:44 ...but machine code gives you ultimate control, and works for control applications. 07:45:54 (especially with microcontrollers) 07:46:24 that;s what i've been usually busy with 07:47:41 Fun stuff. Come to think of it, years ago I worked with a 6811 board that ran Forth. I didn't get to do much with it though. 07:49:22 I should make the time to dig deeper into Forth 07:49:50 what's it what makes you interested in forth ? 07:50:14 I have a puritanical streak :-) 07:51:03 you hope to use it for anything useful ? 07:51:21 Ideally, yes. 07:51:41 forth would be a very good language if it would have cleaner "syntax" 07:51:47 especially for basic primitives 07:51:49 such loops 07:51:57 loops suck in forth 07:52:02 like, do{ .... } ? 07:52:41 also variables 07:52:53 how could it have a cleaner syntax than now? 07:52:53 * zol1 thinks forth's syntax is very simple: words and spaces 07:53:01 hello manuel_ 07:53:14 Simple is good. I like simple. 07:53:21 hi 07:53:22 zol1 yes, but 07:53:24 What is a good Forth to try on unix? 07:53:30 joy's way of doing things is better 07:54:05 lopta: for your puritanical streak, i'd check out eforth for linux 07:54:42 * lopta rummages in pkgsrc 07:55:27 I see gforth and pforth. I'll have to break out google for eforth. 07:55:39 lina may also be worth a look at 07:56:06 eforth is about 30 kb, lina around 50 07:57:16 I will look for eforth, but does anyone have any thoughts on pforth Vs gforth? 07:57:59 gforth is pretty full blown, possible more complexitiy in there than your puritanical streak wants to cope with 07:58:22 hi lopta, all 07:59:14 zol1: sounds FSFish 08:00:12 actually, it could be worse. executable is about 100 kb now 08:00:49 is gforth more inclined to work with external libraries? 08:00:49 * zol1 currently specializes in multi-platform forths 08:01:03 c libraries and such ? 08:01:35 yes, I was thinking of curses, termcap... 08:02:34 i *think* i can bind to those. lpforth can do that. and ficl, which is basically a forth interpreter which you can compile along with other source into your program 08:02:45 *thnik* it can ... 08:02:49 lopta, google for 'linux forth' and loads will come up, pfe is one I like, and BashForth. Also, if you have a browser, try JavaScriptForth 08:02:54 works right in your browser. 08:03:03 as long as you have a JS enabled browser. 08:04:25 mine /might/ have JavaScript 08:04:30 I'll google now 08:04:35 have a look here: http://www.forthfreak.net/wiki/index.cgi?ForthSystems 08:07:07 if you have any forth source you want included into jsforth (so they can be loaded/listed from forth screens), pass them along and i put them in (cannot store to external mass memory yet) 08:08:38 SeaForth: you could have provided a url :) 08:15:31 I think gforth can access external libs, but you have to be sure to compile that feature in 08:15:39 it's not included by default iirc 08:17:50 zol1, I figured you would do the honors :) 08:17:58 Its quite nice, that JSF 08:18:07 I couldn't find it. 08:18:08 impressive are the multiple standard support. 08:18:25 the 'it just works' attitude, and it is rather fast for a compiler written in java. 08:18:59 compiler or interpreter? 08:19:13 what's in java? 08:19:24 webforth is, i think 08:19:38 just looking for an alternative url, as the one on the wiki is dead 08:21:20 http://www.figuk.plus.com/webforth/En/Intro.htm 08:30:56 I don't have Java :-/ 08:32:55 http://www.forthfreak.net/wiki/index.cgi?ForthInJavaScript this is javascript only 08:37:03 zol1: thanks, I'm trying that now 08:37:06 lopta, top window to enter, not bottom 08:37:16 lopta: i know 08:37:30 i have the server log on a side screen 08:38:02 therefore i know you went for 80x25 08:40:13 lopta: what browser do you use ? 08:40:45 zol1: Mozilla Firefox on NetBSD/i386 08:40:51 zol1: seems to work fine. 08:40:58 (the Javascript Forth that is) 08:41:22 right. best supported browser at the moment 08:41:34 cause development is done with firefox 08:43:58 wow, blocks saved as cookies... 08:44:14 Herkamire: not yet. 08:44:18 only planned 08:44:56 I know. it's just a tantilizing idea 08:45:09 documentation for the editor would be nice 08:45:21 it is, look at retroforth editor 08:45:43 http://www.forthfreak.net/wiki/index.cgi?RetroEditor 08:45:51 the editor is on block 2 08:46:14 reuses some words from block 1 08:48:22 and i has been renamed to w, to not conflict with loop index 08:48:26 ok, now all we need is a link to that from http://www.forthfreak.net/wiki/index.cgi?ForthInJavaScript 08:48:44 go ahead :) 08:48:47 I'd name it o 08:48:51 or r 08:48:56 Overwrite or Replace 08:49:02 w like write, i thought 08:49:14 yeah, w is fine 08:49:30 it's not inserting 08:49:47 inserting is not destructive 08:50:23 what's the little box at the bottom called? 08:50:29 yowser that's big :) 08:50:35 status display 08:50:55 s( foo) status 08:51:13 or : : foo s" show me" status ; 08:51:52 youch. got a bug I think 08:52:01 i'm all ears 08:52:10 lemme see if I can reproduce it first 08:52:44 there's some debug output in some words, maybe you hit one of those 08:53:02 with <# # # # #> for example 08:53:06 yep. ok, here's what I did: 08:53:16 0 load 2 load v n n n v 08:53:22 0 w : foo 1 2 + . ; 08:54:04 it prints this many times: 08:54:05 === error: word not found === 08:54:05 08:54:20 followed by some non-printable characters 08:54:51 nulls probably 08:55:11 i have to admit i didn't do any testing of the editor yet 08:56:09 and loading from blocks has been added very recently only 08:57:08 whats SCREEN do? 08:57:15 yes. looks like it is inserting a "1" somewhere 08:57:32 is defined on block 1 08:57:54 scr @ block 09:00:55 also, w seems to insert in the middle of a line ... 09:02:03 right, there;s a bug in w 09:02:22 i fix it 09:03:38 ok, fixed 09:05:15 (note that the editor words don't UPDATE, to prevent your edits from being trashed upon next block load, you must UPDATE explicitely 09:05:53 once per modified block is enough 09:06:20 what's UPDATE do? 09:06:33 marks the block as dirty 09:06:59 so when the buffer would be reused, the contents are written to mass storage first 09:07:11 (which is just, arrays in javascript now) 09:07:14 right 09:07:30 marks the *buffer* as dirty 09:08:08 you can see the effectwith BUFSTATS 09:10:39 to copy a line from screen to status, you can pad dup readline status 09:13:43 ( a n line# -- ) writeline writes to terminal 09:13:57 that's the cheap "direct screen" interface now 09:15:37 mass storage is still beyond my current model of how forth works 09:16:01 blocks file system is very old and pretty simple 09:16:20 yeah 09:16:22 I like it 09:16:31 you basically address hard disk or floppy sectors 09:16:32 I wish I'd read about all this earlier 09:17:02 0 list 09:17:11 sry 09:18:05 usually two buffers, can be more, used in a round robin fashion 09:18:33 the word "block" transfers data, corresponding with block, into the next buffer 09:18:34 --- part: lopta left #forth 09:18:39 and returns its address 09:18:44 usually 1024 bytes 09:19:18 you modify data in the buffer, and UPDATE, to mark dirty 09:19:33 there's not so much more about it than that 09:20:46 if you need more blocks/screens, there is more-screens 09:21:18 1 list shows you the basic words for dealing with screens 09:21:52 capacity tells you how many screens/blocks you have 09:22:32 what happens if the text you type in a screen doesn't fit a block? 09:22:57 a screen can only contain that much data which fits on a screen 09:23:18 if you use a word to transfer data to it, it depends on the implementation of that word 09:23:19 so the screen is stored in a raw format? 09:23:25 flat 09:23:35 (not in case of jsforth) 09:23:37 what if the screen resolution changes? 09:23:40 usually, space padded 09:23:53 screen <> crt 09:24:01 ah 09:24:09 screen as in forth jargon, 16 lines x 64 chars 09:24:20 a screen is a block for/with text 09:24:56 retroforth uses 8 lines / screen 09:26:05 screen size = block size 09:40:54 gtg now 09:40:58 bye ppl 09:41:02 --- quit: bbls () 09:48:38 I like the dots after ok to indicate stack depth 09:49:04 now there's something to reuse in your own system. 09:49:36 simple but effective 09:50:21 though i think i haven't limited the number of dots yet 09:50:49 which can be annoying after running a word which puts loads of stuff on stack 09:51:58 : foo 1000 for i next ; 09:52:00 foo 09:52:03 .......... 09:52:43 a simple 16 min or so added to prompt, is the solution 10:00:14 zol1: ok, I think w needs to clear the rest of the line after what you've written 10:00:44 how would you overwrite a portion of the line ? 10:00:47 currently if you overwrite ": foo 1 22 + . ;" with ": foo 1 2 + . ;" you get ": foo 1 2 + . ;;" 10:01:00 you could blank the line before w 10:01:49 d does that 10:03:25 for editor suggestions, crc would be the person to address 10:03:49 it was his contribution 10:04:57 same as the editor, described in standard forth, which was converted from line editor to screen editor, this can be done with the retro editor as well 10:05:11 after all, key and key? do work in jsforth 10:05:56 screen editor is basically just a look, waiting for key, and executing the corresponding editor word 10:06:00 loop 10:06:24 that could go on screen 3 :) 10:07:40 only, i can not move the cursor up into the editing area 10:08:06 i would have to copy the line which is edited down to the end of the terminal 10:08:39 but updating both (the line at the end, and the line in the screen) synchronously would be no problem 10:09:16 i could place a character into the block, indicating which line is edited 10:10:14 also, i can't read control keys or cursor keys yet (though that should be possible from what i read about js) 10:10:31 just esc, return, backspace as far 10:10:35 and tab 10:11:58 the terminal emulation is, after all, only a text area in a form, there's no real cursor control 10:12:36 was tricky enough to have input and output in the same window 10:13:46 took me 3 attempts to get that right 10:15:03 this implementation feels so much terminalish that it is easy to forget that it is just a form 10:15:24 at least with the gecko browsers 10:16:12 i'm quite pleased with its speed now 10:16:58 first life signs of vocabularies 10:17:06 hidden and forth 10:19:56 new vocs can be created, but if you activate them, they are sealed now, i.e. you can't get out anymore 10:21:57 you can get out with "forth" now 10:23:36 yeah, I noticed KEY worked. very cool 10:23:41 there's no voc stack yet, i.e. only one single voc is searched 10:23:42 I was thinking about adding some interactive thing 10:23:57 KEY was relatively easy. KEY? was the tricky thing 10:24:27 javascript wasn't exactly meant for key polling ... 10:24:52 : foo 0 begin 1+ dup . key? until key drop ; 10:25:09 make it 2drop 10:26:05 if you make nice example code, pass it along to me so i can put it into a screen 10:26:17 ok 10:26:26 all I've done is hack it so it shows line numbers 10:26:33 (added "dup ." to .line) 10:26:35 i don't really take the time right now to hunt for examples 10:26:50 cause there's still a lot to do in the interpreter itself 10:27:44 why do you have the -trailing thing btw? 10:27:45 like, interpreting forth source from the invoking html file ... 10:28:01 to keep line from outputting trailing spaces 10:28:13 why bother? 10:28:16 speed 10:29:58 why's it faster? 10:30:16 cause it doesn't need to output dozens of invisible spaces 10:30:35 hundreds, even 10:30:52 yeah, but it has to loop through and do dozens/hundreds of conditionals 10:31:07 which are much quicker than outputting 10:31:36 yeah, I suppose 10:31:59 this alone doesn't give a big speed increase 10:32:08 but the sum makes it 10:32:26 what are your machine specs ? 10:32:43 I'm used to working under linux, where terminal emulation is done for me in a different program 10:32:52 dual 450MHz G4s 10:33:03 256MB RAM 10:33:14 how does jsforth feel like in terms of speed with that machine ? 10:33:34 everything's instant except "0 load" 10:34:00 (it is an interpreted language, written in an interpreted language, written in a compiled language ...) 10:34:01 which takes less than 2 secconds 10:34:54 you can try out SLOW 10:35:08 that switches back output speed to normal 10:35:35 hehe 10:35:38 FAST undoes that 10:36:35 I guessed :) 10:36:39 what's that for? 10:36:47 --- quit: onetom ("Lost terminal") 10:36:49 what it does ? 10:37:32 it flushes output buffer to screen less often 10:37:39 notably, not after CR 10:37:53 ahh :) 10:39:49 therfore, a : foo 10000 0 do cr i . loop ; only shows you the last 25 lines (if you are on 25x80 emu) 10:40:18 giving you the feeling that lines 0...9975 went past you in a flash 10:40:26 right 10:40:34 I thought you had put in a spin loop or something 10:41:12 v takes about 1.5 secconds on block 0 with SLOW on 10:41:18 like, in "slowing down" ? 10:41:51 hello there guys. 10:41:57 can't afford to slow done this thing, it would be slow enough already :) 10:42:06 hi SeaForth 10:42:11 yeah 10:42:15 tough stuff 10:42:24 I don't have to worry about that under linux 10:42:27 got a question and thought/challenge to all the forth community here when people are sitting idle. 10:42:34 I don't buffer output of user words 10:42:40 i have to 10:42:52 it would be unbearably slow without 10:43:06 I buffered my editor display 10:43:43 It makes a difference in some cases I think 10:43:47 my first implementation wrote to form unbuffered 10:44:03 then mrreach suggested to buffer the output 10:44:23 i didn't because i didn't expect it to increase speed then 10:44:26 but it did a lot 10:44:48 mostly my buffering is nice when exporting to ascii. 300,000 write() syscalls take a while 10:44:51 so first i only buffered the output of WORDS 10:45:10 and when that showed a huge improvement, i rewrote the terminal emulation 10:45:30 :) 10:46:22 SeaForth: your challenge is to guess what your challenge would be ? 10:52:06 The challenge is not simple, but very exciting to consider for the forth community, and individuals at large 10:53:14 Make a PBX out of a chump change PII-300 Mhz grade machine, complete OS in forth, with TDM's all working specifically with the network that is becoming Bellster, or even simpler the Asterisk project. 10:53:51 It seems to me to be a perfect place for high speed, very specific solution, low overhead solution, and Forth comes to mind immediately. 11:09:56 --- join: onetom (~tom@mail.ritek.hu) joined #forth 11:55:16 --- join: Topaz (~top@sown-87.ecs.soton.ac.uk) joined #forth 12:19:26 what's pbx? 12:19:35 private branch exchange? 12:19:39 :D 12:19:42 riiiight 12:19:46 dict told me that 12:19:50 what is it? 12:20:41 small-telephone-exchange used inside offices for supporting multiple internal extensions and phone lines 12:23:24 ahh 12:24:41 I wish I could play with voip 12:25:01 but alas, it seems my sound card drivers are inadiquite 12:25:14 perhaps if I upgraded my kernel to 2.6.x 12:33:47 SeaForth: that's quite a project :) 12:55:48 --- quit: onetom ("leaving") 13:10:39 Herkamire, but wouldn't it be a cool one? 13:11:21 I believe that Asterisk works only with 2.6 now. 13:11:52 The more I read, the more I'm convinced a small PBX would be a perfect job for specialized solution in forth. 13:17:36 why? 13:20:09 seems like an application where it really helps to have support of all kinds of protocols and codecs and devices 13:22:46 and doesn't seem that much fun to develop 13:25:03 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 13:25:28 hi wis 13:25:30 er 13:25:39 hi wossname 13:26:29 yo arke ~ 14:49:07 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 15:10:05 Hi all 15:54:34 --- quit: Topaz (Read error: 113 (No route to host)) 16:12:04 --- join: Sonarman (~snofs@adsl-64-160-166-130.dsl.snfc21.pacbell.net) joined #forth 16:30:49 Sonarman: teh teh teh 16:31:55 zorp 16:32:38 zorp? 16:32:54 ghpraz 16:33:22 fight nonsense with nonsense 16:34:26 *beep* 16:34:27 *beep* 16:34:28 *beep* 16:34:29 *beep* 16:34:30 *beep* 16:34:33 *beep* 16:34:35 *beep* 16:34:38 *beep* 16:34:40 *beep* 16:34:41 ^C 16:34:43 *beep* 16:34:45 *beep* 16:34:46 ^C^C^C 16:34:48 *beep* 16:34:50 ^D 16:34:50 *beep* 16:34:53 *beep* 16:34:55 *beep* 16:34:58 Process Terminated. 16:35:03 about time 16:35:03 $ 16:35:08 heh 16:35:16 heh: command not found 16:35:17 $ 16:35:22 you're not logged in right now 16:35:35 i know :) 16:35:58 might be later 16:36:06 bug-huntin' 16:36:18 cool 16:36:36 have to leave to work soon 16:36:53 ok 16:37:02 ssh to the rf8 box from work ;) 16:37:15 if I have time :) 16:37:22 I'll definetely be talkin' though 16:37:30 I'll probably be busy creating quotes though :( 16:37:42 hiya 16:37:49 hi zol1 16:38:35 hi speul;er 16:38:42 i actually got the whole vocabulary word set running, building upon the stdards-switch :) 16:39:09 same word selection mechanism 16:39:20 now each voc a sort of an own standard *g* 16:39:43 ahh, cool 16:39:58 :) 16:40:01 crazy :) 16:40:20 is a bit inefficient this way, but optimizing can still be done (later...) 16:42:28 a bit more than 25 vocs should really be sufficient (because i'm limited to that amount) 16:43:52 be back in 20 17:09:49 back 17:28:52 --- join: samc (~sam@203-114-131-32.inspire.net.nz) joined #forth 17:44:12 --- join: crc2 (~crc@pool-70-20-194-120.phil.east.verizon.net) joined #forth 17:46:28 --- quit: crc2 (Client Quit) 17:47:27 --- join: crc__ (~crc@pool-70-20-194-120.phil.east.verizon.net) joined #forth 17:48:16 --- nick: Raystm2 -> spike_anarchy 17:48:28 --- quit: crc ("Leaving") 17:48:34 --- nick: crc__ -> crc 17:51:49 how would you like to enter 123.4567 as floats, and 123. as doubles ? 17:52:15 * arke doesnt do FP amth :) 17:52:53 123 4567 >float 17:52:55 f. 17:52:58 123.4567 17:53:14 That's how it'll work whenever I decide to add floats to rf 17:53:14 you are a difficult bunch ... one doesn't like loops, another no dots in number ... 17:53:45 zol1: dots in number would require major changes to rf 17:54:09 wouldn't it just be >number to modify ? 17:54:16 No 17:54:20 If I enter 1.0 17:54:33 should that be an int, a float, or a double? 17:54:40 a float 17:54:43 Why? 17:54:51 cause the dot sits in the middle 17:54:55 1.0 *is* an integer value 17:55:03 should it be a double, it would be 1. 17:55:13 So >number would have to know what format a number is in, and push that to the appropriate stack 17:55:17 or 1 for integer 17:55:22 single len 17:55:46 f# 1.0 17:55:50 d# 1 17:55:55 I'd rather do that 17:55:55 come on, it can't be THAT difficult to check whether a dot is at the end ? 17:56:16 zol1: I'd have to also implement stack support for floats and doubles 17:56:17 not difficult enough to call it "major changes to rf" 17:56:22 and words to deal with them 17:56:25 yes it is 17:56:30 zol1: its nicer to do it crcs way though, that way theres no ambiguity 17:56:37 if you disagree, feel free to make rf handle it your way 17:57:11 i'm scared now 17:57:20 because it seems to require major changes :P 17:57:26 heh 17:57:40 rf was never intended to support floats or doubles 17:57:49 I'd have to code entire sets of words to deal with them 17:58:01 f+ d+ f- d- f* d* f. d. and so on 17:58:08 yes, that can be bothersome 17:58:15 much more so than inout conversion 17:58:18 f>r d>r r>f d>f 17:58:21 yup 17:58:30 that's where the major changes come into play 17:58:43 * zol1 hates implementation of arithmetic 17:58:52 I could check for a trailing decimal and make a double... but what good does it do you? 17:59:05 a) doubles can't exist cleanly on the integer data stack 17:59:06 me ? 17:59:12 that i got a double ... 17:59:23 But you couldn't *use* it 17:59:32 same as loops ? 17:59:37 I have loops 18:00:01 double arithmetic is not too difficult 18:00:08 some are 18:00:33 repeat/again (unconditional) repeat/until (counted; count on TOS) for/next (in 8.0, count on return stack) 18:00:33 some aren't 18:00:33 I'd rather code it as an option for those who need it 18:00:45 And that would be easier to do with the words I've mentioned 18:00:52 * zol1 is struggling with um/mod 18:01:19 you'd do "load lib/doubles e" to load and evaluate the double words 18:01:27 I don't have unsigned math in the core 18:01:31 would it be that easy 18:01:41 means, must first be written ... 18:01:46 Yup 18:03:04 in one implementation, i added "these kinds of strings" 18:03:19 added on user level 18:03:19 Though once written, it could then be included as needed, not all the time :) 18:03:23 Yup 18:03:28 those i liked 18:03:52 My string code is user level 18:04:11 used an "undefined" hook in the interpreter, which tried to make sense of non-word non-numbers 18:04:15 variable st0 18:04:15 : " '" parse >pad ; 18:04:15 : ." " type ; 18:04:15 : $, st0 @ 2dup m: literal m: literal 2dup + st0 ! swap cmove ; 18:04:15 : (zt) over + 0 swap c! ; 18:04:18 macro 18:04:20 : s" " $, ; 18:04:22 : ." m: s" ['] type compile ; 18:04:25 forth 18:04:28 here st0 ! 4096 allot 18:04:31 That's my string code 18:11:00 --- join: TheBlueWizard (TheBlueWiz@63.250.24.40) joined #forth 18:12:22 * crc begins the linux-specific part of the rf code library 18:13:35 * crc also revived retrobot in #retro; it'll come here tomorrow 19:11:50 --- quit: samc () 19:13:14 goodnight 19:13:36 --- mode: ChanServ set +o crc 19:57:47 --- quit: Sonarman (Read error: 60 (Operation timed out)) 20:26:02 --- part: TheBlueWizard left #forth 20:54:37 --- join: Sonarman (~snofs@adsl-64-169-95-96.dsl.snfc21.pacbell.net) joined #forth 21:48:18 --- quit: Sonarman ("leaving") 21:54:22 --- quit: cmeme ("Client terminated by server") 21:55:07 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 22:38:17 --- quit: Herkamire ("off to bed") 22:52:10 --- quit: zol1 (Read error: 110 (Connection timed out)) 23:00:10 --- join: bbls (~bbls@80.97.121.133) joined #forth 23:00:21 hello 23:59:59 --- log: ended forth/05.02.02