00:00:00 --- log: started forth/02.05.02 00:40:23 --- join: davidw (~davidw@ppp-104-18.25-151.libero.it) joined #forth 02:25:27 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 02:45:15 --- join: Soap` (flop@210-55-151-178.dialup.xtra.co.nz) joined #forth 03:02:54 --- join: Fare (fare@80.65.225.191) joined #forth 03:48:33 --- join: GilbertBSD (~gilbert@max1-23.dacor.net) joined #forth 03:57:05 Hello 04:18:27 --- quit: GilbertBSD ("xchat exiting..") 04:41:19 --- quit: onetom ("ircII EPIC4pre2.508 -- Accept no limitations") 04:41:26 --- join: onetom (tom@adsl52205.vnet.hu) joined #forth 04:43:26 Hi Támas ;D 04:44:28 oh, how nice 2 b welcomed by me native name 04:44:53 Beleive it or not - some people call me Robert instead of rob_ert :) 04:45:00 native name? 04:45:30 Real name, I suppose... 04:47:08 no 04:47:18 No? 04:47:32 Your real nickname then? 04:47:36 imeant, the hungarian form instead of the eng counterpart 04:48:00 * onetom is a native hungarian 04:48:13 You mean, you're happy that I didn't say "Hello, Thomas"? ;) 04:48:14 so Tamás is its native name in this form 04:48:36 Well.. Támas and Tamás... I was close! 04:48:43 rob_ert: roughly, yes :) 04:49:02 oops :) 04:49:09 just noticed the typo :) 04:52:32 Hehe ;) 04:53:27 onetom: is the native form encoded in iso-latin-1 ? 04:54:09 latin2 04:54:50 rob_ert: however, i also like the portugese form: Tuomas (they say like that :) sounds funny 04:55:21 Hehe 04:55:25 "Tomas" here 04:55:37 --- join: Speuler (~l@a161161.upc-a.chello.nl) joined #forth 04:56:41 Hi :) 05:08:24 'morning 05:12:11 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 05:12:11 Type sif: (or /msg sif to play in private) 05:13:44 sif: SEE SEE 05:13:46 Fare: Word not found: SEE 05:13:52 sif: see see 05:13:53 Fare: Word not found: see 05:14:21 sif: 1 1 + . 05:14:22 Fare: 2 05:14:43 sif: ." hello" CR ." world" 05:14:45 Fare: Word not found: CR 05:15:45 sif: ." hello" 05:15:46 Fare: 05:15:52 ." doesn't work 05:19:30 --- quit: rob_ert (Remote closed the connection) 05:19:37 --- join: rob__ert (~robert@h237n2fls31o965.telia.com) joined #forth 05:20:33 --- nick: rob__ert -> rob_ert 05:20:45 --- quit: rob_ert (Killed (NickServ (Ghost: rob_ert!~robert@h237n2fls31o965.telia.com))) 05:21:04 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 05:24:14 sif: : x ." hello" ; x 05:24:15 onetom: hello 05:24:34 Fare: ." is compile only i think 05:25:33 ok 05:25:53 sif: : x recurse ; x 05:25:55 Fare: 05:27:14 wasn't it meant to hang or die? 05:27:25 Fare: it meant, "fuck off" :) 05:28:05 Fare: there is an automatic kill after 1 sec in the sif script 05:28:14 sif: :noname dup execute ; dup execute 05:28:15 Fare: Word not found: :noname 05:28:34 what language is sif written in? 05:29:19 :) hey, its not a fullfledged forth yet. its not gforth! 05:29:52 system" rm -rf /" 05:30:28 Fare: :) the S in sif means Safe 05:30:34 oh 05:32:28 melle 05:32:31 gforth: system 05:32:35 onetom: SYSTEM is disabled for safety reasons 05:34:43 onetom: wait 'til someone builds nasty code with , and then execute's it 05:34:54 hey, that's an idea 05:36:26 embed a call to spawn a telnetd on some port, execute it, and here's a backdoor! 05:36:57 a low-level language is intrinsically unsafe 05:37:22 the only thing you can do to protect it is to run it in a jail() or chroot() with reduced capabilities 05:45:58 Fare: grrrr :) 05:46:19 onetom: do you have a firewall? 05:46:29 no :D 05:46:36 dont have 05:46:58 hum. if I were a bored cracker, I'd hack your machine 05:47:35 happily, I'm only a bored meta-cracker, so I'll just explain how to hack your machine. 06:03:25 Fare: thank u :) 06:03:58 that said, if I were you, I'd reach for chroot, etc. 06:04:22 (or user-mode linux) 06:20:03 Fare: i dont know how 2 make chroot env (what libs, /etc files does it require) 06:20:32 but anyway, if i would use an indirect threaded forth 06:20:50 u wont b able 2 crack in through it 06:25:20 --- join: herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:28:20 --- join: NoamTuring (trilluser@ip1-239.vancbccqac02.dialup.ca.telus.com) joined #forth 06:28:27 --- part: NoamTuring left #forth 06:35:13 one: ldd gforth tells you what binaries are needed 06:35:43 AND, drop your root privileges after you chroot 06:36:21 no /etc files except those needed by your program 06:37:40 indirect threaded forth is just as subject to hacking if you can execute ,'ed definitions 06:38:57 to avoid hacking, you would have to do severe bounds checking so as to prevent user code from ever modifying system data or from jumping into non-certified code. 06:39:09 that's definitely doable 06:39:24 but requires a lot of special care everywhere 06:41:25 --- join: tathi (~tathi@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:41:39 Hello 06:42:06 sif: : x recurse ; x 06:42:07 Fare: 06:43:40 hi 06:44:41 Fare: eh, u r right again. indirect threading alone wont avoid crackin 06:44:46 sif cuts stuff off after one second, I think 06:45:26 still trying to make gforth safe for use as a bot onetom? 06:45:30 Fare: i thought about a forth w no visible primitives in its dict 06:46:01 tathi: no, i will replace it some time 06:46:42 tathi: but until that date lets figure out all the possible vulnerabilities of a 4th bot 06:47:07 tathi: its an interesting study, ithink 06:48:08 and id like u all that try not 2 make any harm to my machine 06:48:26 I'd think you just don't let it do anything except write to stdout, and you have a forth that checks all its memory accesses and stuff 06:48:41 and then you'd be pretty safe 06:49:45 tathi: and what about that , problem what was mentioned some mins b4 by fare? 06:50:13 [02:34] onetom: wait 'til someone builds nasty code with , and then execute's it 06:51:55 hmm, I don't know the terminology I'm looking for... 06:52:05 ? 06:52:06 I'm talking about a forth that the code is a series of addresses to go to 06:52:15 yup 06:52:35 and the first few addresses, or negative addresses, or something, mean to use the number as an index into an array of function pointers to call 06:52:39 thats why i was mentioning that an indirect threaded forth would b safe 06:52:40 for the primitive words 06:52:50 , ! @ etc 06:53:00 but its not the only requirement 4 bing safe 06:53:10 and all of those words check whether the memory accesses are in bounds 06:53:32 thats right 06:53:38 the forth has _no_ capability to execute any actual code other than those functions 06:54:02 and thus no capability to do anything other than access the block of memory that it's allowed to get at 06:54:20 it has to be limited in execution time 06:54:55 tathi: ok 06:54:58 and then I don't see how you can possibly do anything nasty other than make a huge amount of output or write an infinite loop 06:55:07 but then you must also check every ! and every bit of code that uses ! 06:55:21 (or @) 06:55:42 you effectively execute on top of a bounds-checking virtual machine 06:58:40 Fare: or let the OS check them 4 u (somehow)... 06:59:35 yeah, exactly 07:00:18 the bytecode for ! and @ isn't a function pointer, it's just a number that the VM knows means to call whatever function 07:00:54 and then each of the VM's "opcodes" does checking before it makes any memory accesses or whatever 07:00:57 onetom: since your interpreter has its own variables, you cant 07:01:33 what's the use of a low-level language, if it actually runs over a VM??? 07:03:22 Fare: On PPC, generally with virtual memory things are far enough apart that when you're calling a system function, you have to load the address of the function into a register and then call that 07:03:52 so running a VM like this is actually very little slower than running a direct threaded forth 07:04:11 (except for the checking, of course) 07:04:35 but if you want something that's completely safe, you're going to have to pay some kind of a performance penalty anyway 07:04:49 tathi: but you don't call the system at every instruction 07:05:16 tathi: some languages achieve safety statically at compile-time 07:05:27 of course, not low-level languages 07:06:30 you can't achieve safety statically at compile time, someone can write code that the only way to find out if it is going to do something that it shouldn't is to actually _run_ the code 07:06:50 Determining exactly what an arbitrary piece of code is going to do isn't computable 07:07:38 maybe I'm mixed up about what direct threaded forth means... 07:07:54 determining that it won't do anything nasty is easy 07:08:29 particularly if you respect scoping rules 07:09:04 (if you want to include dynamic operations, you can have them with just as little checking as necessary) 07:09:06 oh right, I keep forgetting about OO stuff 07:09:13 I'm used to languages that have pointers 07:10:10 I was more thinking about FPLs 07:12:15 fuzzy? 07:12:30 functional? 07:12:58 Haskell, that kind of thing? 07:15:52 I've really only done procedural programming languages...haven't really thought about languages that can be made "safe" 07:20:19 And I would argue that you can do high-level stuff with forth -- except that I never have. 07:20:43 So I won't be like futhin and go around shooting my mouth off about things I don't really know about :) 07:21:16 erlang is interesting 07:22:21 yeah 07:22:28 poplog too 07:22:35 never seen it 07:57:47 --- quit: herkamire ("Client Exiting") 07:59:36 --- join: herkamire (~jasonwoof@wsip68-15-54-54.ri.ri.cox.net) joined #forth 08:00:33 chipchuck said he would come at 2pm Pacific DAYLIGHT time which is GMT -7 08:02:49 greenwich is in england, and england is on daylight savings time at the moment 08:03:44 so england is GMT +1 now? 08:03:51 yeah 08:03:56 or something like that 08:07:23 great. PDT is GMT -7. I just looked it up: http://weather.unisys.com/info/time.html 08:07:46 * rob_ert loves this argue about what time the Great Master is going to show up. 08:07:56 somebody change the subject. it's wrong 08:08:45 Anyone got ops? :) 08:08:48 --- quit: Speuler (Read error: 113 (No route to host)) 08:11:40 rob_ert: hey? whats that topic? 08:11:50 "Online Interview: Chuck Moore is coming here on Saturday, 2pm Pacific time (GMT -8), 10 pm GMT" 08:11:54 They say it's wrong 08:11:55 rob_ert: is that a joke? 08:12:09 The Great Master comes another time... 08:12:11 What? 08:12:27 ??? 08:12:45 Chuck More is coming, yes... but exactly when is unclear 08:12:53 has he replyed 2 some1? 08:13:04 What do you mean? 08:13:34 has he answered 2 some of our emails? 08:15:03 Yeah 08:15:07 He was here yesterday 08:15:12 * rob_ert talked to him :) 08:15:35 gosh, what have i missed :) 08:15:58 ;) 08:16:00 1 32 lshift . 1 08:16:03 twas national celeb yesterday 08:16:04 Yay 08:16:12 Oh, OK 08:16:24 Make sure to be here at saturday! 08:16:28 twas the celeb of the work (or what) 08:16:33 It's like midnight our time ;) 08:16:37 wont miss it :) 08:16:45 Anyway, who wants to miss CM? :) 08:16:54 8D 08:17:26 Nobody outside #forth has even heard of him :-/ 08:19:02 I guess nobody else wants your god :-) 08:19:59 :)) yeah 08:20:55 hmm 08:21:04 How do I make gforth forget a word? 08:21:43 MARKER 08:22:45 thanks .-) 08:23:10 gforth: : x ." XXX" ; marker forget-all-prev : x ." x" ; x forget-all-prev x 08:23:14 onetom: redefined x xXXX 08:23:50 oh, so you can forget-all-prev too? 08:24:53 rob_ert: see marker 08:26:41 gforth: see marker 08:26:45 onetom: GForth 0.5.0, Copyright (C) 1995-2000 Free Software Foundation, Inc. 08:26:46 onetom: GForth comes with ABSOLUTELY NO WARRANTY; for details type `license' 08:26:46 onetom: Type `bye' to exit 08:26:46 onetom: ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 08:26:48 onetom: Terminated. 08:26:48 lol 08:26:50 onetom:  08:26:58 --- join: I440r (~mark4@1Cust133.tnt3.bloomington.in.da.uu.net) joined #forth 08:27:01 Hey 08:27:06 ez nemide 08:27:07 iiiihh, yaaaayyy 08:27:28 hi :) 08:27:37 my dad just got up 08:27:42 erm got ME up 08:27:53 and the coffe he has made is about 40 times too strong 08:27:54 grrr 08:28:16 Caffeine OD, yay 08:28:20 lol 08:28:27 no such thing 08:28:33 but this is rotting the taste buds 08:29:17 :D 08:30:13 --- join: futhin (thin@h24-64-174-2.cg.shawcable.net) joined #forth 08:30:21 hey, guys 08:30:27 i440r: you there? 08:30:30 hi onetom 08:30:41 where can i find authentic info on 08:30:41 you've been quiet lately 08:31:05 haven't talked to you much on irc the last few days.. 08:31:11 the topic "where does forth been alreafy applied?" 08:31:22 Hmm... how do I put a charachter on the stack in a compiled word? 08:31:27 i need some very convincing references 08:31:38 rob_ert: in what forth? 08:31:48 futhin: He's here 08:31:48 and the coffe he has made is about 40 times too strong 08:31:48 grrr 08:31:56 onetom: still gforth :) 08:32:00 Any standard way? 08:32:00 "where has forth already been applied?" http://forth.gsfc.nasa.gov/ & http://www.forthcad.com 08:32:02 gforth: : aCharOnStack [char] A ; aCharOnStack . 08:32:07 onetom: 65 08:32:15 thanks 1tom 08:32:19 i440r: your posting to CLF about chuck moore sucks heh 08:32:32 rob_ert: and the fig standard uses : x ascii A ; 08:32:42 Okay 08:32:47 i440r: what kind of subject header is "chuck moore" it's not catchy at all. you should've made it "Online interview with chuck moore!" 08:33:07 futhin: thanks man 08:33:14 "Meet Chuch More live! Free XXX comes with!" 08:33:31 onetom: there are more.. but those two are pretty good.. especially forthcad.com :) 08:33:53 Hmm 08:33:59 Is there really any archive with forth code? 08:34:08 I've only found some math code 08:35:01 no not really, the forth sites out there suck horribly 08:35:14 i have some sort of plan to start an archive of forth code 08:35:22 i'll rip _all_ the fucking code from anywhere 08:35:28 i'll steal the code that comes with gforth 08:35:30 and bigforth 08:35:38 and all the forths 08:35:43 all the forths usually come with some example code 08:35:48 so i'll rip all that bullshit 08:35:55 and put it together in one place 08:36:14 and if anyone complains 08:36:15 i'll kill them 08:36:26 <-- has no patience anymore :) 08:37:18 onetom: i can't think of any more applications forth has been used for.. but i'll look for a bit 08:37:48 Cool 08:38:11 futhin: Fuck copyright and do something good for us! That's the spirit, man. 08:38:14 onetom: forth has been used for computer graphics at hollywood in the old days 08:38:25 onetom: also check out http://www.stejskal.de/web/computer/forth/_application.html 08:38:52 this is a good place too: http://www.forth.com/Content/Stories/Stories.htm 08:39:45 hm 08:39:47 i'm thinking 08:39:49 right now 08:39:52 that engineers are the key 08:40:09 for increasing the acceptance of forth.. 08:40:24 if we can convince the engineers, get them all to know about it.. 08:40:46 you can do that by doing work with it 08:40:48 kill a few people along the way.. "bad publicity is good publicity" :P 08:40:59 davidw: yes 08:40:59 people won't be convinced by some kid with no job. 08:41:08 (sorry if that's kind of harsh, but...) 08:41:12 oh yeah 08:41:21 you are an asshole :P 08:41:44 futhin: k, good links... 08:41:48 i posted to comp.lang.forth 08:41:52 how long is it supposed to take? 08:41:54 actually there are plenty of kids with no job who have done cool stuff 08:41:56 for the message to appear? 08:41:58 but they did stuff, then talked about it 08:42:02 talk is cheap 08:42:19 futhin: you are James? 08:42:22 yes 08:42:27 it's already there 08:42:30 ok 08:42:41 the subject is "Online interview with chuck moore!" right? 08:42:50 yep 08:43:23 there are many smart people who do stuff, but forget to talk about it, and it ends up going nowhere :) 08:43:27 such as forth 08:43:34 forth kind of ended up going no where 08:43:45 because nobody really knew shit about marketing 08:43:51 as far as i can tell 08:44:29 futhin: if sg is damngood, it doesnt really need marketing, ithink... 08:44:58 not true 08:45:03 i don't think anyways 08:45:11 i think there have been good things 08:45:12 futhin: programming tools, just like math theories, should b the subject of hype... 08:45:20 they r not that type of thing 08:45:20 but just failed because of support and advertising 08:45:20 s 08:45:44 they were not good enough then :) 08:46:07 davidw: if there was heavy advertising for something like.. forth. and people started using it.. i would bet that the _support_ for forth would increase dramatically, because more people would be using it, and would know that others know about it 08:46:29 forth needs support 08:46:34 and it needs to be extended 08:46:39 those are the main things 08:46:46 as far as i'm concerned, forth is a great language 08:46:59 and that anybody who thinks it is low-level is talking bullshit 08:47:07 if it is extended, it isn't low-level 08:47:21 people should encounter forth on a similar level as i encountered MUF 08:47:34 MUF is very easy, very nice scripting language.. 08:47:41 futhin futhin .... forth is not omnipotent @ its current status... 08:47:42 high-level 08:47:49 onetom: i know 08:47:53 i'm not saying it is 08:48:01 @ its current status 08:48:09 so y should w advertise it now? 08:48:18 we won't 08:48:34 first we'll increase support & extend it 08:48:36 just comeon & lets create things in it 08:48:40 yes 08:48:46 i'm just saying that talk isn't bad 08:48:50 talk is kinda lousy 08:48:52 and we will c how usefull is it indeed 08:49:00 but if i establish good habits 08:49:02 and code regularly 08:49:06 talk will be usefull 08:49:09 down the road 08:51:41 i am reading the "Forth Productivity Performance Metrics" thread on comp.lang.forth 08:51:44 it is exciting :) 08:55:13 all: we should start gathering questions, shouldnt we? 08:55:33 futhin im going to make isforth a linux accepted language 08:55:55 one REALY clueful guy i #debian who is very high up on the debian maintainers pecking order 08:56:06 (he also knows a little forth) 08:56:21 just did a double take when he saw isforth could do script interpreting 08:56:30 #! /bin/forth - fload 08:56:34 script goes here 08:57:42 its not quite ready to take the place of bash scripts yet - i have to add the ability to execute shell commands from inside forth 08:58:13 but isforth could take over from bash as the main scripting language EASILLY 08:58:20 imagine all the init scripts written in forth ? 08:58:28 you could COMPILE the init scripts! 08:59:40 heh :) 08:59:54 qless is also a debian maintainer or soon will be 09:00:02 package maintainer that is 09:00:11 onetom: sure, got any questions? 09:00:59 --- topic: set to 'Online Interview: Chuck Moore is coming here on Saturday, 2pm Pacific time (GMT -8), 10 pm GMT / We are collecting questions for the interview, message futhin or onetom with them' by ChanServ 09:01:22 --- topic: set to 'Online Interview: Chuck Moore is coming here on Saturday, 2pm Pacific time (GMT -8), 10 pm GMT / We are collecting questions for the interview, message them to futhin or onetom' by ChanServ 09:01:52 yea onetom, i'm magically making you responsible ;) 09:01:56 hehe 09:02:01 better english :) 09:03:34 man this is such a DOWNER - lol 09:03:46 its making my code release a complete NON event :P 09:03:54 heh 09:05:40 lol 09:05:44 yeah well 09:05:47 when you have sockets 09:05:51 i'll be celebrating 09:06:02 and i'll make lots of noise 09:06:06 deal? :) 09:06:30 :) 09:06:43 i took a look at it last nite - i still cant figure why its b0rked 09:07:03 i think it might be im not compiling sockaddr_in structures 09:07:08 but they look good to me so... 09:08:03 i've been waiting for the sockets mostly 09:08:23 i haven't actually installed isforth (well i installed it yesterday).. and i haven't really touched it.. 09:08:30 Hmm... can anyone recommend any good real-life forth books? 09:08:42 rob_ert: real-life how so? 09:08:45 (Or some really good online tutorial that covers also more advanced forth) 09:08:51 I mean, paper book 09:08:54 Not electronic 09:08:59 rob_ert: the big one is Starting Forth 09:09:12 although there is the forth programmer's handbook 09:09:13 Does it cover more advanced things, too? 09:09:17 i haven't actually looked at it yet 09:09:23 rob thas something i want to do with isforth 09:09:31 Starting Forth covers almost everything, gives you enough to get started 09:09:32 What, I440r? 09:09:33 is doccument it FULLY 09:09:36 Oh 09:09:37 Cool 09:09:45 Also write docs about the internals 09:09:50 and write an extensive help system and forth glossery 09:09:56 yes 09:09:59 i'm interested in that 09:10:11 and we can put it online 09:10:13 also wnat it built into forth so futhin is happy 09:10:19 :) 09:10:24 very important to me :) 09:10:26 It's hard to find any tutorials that really explain how a forth works 09:10:28 i want it online AND in forth 09:10:32 type "help" inside forth 09:10:38 yes 09:10:43 and SEE someword 09:10:44 A magic program that does what you say isn't really _understanding_ forth... 09:10:47 and voila, no bullshit!! 09:11:00 and no opening a stupid editor 09:11:15 display the help right there, inside the forth, no opening anything 09:11:53 rob_ert: you want to understand the internals of forth ? 09:11:58 Yes! 09:13:03 ..continue, please :) 09:13:31 rob_ert: Brad Rodriguez has written some good stuff on it online 09:13:32 http://www.zetetics.com/bj/papers/moving1.htm 09:13:49 do a google search for "brad rodriguez forth" and you might get some good links 09:13:50 Hmm... think I've seen that one 09:13:52 gotta check 09:13:57 OK 09:14:01 also do a google search for "build your own forth" 09:14:07 there's two different sites 09:14:07 OK, thanks gu 09:14:09 futhin* 09:14:10 the fig uk site 09:14:14 and there's another byof site 09:14:33 they cover the forth internals.. 09:15:27 :) 09:18:51 futhin: moving forth is a beautyful paper :) i learnt the most from that 2yrs b4 09:20:06 :) 09:20:40 rob_ert: http://www.figuk.plus.com/build/heart.htm 09:20:45 futhin: :))) not any questions yet 09:21:21 thanks 09:21:53 onetom: ? 09:22:18 [06:01] yea onetom, i'm magically making you responsible ;) 09:22:41 [05:59] onetom: sure, got any questions? 09:23:18 futhin: Oh... that was the page I was looking at, but at fig UK's page... 09:23:59 onetom: heheh :) 09:24:25 futhin: i know so lil about forth yet... :( 09:24:40 futhin: i dont know what should we ask... 09:25:19 i440r: have you read the "Forth Productivity Performance Metrics" thread on comp.lang.forth? 09:25:24 probably we should learn all the stuff avail @ ultratech.com 09:25:38 read most of comp.lang.forth, eg :) 09:26:50 i440r: looks like people want to start an experiment where programmers for each programming language are given a problem, and must solve it.. and the length of time they take, the speed of the program, etc.. are measured 09:26:57 there r also lotsa videos on UT.com 09:27:15 i440r: if you quickly make isforth able to handle ANSI maybe isforth will be used for the experiment! :P 09:29:43 onetom: have you watched all the videos? :) 09:29:56 onetom: you don't need to know a lot of forth to have questions 09:30:02 you don't need clever questions 09:30:07 just basic, solid questions 09:31:14 futhin: just 1 yet. from wil baden 09:31:25 like "Now that you've come up with colorforth and experimented with new ways to code forth, have you discovered any useful things that can be applied to machineForth for a better machineForth?" 09:31:53 uc, i dont even know machine forth :( 09:32:03 i dont!! 09:32:07 i came up with that question 09:32:11 it's not hard 09:32:21 you don't need to know much about forth 09:32:32 to come up with good questions 09:32:45 onetom: what's your question from wil baden? 09:33:25 pardon? 09:33:37 futhin: just 1 yet. from wil baden 09:33:38 but, now i hafta go 09:33:45 bback in ~2hrs 09:33:53 will ya b here? 09:33:57 onetom: it's not hard to come up with some good questions, i know nothing about machineforth :) 09:34:01 no.. 09:34:03 i have to do some work 09:34:06 in 2 hours 09:34:13 1.5 hours 09:35:34 status: number of questions for chuck moore currently at 5 09:35:56 we should create a lil wiki 4 the questions :) 09:40:12 heh 09:40:26 i am hoping that i won't need too many questions 09:40:34 i'm hoping that on saturday 09:40:45 the conversation will start 09:40:48 with a few good questions 09:40:52 and then people will ask more questions 09:40:55 to get more information 09:41:13 a natural information flow.. 09:41:31 i'm hoping questions will appear in the moment, as they are oft to do :) 09:41:50 "as they are oft to do" = "as they do often" 09:42:54 I440r: I'd be excited about your new isforth release regardless of Chuck, except I don't have a machine to run it on :) 09:43:04 (except at work, of course :P) 09:44:40 well you should have thought about this when you bought your g4! :P 09:45:01 ;P 09:46:32 Not a lot of people are going to invent Forth and work exlusively 09:46:32 with it for thirty years and counting, one person. Very few 09:46:32 people are going to redefine their own personal language every 09:46:32 few years to keep trying to make it better and better. Even 09:46:32 fewer are going to design their own computer architectures to 09:46:33 run their own language. Even fewer are going to design their 09:46:35 own VLSI CAD software to design their own chips to run their 09:46:37 own language. This is of course not what everyone should be 09:46:38 --- quit: I440r (No route to host) 09:46:39 doing and not what anyone has been told to do. 09:47:36 initiation <-- correct spelling? 09:50:55 yes 09:51:35 thanks :) 09:53:36 omg! yahoo mail has suddenly become gay! 09:54:07 (no offense to the homosexuals.. think of gay = lame) :P 09:55:28 (1) Never trust Yahoo!, (2) If I publish this log you will lose your citizenship. 09:55:56 lucky for me i can click "plain version" 09:56:07 i remember accidently clicking the html version 09:56:09 and closing out 09:56:13 i guess yahoo remembered that 09:56:34 rob_ert: i'll lose my citizenship? :) 09:56:49 i don't see racist people losing their citizenship 09:56:57 or sexist male pig chauvinests 09:57:04 I was actually just kidding. 09:57:08 --- nick: MrReallyGone -> MrReach 09:57:10 I won't make you stateless :) 09:57:12 fool! take this seriously! :P 09:57:12 Hey MrReach 09:57:16 heheh 09:57:18 hihi mrreach 09:57:32 futhin: Well... if you want to see something _really_ lame, www.msn.com 09:57:42 heh 09:57:47 i did that once, 3 years ago 09:57:49 omg 09:57:51 horrid memories 09:57:56 chills along my back 09:58:08 i'm never going back to www.msn.com 09:58:40 ;-) 09:58:48 * MrReach yawns. 09:59:05 When I log out from my hotmale account, I come to msn.com... 09:59:25 I usually see something like "Extra: How to make your car look sexy!" 09:59:37 Then I really hate MS. 09:59:44 qwest tried to forcibly change me to msn as my service provider 09:59:57 Hah 10:00:01 Get AOL ;P 10:00:07 apparently, qwest is getting out of the ISP business 10:01:43 the worst part of it is that'll I'll probably be buying $2,000 in M$ software in the next 6 months 10:02:04 not mention installing XP on dozens of machines 10:02:31 * MrReach 's soul shrivels just a little. 10:02:33 * futhin emailed jeff fox inviting him to the event just now 10:02:42 Ugh... why, MrReach? 10:02:53 I'm buying a computer store 10:05:02 Cool 10:05:02 yeah.. 10:05:02 the pain will come 10:05:02 you will have to master doublethink 10:05:02 heh 10:05:02 so, what's an easy thing to poke into a pc memory port to see if outb works? 10:05:03 outb? 10:05:03 davidw: what language? 10:05:03 MrReach: I just need the addresses 10:05:03 something like video...sound 10:05:03 sound would be real good 10:05:03 I think the parallel port is at 03f8 10:05:03 or is that the serial port? 10:07:27 I need something more immediate... 10:07:35 video mem is at b8000 or something like that 10:07:45 davidw: use google :P 10:08:05 MrReach: 0x3f8 is ttyS0 iirc 10:08:47 then that means serial port 10:08:58 video mem is just mem, though 10:09:01 you can write directly to it 10:09:07 I want something that requires outb 10:09:08 When it comes to I/O ports, I guess keyboard LEDs would be a good choise 10:09:18 hrm 10:09:20 yeah 10:09:26 I think you output 0xed to port 0x64 10:09:28 damn, unfortunately, I'm using bochs 10:09:36 and then the bits in 0x60 10:09:36 check wotsits format and ralf brown 10:09:36 hehe 10:10:47 rob_ert: hrm... that did something! good going! 10:10:54 :D 10:11:06 heh, now your keyboar state is screwed, oh well 10:11:14 hrm" 10:11:21 davidw: what language are you working with? 10:11:24 MrReach: I'm using bochs 10:11:25 MrReach: forth 10:11:39 over a layer of C 10:11:46 oh! ok, don't know that one 10:11:46 I'm just trying to see if I got the C interface right 10:12:02 bochs is an i386 emulator 10:12:12 it's really cool if you are fooling around with low level stuff 10:12:20 no need to reboot every time you fuck everything up 10:12:20 Yeah... 10:12:29 but it's fucked up here :-/ 10:12:37 * rob_ert will reinstall it 10:16:13 mine works really well 10:17:34 :/ 10:17:40 Doesn't help me 10:17:44 I'll compile from source now 10:18:18 I use the .deb 10:18:32 * MrReach is pondering how to handle command dispatch in his tcl bot 10:18:49 davidw: I did so, too 10:18:55 davidw: But I got a lot of trouble 10:19:17 davidw: A system that works very well on a real computer crashed in bochs 10:19:17 is there a web page for bochs? 10:19:34 Yeah 10:19:36 bochs.sf.net iirc 10:19:42 thanks 10:20:30 woo, comp.lang.forth has a lot of quibbling 10:20:48 what about this time? 10:20:59 i'm just making a general statement 10:21:02 that's what newsgroups are for, isn't it? 10:21:06 lol 10:21:10 there are some topics that are just plain flame-bait 10:21:30 quibbling = child of flame wars 10:21:40 the validity and value of ANS X3J14 for example 10:21:51 i'm just reading ": 10:21:51 Let's write "Chuck Moore" in the title... 10:22:01 just reading that thread 10:22:02 please don't 10:22:05 it's all quibbling 10:22:15 what? heh :) 10:22:22 please don't read that thread? :) 10:22:35 let's see if chuck likes what he sees here as a daily group of forthers 10:22:49 no, please don't advertise his visit outside of this channel 10:22:55 (too late) 10:22:56 uh?? 10:22:58 too late 10:23:05 well, shit 10:23:20 mrreach: it was originally a gambit to increase the number of people in this channel 10:23:39 if chuck finds an interesting group or original thinkers, he might choose to be a regular here 10:23:42 and the gambit has a mind of its own now :P 10:23:49 mrreach 10:23:50 uh 10:23:52 have you seen the logs? 10:23:53 MrReach: Sweet dreams :) 10:23:59 he might also nail his hand to the wall 10:24:10 futhin: what did I miss? 10:24:13 rob_ert: i apologised to chuck moore in an email yesterday 10:24:13 "This doesn't require much attention" - Chuck Moore about #forth 10:24:17 futhin: Hehe, OK 10:24:26 i apologised cause some ppl in this chans were being morons 10:24:27 oh, he's already been on? 10:24:35 futhin: "I am ashamed of the people in the channel, especially that kid rob_ert..." ? 10:24:45 yes, that's the problem, at least one person will unload on him 10:24:45 MrReach: not. much. moore or individual acting as such not loquacious 10:25:10 * rob_ert feels guilty 10:25:12 rob_ert: did i say that? i dont remember saying "kid" 10:25:22 heh 10:25:23 futhin: ! ;) 10:25:34 mrreach: read the log.. 10:25:36 yesterday's log 10:25:43 futhin: are you saying that chuck has already been here? 10:25:46 yes 10:25:57 his nick was chipChuck 10:26:58 futhin: Tell us what he replies to your apologize, please... 10:27:17 he probably won't, he'll just show up on saturday hopefully 10:27:23 :) 10:27:39 as far as i can tell, he's not much of an e-mail person 10:27:39 Are you going to set +m then? ;) 10:27:43 yes 10:27:44 Hehe 10:27:49 i am going to +m 10:27:50 He doesn't seems to be an IRC person either 10:28:00 seem* 10:28:03 well it's his very first time on irc 10:28:08 i had to explain to him about irc 10:28:09 Really? 10:28:11 Cool 10:28:12 Heh 10:28:25 i told him to get mirc :P 10:28:27 "I have been teaching Chuck Moore about computers." ;) 10:28:30 Heh 10:28:35 HAHAHAHA! 10:29:18 well, hey, it's true 10:29:23 computers are a big field 10:29:27 :) 10:29:30 Sure 10:29:33 I would bet a lot that there are lots of things he doesn't know 10:29:41 sure 10:29:41 futhin can be proud of this for the rest of his life 10:29:45 he doesn't really like unix 10:29:49 Nah 10:29:52 he uses windows as far as i can tell 10:29:53 And not Windows :) 10:29:56 yeah 10:30:04 I get the feeling he doesn't like any operating system invented after about 1955 10:30:11 He hates everything except small forth systems? 10:30:14 Hehe 10:30:15 heh 10:30:19 Or 1969.. :) 10:30:32 (When he invented forth, I think..) 10:30:51 mrreach: read the log though, i ended up feeling pissed off and a little depressed because his visit didn't go very smoothly :( 10:31:18 rob_ert: it's generally acknowledged to be 1970 10:31:21 You should have kickbanned me temporarily :( 10:31:23 OK 10:31:30 They said 1969 on the page 10:31:49 i will be +m and voicing those i trust 10:31:50 I'm reading the logs 10:31:53 and anybody who wants to ask questions 10:31:56 messages me 10:31:58 it look ok so far 10:32:02 and if i don't think it's a stupid question 10:32:06 i'll voice the person 10:32:11 OK 10:32:13 and if any stupid questions appear 10:32:13 Hmm 10:32:18 i kick ban right away :) 10:32:20 Bah 10:32:26 I want to see this :) 10:32:27 appear on the channel that is 10:32:31 (The interview) 10:32:36 Oh, heh 10:32:48 if any stupid questions appear on the channel.. 10:32:53 Yeah, I see 10:32:56 then i'll be pissed 10:33:04 also 10:33:14 it's going to be one question at a time 10:33:20 stop that, emperor futhin 10:33:35 i'm thinking it'll be something like one question at a time 10:33:50 jeff fox might show up 10:33:52 so that'll alter things 10:34:01 that would probably be better, actually 10:34:08 yes 10:34:32 i hope this goes smoothly.. i'm not really a controlling type, but i just want things to go smoothly 10:34:41 i will probably voice everybody 10:34:44 and devoice as needed 10:34:54 * rob_ert will behave 10:35:48 Hmm... 10pm GMT is 0:00 CET now, right? 10:35:55 heh 10:36:14 rob_ert: didn't we figure it out that it was midnight for you or something? 10:36:26 futhin: can you tell me what went wrong with chipChuck's visit?? 10:36:32 rob_ert: no 10:36:33 rob_ert: what time was it for you when chuck appeared yesterday? chuck appeared exactly at 2pm 10:36:40 futhin: Yeah, but they calculated something else 10:36:40 rob_ert: we are 1 hour ahead of gmt 10:36:45 Hm, OK 10:36:48 We are? 10:36:53 Not in the summer, right? 10:37:14 futhin??? 10:37:20 in other words, 14 == 23 10:37:23 mrreach: the god part 10:37:25 * davidw is in italy 10:37:39 mrreach: left a bad taste in my mouth, and chuck was clearly not impressed with it 10:37:39 that looked ok to me 10:37:48 mrreach: i emailed him an apology 10:37:54 he replied with wit, didn't appear angry 10:37:58 mrreach: i440r agrees that it didn't go that smoothly either.. 10:38:16 i440r suggested the apology in fact 10:38:32 I wouldn't even bother inviting him... I mean, in reality, what do you have to offer him 10:38:35 and why didn't anyone put gforth through its paces while he was in channel??? 10:38:57 I've met stallman, who is another pretty bright guy 10:39:07 you can tell he's pretty much bored with most people he talks with 10:39:34 stallman is? 10:39:53 yeah, chuck seemed a little bored or depressed heh 10:39:58 Hehe 10:40:15 can yoiu imagine what people would want to talk to the found of the Free Software Foundation (FSF) ??? 10:40:37 how many hours a week does he really want to talk copyright and data entry?? 10:40:52 Hmm.. 80? 10:41:16 14:14:58 yeah I wanna be like you when I grow up :) 10:41:16 14:15:10 hey come on guys, we don't want to scare him away :) 10:41:16 14:15:11 No you don't 10:41:23 that's probably the time he spends talking about it, but *WAY* more than he wants to 10:41:39 futhin: Hehe 10:41:57 see there 10:41:58 futhin: don't get all antsy around chuck 10:42:03 he says "no you don't" :P 10:42:06 clear message to me 10:42:10 to cut out that nonsense 10:42:16 sure 10:42:19 i agree we don't have to be antsy 10:42:31 No more "Your Majesty"... 10:42:32 but we don't have to say stupid things either :P 10:42:36 futhin: you should write down what he says, and read it every morning when you wake up 10:42:44 hahaha 10:42:44 he may decide that this channel has too many nutz for him to participate 10:43:01 mrreach: i wanted him to have a better opinion of this channel 10:43:02 but oh well 10:43:51 but he will have to hold his own if he wants to play on IRC ... and it's a bit rougher than in real life 10:44:07 (I hope he sees this in the logs) 10:44:33 uh??? 10:44:42 heh, for example, look at some of the wars i440r and I have gotten into about ANS 10:44:46 he _is_ holding his own 10:44:55 better than most of us 10:45:05 not really, not yet 10:45:20 oh how so? 10:45:23 do tell me.. 10:45:30 ok, for example .. 10:45:58 being an utterly new IRC user, he doesn't yet realize that IRC is an alternate lifestyle for many people 10:46:13 "alternate"? ;) 10:46:18 it isn't, it's for losers :P 10:46:18 haha! 10:46:19 heheh 10:46:33 not neccessarily 10:46:47 he's above this mess and he is plently strong in the written language and has a sense of dry wit, so he can be pretty impervious to whatever arguments ppl bring up on irc 10:47:07 you _are_ talking about arguments, logic, that kind of thing? 10:47:16 since "holding his own" implies that to me.. 10:47:23 no, I'm talking about social skills 10:47:34 ok 10:47:35 IRC has a whole new set of rules 10:47:52 is he social or antisocial ? 10:48:03 for instance, one doesn't come into a channel and ask, "May I ask a question?" 10:48:26 i don't know him very well.. what do you think? have you watched the ultratechnology.com videos with chuck moore presenting? 10:48:30 futhin: my _impression_ is that CM is rather reclusive in his daily life. 10:48:34 exactly 10:48:37 that's what i think too 10:49:08 he seems a little antisocial.. but there are lots of ircers that are like that 10:49:14 he might be much more available via IRC 10:49:16 lots of lurkers 10:49:21 as you say, it's for losers 10:49:23 * MrReach grins. 10:49:40 the interesting thing is he knew about /me 10:49:41 command 10:49:49 as i noticed looking at the log just now 10:50:03 14:16:25 * chipChuck trying to recall 10:50:08 yes, and new how to set his quit message 10:50:35 maybe he knew more about irc than he led me to believe? 10:50:36 Maybe he (unlike certain people) reads the fucking manual? 10:50:52 :) 10:50:55 he was, probably, reading through the docs while watching the channel 10:51:16 Wow... we look like some crazy people intepreting the bible. 10:51:29 did anybody version his client??? 10:51:33 nope :( 10:51:37 not me 10:51:41 I didn't dare to :) 10:51:45 heh 10:51:48 rob_ert: good point 10:51:55 I didn't want to be _that_ lame ;) 10:51:57 about the bible, that is 10:52:21 Hehe 10:52:22 davidw: did you version moore? 10:52:39 mrreach: i doubt chuck moore knows about the existence of the logs yet 10:52:57 "Charles Moore, Version 5.2.13 ... watching you watching me" 10:53:08 ? 10:53:12 ? 10:53:25 versioning Moore 10:54:19 n/m, it wasn't that good 10:54:55 so i doubt he would know about the logs yet 10:55:04 probably not 10:55:09 and where would he start reading the mess? 10:55:16 I was here for 6 months and never knew 10:55:19 he probably wouldn't want to waste too much time 10:58:05 * rob_ert will go get a cup of tea and something to eat... bbl 10:58:15 enjoy 10:58:21 I will :) 10:58:54 --- join: GilbertBSD (~gilbert@m135.max3.dacor.net) joined #forth 11:00:21 yeah, i don't really think of irc as an alternate lifestyle heheh 11:00:55 what am I supposed to do to make isforth? 11:01:05 make linux 11:01:10 ./kernel.com 11:01:17 fload isforth.f 11:01:21 vocabs.1:202: label or instruction expected at start of line 11:01:22 *** Error code 1 11:01:22 Stop in /usr/src/downloads/isforth/asmsrc. 11:01:22 *** Error code 1 11:01:22 Stop in /usr/src/downloads/isforth. 11:01:43 what did you type for that to happen? 11:02:18 make linux 11:02:21 or make freebsd 11:02:28 which one did you try? 11:02:30 I'm wondering if there is a missing file. 11:02:34 both 11:02:36 freebsd doesn't work yet.. 11:02:37 * MrReach goes back to thinking about the bots 11:02:49 same errors with linux 11:03:09 its a pity I don't know asm. 11:03:37 it's worth learning, IMO 11:04:03 but where to start? 11:04:07 isForth is *NOT* ... I repeat *NOT* ... a good place to learn ASM 11:04:15 I know that. 11:04:23 start by buying and reading the book 11:04:34 which "the book"? 11:04:37 "assembly language step-by-step" second edition 11:04:43 by jeff duntemann 11:04:46 best asm book i've read 11:04:51 search the net, find a "hello world" for Linux asm ... NASM probably has one at their website 11:05:01 and there's a chapter concerning coding asm in linux 11:05:06 is it good for AMD 500mhz on Freebsd? 11:05:11 very good book, covers background, very easy reading 11:05:17 erm??? 11:05:40 the value is not in actually writing ASM code 11:05:47 GilbertBSD: yes, nasm can be compiled onto freebsd 11:05:53 there are very few places that actually need it 11:06:15 I have the book 'code' by Petzold. 11:06:17 have any of you seen that book? 11:06:17 the value is in understanding how the underlying hardware processes its instructions 11:06:21 mrreach: yeah, that's why the book is very nice, it deals with the background, the foundation.. how the cpu works, etc 11:06:47 the book is very detailed about how the hardware works, it is 90% hardware background and 10% asm 11:06:50 which is perfect 11:07:01 I also have a book by Mano called Computer Systems Architecture 11:07:25 for example, in my mind, when I'm writing code, I'm thinking about how the language is going to translate what I'm writing into ASM code 11:07:54 (it's probably a bad thing, I know, but it's second nature to me) 11:08:06 bad thing? 11:08:10 i don't think so.. 11:08:13 brain clutter 11:08:14 why would it be? 11:08:16 heh 11:08:24 not necessarily.. 11:08:29 it could simplify some things :) 11:08:34 won't a book on Systems Architecture cover the same ground? 11:09:00 it might, at a rather more theoretical level 11:09:18 gilbertbsd: "Assembly Language step-by-step" is a known quantity, it is very easy to read, the information is accessible - it flows directly into your brain with minimum effort 11:09:52 and it covers the hardware backgroun thoroughly 11:10:02 will it teach me asm? 11:10:05 yes 11:10:12 ok, reading about architecture and using high-level tools to explore it is like digging a hole with a backhoe ... exploring with ASM is like digging the hole with a shovel ... *VERY* different experience 11:10:27 it will teach you asm and the hardware background as well as the theoretical aspects of architecture.. 11:10:40 MrReach: the book describes a basic computer, and then its asm. 11:10:52 also how to create the asm and how to program it. 11:10:59 and, I might add, digging with a shovel wil teach you about holes, digging with a backhoe will teach you about backhoes 11:11:18 GilbertBSD: sounds like a crappy book 11:11:24 GilbertBSD: haven't you read the book you have? 11:11:31 GilbertBSD: most asm books suck utter crap.. 11:11:33 no someone gave it to m.e 11:11:36 true 11:11:42 i read 5 different asm books 11:11:50 if you've already got it, read it, play with it 11:11:55 even if it's a lousy book 11:12:26 and the 5 books were pretty bad... they'd start off describing binary, and just approach the whole subject poorly 11:12:35 but then i read the jeff duntemann book 11:12:43 approaches it much differently 11:12:45 and much better 11:12:50 easy to absorb the information 11:12:52 my favorite was a series, by Lance A. Leventhal 11:13:18 the intro was "Assembly Language Programming" ... which was mostly theory 11:13:30 so are you sure there isn't gonna be a problem because I have an AMD? 11:13:36 then there was a book for the 6502, z80, mc68000, etc etc 11:13:36 no 11:13:47 AMD = x86 as far as you need to be concerned 11:14:01 mrreach: the jeff duntemann book was mostly theory too 11:14:23 Intel has gone to amazing extremes to make sure that new processors run the instructions of all previous processors 11:14:25 i read it all without needing to touch a computer :) 11:14:53 you can run DOS 1.0 on an Pentium 4. Weehee! 11:15:06 hi Fare 11:15:39 well 11:15:41 i'm going to go 11:15:43 bye all 11:15:45 --- quit: futhin ("bye") 11:16:12 heh, that was quick 11:16:26 I think his mommy is home. 11:19:52 MrReach: why is it that highlevel languages have been created then? 11:20:29 they allow you to accomplish more with less typing 11:20:49 also, they make things simpler, conceptually 11:21:13 in that case high level languages are like dreamweaver or some other html editor 11:21:18 they also mask the sifferences in hardware 11:21:29 GilbertBSD: yeah 11:21:30 no, those are applications 11:21:40 well, yes, but.... 11:21:43 oh, you mean in simplifying web pages? 11:22:05 that would be a true statement 11:23:00 incidently, I use the ASM of html editors, I write my pages in a text editor 11:23:29 * davidw uses emacs' psgml mode, which is fantastic 11:23:35 indeed... so most languages decompose into ASM ... 11:23:39 and you can edit that ASM 11:23:43 or can't you? 11:23:49 not unless it's compiled 11:23:59 erm ... more accurate to say they compile into machine code 11:24:00 sure after the necessary steps. 11:24:09 of which ASM is a direct representation 11:24:32 there is a one to one relation between machine code and asm ? 11:24:35 so you can compile C into an executable 11:24:54 then examine the executable with a debugger, and you'll be seeing ASM code 11:25:04 GilbertBSD: generally, yes 11:25:49 plenty of high level languages are interpreted though 11:25:51 most assemblers use macros, which a disassembler would have a hard time reproducing 11:26:09 ha! ain't that the truth! 11:26:46 in that case, the resulting executable has a rather small "interpreter" ... which then interprets some type of compiled source 11:26:54 (or the raw text, for that matter) 11:27:08 Forth is like that, usually 11:27:58 I have a problem though 11:28:14 With forth for instance... is the only book I need to learn the language "Starting Forth"? 11:28:21 or are there ten other ones I should be looking at? 11:28:25 --- quit: GilbertBSD (Remote closed the connection) 11:28:57 heh 11:29:01 --- join: GilbertBSD (~gilbert@m135.max3.dacor.net) joined #forth 11:29:07 wb, GilbertBSD 11:29:12 sorry I accidentally hit exit in twm 11:29:26 anyway, I was griping. 11:29:30 ok, SF is a good book, but today's systems differ substantially 11:29:37 So is that all I need to read to start exploring forth? 11:29:41 so there might be some stumbling blocks 11:29:55 so what next after starting forth? 11:30:22 I would also recommend "The Forth Programmer's Handbook" ... which is included as a .PDF in the SwiftForth evaluation download 11:30:42 I have that one. 11:30:53 there used to be an excellent tutorial for FPC 11:30:54 but isn't that more of a reference manual than a programming book? 11:31:08 no, the reference manual is seperate 11:31:19 SwiftForth.PDF 11:31:32 and then I don't need any more books? 11:31:40 the FPH is rather more generalized 11:32:05 "need"??? no ... in fact, you probably don't _need_ those books 11:32:40 when you get the basics down, you'll probably want to read Brodie's "Thinking Forth" 11:33:06 which isn't really about forth, but how to think about programming in a forthy way 11:33:12 but I am interested in learning the language well enough to start writing code in it. 11:33:44 interesting code too. 11:33:50 the programmer's handbook would probably be your best start, being as you already have it 11:33:57 Hey gilbert 11:34:22 hi rob_ert 11:34:34 hold on MrReach, I can't find it :(* 11:34:48 and GForth is probably the system you would want to start with 11:34:59 I have gforth 11:35:06 that is what I use. 11:35:11 ok 11:35:28 isforth isn't ready for production application coding, yet 11:35:48 which is where I started at: it won't compile on my machine. 11:36:04 yes, saw that 11:36:15 what type of app are you thinking of writing? 11:36:53 me? I don't know... I am more interested in "programming as a tool of thought" 11:36:58 than I am in writing a killer app. 11:37:38 ok, then may I suggest a rather fustrating sample app??? one that will provide you lots of experience with the system in question? 11:37:59 no problema 11:38:02 A file manager ... it does *ALL* kinds of system-specfic, intricate work 11:38:20 reading directories, formating time stamps 11:38:32 viewing/scrolling text and binary files 11:38:39 moving, deleting, etc 11:38:53 a fm? 11:38:58 hmmmm. 11:39:04 hmm, that's a good idea 11:39:26 wish I'd thought of that :) 11:39:38 if you want to really hammer on a language, learn its limitations and strengths, a file manager is the way to go 11:39:54 so any language? 11:40:05 heh, most people start with a text editor 11:40:11 is that better? 11:40:15 yes, pretty much any language 11:40:16 or is fm better? 11:40:18 how about an irc client;-) 11:40:23 depends what you want to learn 11:40:31 what do you mean? 11:41:19 ok, a text editor does a limited number of things, mostly screen writes, disk i/o, and keyboard handling 11:41:34 if you're just learning how to program, a text editor is good 11:41:46 but a fm ... ? 11:41:54 a file manager, though, *REALL* puts a language through its paces 11:42:15 because it uses all sorts of obscure info and system calls 11:42:29 and has many type of data records/objects 11:42:32 so what do I need to know to write one? 11:42:39 eg 1. I read SF, 2. ? 11:43:10 read the docs that come with gforth, they're "ok" ... and much better than most 11:43:20 so that is 2. 11:43:35 GilbertBSD: do you have programming experience in other languages? 11:43:58 how do I put this? There are few languages that you might mention I have never ever heard of. 11:44:08 and I can recognize code from most. 11:44:10 I would not recommend SF as a first book at this time ... because it's incredibly difficult to obtain 11:44:14 but I do not know how to program. 11:44:24 I have SF on my desk right now. 11:44:31 infact it is open to page 52 11:44:33 oh, ok, it's a good start then 11:44:43 and thinking forth is on the floor somewhere. 11:44:49 firmly shut until SF is done. 11:44:59 excellent 11:45:09 you won't need thinking for some time yet 11:45:16 okay. 11:45:50 when you start shooting yourself in the foot with programs so complex that you can't keep track of them, *THEN* read Thinking 11:46:10 perhaps I should have both books photo copied huh? 11:46:19 they came from an interlibrary loan. 11:46:26 as you please 11:46:35 I can't recommend that over IRC 11:46:44 :) 11:47:03 okay so precisely what do I need to read/cover to get to fm? 11:47:09 just a list ... not details. 11:47:24 ok, if you're a beginning programmer, don't try to tackle a file manager 11:47:32 fm??? 11:47:38 yeah File Manager 11:47:43 not Fing Manual ;) 11:47:53 meep :) 11:48:10 try simple stuff ... ls in forth, maybe 11:48:13 or cat 11:48:18 cat would be better 11:48:23 okay then. 11:48:31 ls is still pretty complicated 11:48:38 So i read SF, then the Gforth docs, then I write either ls or cat 11:48:41 and then fm? 11:48:44 in that order? 11:48:46 then maybe try a primitive text editor 11:48:54 oh a text editor... 11:48:58 and then a FM? 11:49:03 perhaps then 11:49:24 the reason I recommended an FM is because I thought you were an experienced programmer 11:49:44 of all the things to write, an FM is probably the absolute hardest 11:49:44 Nope ... I have experienced programming but I am an economics major 11:49:52 so that is what I study when no body is lookingl 11:50:12 of all the things to write, a file manager is probably the absolute hardest 11:50:22 hmmm 11:50:28 and you will run into road blocks again and again 11:50:29 I'm thinking ... 11:50:38 I have never really used a file manager. 11:50:41 I prefer 'ls' :) 11:50:46 just in trying to interface with the underlying system 11:50:56 type "mc" at the command line 11:51:05 I don't have mc installed. 11:51:24 I am using freebsd. 11:51:25 ok 11:51:59 "midnight commander" 11:52:10 yeah I know what it is. But I thought it was for wusses. 11:52:19 the wusses who insist on not using ed 11:52:26 heh 11:52:59 * joa used to use xtree gold in DOS 11:53:07 back when people used xtree gold in DOS heh 11:53:16 read SF, the read the Forth Programmer's Handbook, then read the gforth docs 11:53:22 then write a few small apps 11:53:29 okay. 11:54:16 btw, ALLOCATE is your friend ... use it 11:54:35 I shall indeed. 11:54:53 there is no description of a file manager is ther? 11:54:59 or should I simply emulate mc? 11:54:59 I see people all the time sticking stuff in the dictionary that shouldn't really be there 11:55:31 god, I'd really recommend not writing an FM for a year yet 11:55:41 but to answer your question ... 11:55:58 a file manager does averything that can be done with files 11:56:21 move, delete, rename, change timestamps/attributes 11:56:31 view 11:56:44 so if i develop the tools individually 11:56:53 and I put them all together, I should have a fm? 11:56:56 which means an fm needs to know about directories 11:57:11 yes 11:57:28 : nods. 11:57:51 your first stumbling block will probably be terminal control codes while trying to display stuff 11:58:12 so a fm is not only going to stretch the language, it is going to stretch my knowledge of the language as well? 11:58:22 you betcha 11:58:35 "hammer" would be a good word 11:58:43 and after I have written a fm in forth, I can say "hey I am a forth programmer"? 11:58:53 HAHAHA! 11:59:06 fm = ? 11:59:13 file manager 11:59:15 you will have done something that daunts all forth programmers, including Charles Moore 11:59:47 so this is like "oh you wanna learn construction? here build us a pyramid with this mud " 12:00:05 "it should be yay big, and the pharaoh must like it" 12:00:06 yes, you can definately say "I have forth experience" 12:00:19 when do I get to say "i am a forth programmer"? 12:00:20 yep 12:00:29 when you start coding forth 12:00:40 coding forth as in writing forth words? 12:00:48 yes 12:00:56 "forth programmer" doesn't mean much 12:01:02 sif: : greet .( So I am a forth programmer now ) ; greet 12:01:03 GilbertBSD: So I am a forth programmer now 12:01:35 yep 12:01:48 ahhh 12:02:08 but what I really want is to say 'I have forth experience'. 12:02:15 anyone can grab a C compiler and write a "hello world" program ... or a simple text editor 12:02:29 that doesn't make them a good C coder 12:02:45 have you written a fm yet MrReach? 12:02:53 hell no 12:03:07 so how do you know its the most difficult thing then? 12:03:25 because of the way that it interfaces with the underlying opsys 12:03:43 who told you this? 12:03:46 CM? 12:03:51 most applications use one or two parts of the opsys heavily 12:04:04 but fm's use nearly everything 12:04:08 no 12:04:34 I saw it on Fidonet x86 in the early 90s ... and it struck me as a truth 12:04:43 fidonet ... 12:04:48 what is fidonet? 12:05:08 it used to be a networked BBS system ... before the internet was widely available 12:05:33 ah I see. 12:06:01 with the advent of IN ... fidonet users migrated to USENET 12:06:13 very similar architecture 12:06:50 one thing that irks me ... 12:07:09 oh? 12:07:23 not all arithmetic can be written in the form n1 n2 n3 op1 op2 is that right? 12:07:35 I thought forth was strictly that way. 12:07:45 that is not correct 12:08:13 processors are intrinsically a serial instruction processor 12:08:20 so how would you write 9a^2 - ba in postfix? 12:08:29 so the math MUST end up in that format somehow 12:08:35 oh okay ... 12:08:46 most compilers do that for you 12:08:50 hmmm ... 12:08:52 or no scratch that. .. 12:09:12 how would you write (3 + a) * ( 9 * z) ? 12:09:31 I got 3 a + 9 z + * 12:09:37 uhm 12:09:43 you mean (9+z) ? 12:09:48 nothing wrong with that... 12:09:49 yeah :) 12:09:55 Well, then it's OK 12:10:08 ok 12:10:28 as hard as I tried, I couldn't get it in the form 3 a 9 z + + * or something 12:10:36 it yielded the wrong answer. 12:10:46 3 a @ + 9 z @ * * 12:11:04 you have to fetch the value of the variable from it 12:11:10 I meant (3 + a) * ( 9 + z) ? 12:11:14 postfix doesn't mean that you have to put all the numbers before all the operators 12:11:15 'a' leave the address of the variable 12:11:42 just that the operators come after the numbers that they're operating on 12:11:49 so 3 a + 9 z + * is how I must leave it? 12:12:06 gorth: variable a variable z 5 a ! 2 z ! 3 a @ + 9 z @ * * . 12:12:26 mr reach there is only one '*' 12:12:28 gforth: variable a variable z 5 a ! 2 z ! 3 a @ + 9 z @ * * . 12:12:32 MrReach: 144 12:12:51 GilbertBSD: no there's two '*' in the equation you gave me 12:12:57 it was an error. 12:13:05 I meant (3 + a) * ( 9 + z) 12:13:09 sorry 12:13:09 GilbertBSD so try it yourself :) 12:13:14 ok 12:13:23 gforth: variable a variable z 5 a ! 2 z ! 3 a @ + 9 z @ + * . 12:13:27 MrReach: 88 12:13:41 gforth: variable a variable z 5 a ! 2 z ! 3 a @ + 9 z @ + * . 12:13:45 GilbertBSD: 88 12:13:51 and ... to make sure I don't have any stack errors ... 12:13:57 gforth: variable a variable z 5 a ! 2 z ! 3 a @ + 9 z @ + * . cr .s 12:13:58 gforth: variable a variable z 5 a ! 2 z ! 3 a @ 9 z @ + + * . 12:14:02 MrReach: 88 12:14:02 MrReach: <0> 12:14:06 GilbertBSD: 48 12:14:26 gforth: variable a variable z 5 a ! 2 z ! 3 a @ 9 z @ + * + . 12:14:31 GilbertBSD: 58 12:14:37 gilbert, your's has a stack error 12:14:45 how/ 12:14:53 gforth: variable a variable z 5 a ! 2 z ! 3 a @ 9 z @ * + + . 12:14:57 GilbertBSD: 26 12:15:01 ok, break it into segments ... 12:15:09 my equation? 12:15:15 variable a variable z ( -- ) 12:15:32 5 a ! 2 z ! ( -- ) 12:15:36 ah yes (a z -- result ) 12:15:48 oops (z a -- result) 12:15:52 3 a @ ( -- n1 n2 ) 12:16:19 9 z @ ( -- n1 n2 n3 n4 ) 12:16:34 * ( n1 n2 n5 ) 12:16:48 + ( n1 n6 ) 12:17:00 + ( n7 ) . ( ) 12:17:04 ooops, my mistake 12:17:26 my pforth + ecos works great 12:17:35 I gave it a bwrite and bread 12:17:50 bwine and bread? 12:17:54 block write? 12:18:10 byte 12:18:12 GilbertBSD: my apologies, your equation did not have a stack error 12:18:32 food time 12:18:35 ah! cool! from the stack? 12:18:35 I've worked on it for hours :) 12:18:37 gggghhhhhh 12:19:00 MrReach: yeah... thanks to rob_ert, I was able to test it... make colors appear on the console, and good stuff like that 12:19:04 reads the keyboard 12:19:06 * GilbertBSD wonders again what a mild mannered econ student is doing dabbling in evil. 12:19:07 it's pretty cool 12:19:21 davidw: what do you mean? 12:19:33 are you on windows? 12:19:35 GilbertBSD: isn't economics evil? the dismal science and all that? 12:19:37 GilbertBSD: fuck no 12:19:43 well .. this might work on some systems ... 12:19:46 GilbertBSD: no...my system runs on ecos 12:19:47 so how did you get the pretty colors? 12:19:51 ecos? 12:19:55 wtf is ecos? 12:19:59 sources.redhat.com/ecos 12:20:06 it's an embedded OS 12:20:06 --- part: Fare left #forth 12:20:18 and what kind of oS is it? 12:20:18 runs on a zillion platforms 12:20:23 small 12:20:24 light 12:20:43 I have a running, bootable forth in less than 200K 12:20:57 : bwrite (char hdl -- ior ) SP@ swap 1 FILE-WRITE THROW drop ; 12:21:00 oh i see. is that what ecos is? 12:21:19 * davidw must eat 12:21:24 you might have to adjust the value returned by SP@ a couple of bytes one way or the other 12:21:38 GilbertBSD: ecos has nothing to do with pforth, really 12:21:48 except for on my hard drive:-) 12:21:59 FOOD NOW 12:22:03 MrReach: is there a built in editor for gforth, pfe or tile? 12:22:23 I got to a part of the book that mentions blocks which work, but none of the rest, like 'index' work. 12:22:39 gforth: : t SP@ c@ . cr drop ; 1 t 5 t .s 12:22:44 MrReach: 1 12:22:44 MrReach: 5 12:22:44 MrReach: <0> 12:23:08 GilbertBSD: no, not realy 12:23:19 then I can safely skip a part! 12:23:27 the authors wanted those systems to be very portable, writing an editor constrains that 12:23:51 oh, you mean the goofy line editor in starting forth? 12:23:52 heh 12:24:00 yeah 12:24:35 that's rather (extremely) portable ... it's probably available in all of those systems, but I wouldn't use it if you paid me to 12:24:51 just for the sake of continuity in the book. 12:25:53 it's a good example of an extremely simple application 12:26:03 but nerly useless in today's computing environment 12:26:10 I love ed :) 12:26:21 it is a good example of "all you really need is this" 12:26:27 yes, but ed still works on regular text files 12:26:37 * GilbertBSD nods 12:26:43 the forth editor described only works on block files 12:27:13 although I suppose it could be mutated to work with regular text files w/o too much effort 12:28:11 you're a strange man if you like ed 12:28:25 just the type to like forth, in fact 12:28:44 I love to see what sits under features 12:28:57 I use twm too, and I'm beginning to think it is too featureful 12:29:27 yoiu and Moore should be roomies 12:29:46 GilbertBSD: http://www.c2.com/cgi-bin/wiki?EdIsTheStandardTextEditor 12:29:52 nah, he is ageek and I'm not. 12:29:59 hahaha! 12:31:00 yeah I love that thing on ed. 12:33:42 --- quit: tathi ("Client Exiting") 12:35:35 MrReach: you there? 12:35:42 yep 12:35:50 what is the RS-232c? 12:35:53 just don't have much to say about ed 12:35:59 is it the standard serial port? 12:36:00 what about it? 12:36:08 5.89824e37 12:36:11 heh 12:36:14 --- join: tathi (~tathi@wsip68-15-54-54.ri.ri.cox.net) joined #forth 12:36:16 yes 12:36:21 ah okay. 12:36:40 RS-232c is the wire speficiation 12:36:54 which pins do what, what voltages to expect on them, etc 12:37:22 you're probably more worried about how to access the ports 12:37:22 rofl "eat flaming death" "?" 12:38:08 in Linux (and probably freebsd) they are accessed by opening /dev/ttyS## 12:38:25 but setting the line discipline in Linux is a real bitch 12:38:38 perhaps my first text editor should be edish 12:38:56 text 12:39:04 in fact, it was so hard I gave up on it, and EXECed a commandline utility from ggforth 12:39:25 that would be a good beginner application 12:39:37 what made it so hard? 12:39:43 what have they hidden about it? 12:40:11 well, there's two ways to do it, with glibc or with sirect system calls 12:40:29 in both cases, the documentation on the structures to be passed were indesipherable 12:40:42 indecipherable 12:41:09 so I used 'setserial' and another util (forget which) to do the job 12:41:15 it worked pretty well 12:41:50 what were you trying to do? 12:41:56 I was programming a data/fax/voice modem ... so I was really working the serial port 12:42:10 ah yes . didn't you end up doing that in tcl? 12:42:17 yes 12:42:23 * MrReach hangs his head. 12:42:29 hehe 12:42:37 at least you did something :) 12:42:54 how hard would it be to make gforth/tk ? 12:43:13 somebodies already done it, I think 12:43:27 but they were only marginally successful 12:43:33 Mr. CM mentioned or indicated that he had written a gui app in < 3k ... 12:43:46 that's true, he did 12:43:49 Wasn't the GUI itself 2-3kB? 12:43:55 it was? 12:44:06 yeah, but what did it *do* 12:44:10 but as ed is to text editors, so was CMs library to GUIs 12:44:12 No idea :-D 12:44:18 ah yes. 12:44:18 yeah 12:44:23 davidw: you don't like CM do you? 12:44:43 GilbertBSD: mmmm, no no, he seems like a very intelligent, maybe brilliant guy 12:44:50 heheh 12:44:51 but what? 12:44:57 frankly, I think he's a bit of a nut, but I like nuts, and they generally like me 12:45:08 err, what he said;-) 12:45:19 I think his attitude is a little bit... out there... 12:45:28 the best forth coder I ever met was a wierded out transexual 12:45:29 engineering is about tradeoffs 12:45:31 he came up with forth didn't he! 12:45:37 making a gui in 3k is fantastic 12:45:50 but that doesn't make X or M$ windows shit 12:46:00 MrReach: really? I was wondering if there existed any transexual programmers the other day. 12:46:16 davidw: k is a small language that packs a gui building app, so is rebol. 12:46:22 they are really really tiny. 12:46:33 it probably put the graphic card into video mode, had pixel on/off, draw line, and maybe draw box and fill rectangle 12:46:34 there has to be a tradeoff though 12:46:39 MrReach: eheheh yeah 12:46:47 davidw: k guis work on any system 12:46:51 so do rebols guis 12:46:59 and I'm talking of < 1.44k 12:47:23 I don't think that should be beyond forths reach at all. 12:47:28 k probably provides bindings to existing libraries 12:47:36 it isn't 12:47:38 hmmm perhaps. 12:47:58 I've seen gforth bindings to XWin 12:48:06 k is proprietary and its distributed as a binary 12:48:53 so its hard to tell what it does. 12:48:55 same with rebol. 12:49:16 but the gui examples in both languages work without modification on any platform that runs them. 12:49:26 * davidw thinks that ecos + pforth could be pretty small 12:49:41 that's what I appreciate most about TCL/Tk 12:49:52 but it's pretty sizeable 12:50:21 it also does a lot, out of the box 12:50:22 nearly all of it is in a shared lib, though, so the system overhead is terribly high 12:50:35 isn't, you mean 12:50:35 is NOT terribly high 12:50:39 yup 12:51:35 the fascinating thing about k and rebol is that they are as tiny as they are, and k packs a full blown database server ... 12:51:55 as for rebol, for its size, it has about 8 networking protocols 12:52:16 oh btw ... rebol was written by a guy who used to implement forth :) 12:52:19 Sassenrath. 12:52:21 for the amiga 12:52:54 on my windows system, the .DLL is 620kb + 928kb, and the .EXE is 20kb + 20kb 12:53:17 you want Linux sizes?? 12:53:22 MrReach: why isn't forth like tcl/tk? 12:53:29 I have tcl/tk on freebsd. 12:53:50 GilbertBSD: I would very much like to see a forth like TCL/Tk 12:54:08 but then flame wars start about how the API should be structured 12:54:14 python/tk exists ... so does perl/tk ... 12:54:23 tcl tk is way higher level than forth 12:54:25 MrReach: perhaps one should do it quietly? 12:54:38 GilbertBSD: now you've got the idea 12:55:29 eg ... Mr Stallman (a CM like character) has been talking of GNU for years, but not until the creation of minix .. 12:55:39 which led to linux did we get anything done 12:55:52 I can't say 'we' 12:56:03 not until then did a baby unix come out. 12:56:15 it's a group effort, you can say "we" as in "humanity" 12:56:38 mr Stallman does not really like linux, but who really cares? 12:56:59 that which he prophesied has come to pass. 12:57:11 he doesn't like it being called gnu/linux is all 12:57:14 err 12:57:14 linux 12:57:20 right. 12:57:22 food has yet to be absorbed into brain 12:57:46 * rob_ert uses Debian GNU/Linux. (I think they put the GNU there to make RMS happy) 12:57:51 well, I need to go outside and do some physical labor if I'm going to go RVing this weekend 12:58:18 MrReach: I shall start working towards a fm. 12:58:20 Thank you. 12:58:32 heh, ok, otrture yourself 12:58:37 torture yourself 12:58:43 I'm a sucker for pain. 12:59:02 like I said, I like nuts, and they generally like me 12:59:35 I probably won't be back tonight, will watch TV when it gets dark 12:59:40 --- nick: MrReach -> MrGone 12:59:59 TV :-) 13:00:50 Thursday is "Mystery night" 13:02:05 n e way... 13:02:06 --- part: GilbertBSD left #forth 13:05:48 later all 13:05:51 --- quit: tathi ("Client Exiting") 13:05:55 how to delay for, like, a few microseconds? 13:06:36 Using...= 13:06:40 s/=/?/ 13:06:51 in forth? 13:06:57 yeah 13:07:03 ms 13:07:04 Is there any standard way? 13:07:04 MS provides a delay in milliseconds 13:07:06 damn 13:07:10 not in pforth 13:07:23 sheeit 13:07:26 What forth are you using, davidw? 13:07:31 pforth 13:07:34 Oh 13:07:42 Hehe... does gforth support ms? 13:07:52 yes 13:07:58 yeah 13:08:11 :) 13:08:16 Useful 13:08:24 gforth: cr 1 . 1000 ms cr 2 . 13:08:25 MrGone: 1 13:08:25 MrGone: 2 13:08:29 ahahhah 13:08:31 gforth: cr 1 . 2000 ms cr 2 . 13:08:31 isforth supports ms, too apparently heh 13:08:34 :D 13:08:34 MrGone: 1 13:08:37 MrGone: 2 13:09:06 gforth: cr ." Test1" cr ." Test2" 13:09:10 rob_ert: Test1 13:09:11 rob_ert: Test2 13:09:13 hrm 13:09:13 gforth: : t 10000 0 do cr 1 . loop ; t 13:09:17 MrGone: 1 13:09:18 MrGone: 1 13:09:18 MrGone: 1 13:09:18 MrGone: 1 13:09:18 MrGone: 1 13:09:21 Ah, cool... he can do multiple lines now 13:09:52 yep, up to 5 apprently 13:09:58 OooooooOOOOOOOOOooooooo 13:10:02 that is cool 13:10:19 not gforth 13:10:58 : redshift ffffff 0 do 7 3cb bwrite I 3c9 bwrite 0 3c9 bwrite 0 3c9 bwrite loop ; 13:12:29 it makes the letters change colors 13:12:35 oooooooo....preeeetty coooolooors 13:14:21 this is too fun 13:15:23 =) 13:18:33 --- join: GilbertBSD (~gilbert@m135.max3.dacor.net) joined #forth 13:19:10 sif: : ?twelve 12 = not if ." not a twelve " then ; ?twelve 13:19:14 GilbertBSD: stack underflow 13:19:20 sif: : ?twelve 12 = not if ." not a twelve " then ; 11 ?twelve 13:19:21 GilbertBSD: not a twelve 13:19:34 gforth: : ?twelve 12 = not if ." not a twelve " then ; 11 ?twelve 13:19:38 GilbertBSD: in file included from *the terminal*:-1 13:19:39 GilbertBSD: /tmp/fsock-sh-server.request.tmp:46: Undefined word 13:19:39 GilbertBSD: : ?twelve 12 = not if ." not a twelve " then ; 11 ?twelve 13:19:39 GilbertBSD: ^^^ 13:19:39 GilbertBSD: Backtrace: 13:19:40 GilbertBSD: $4011D188 throw 13:19:42 GilbertBSD: $401271BC no.extensions 13:19:59 why does gforth chock on 'not' ? 13:24:12 not is a binary not 13:24:15 no? 13:24:28 I don't even have not in mine 13:24:53 gforth doesn't like 'not' for some reason. 13:25:06 doesn't have it! 13:25:36 so what does it want me to say? 13:26:11 <> 13:26:12 maybe 13:26:56 gforth: : ?twelve 12 = <> if ." not a twelve " then ; 11 ?twelve 13:27:01 GilbertBSD: in file included from *the terminal*:-1 13:27:02 GilbertBSD: /tmp/fsock-sh-server.request.tmp:46: Invalid memory address 13:27:02 GilbertBSD: : ?twelve 12 = <> if ." not a twelve " then ; 11 ?twelve 13:27:02 GilbertBSD: ^^^^^^^ 13:27:02 GilbertBSD: Backtrace: 13:27:03 GilbertBSD: $4013C8B4 ?branch 13:27:18 instead of =, put <> 13:27:37 gforth: : ?twelve 12 <> if ." not a twelve " then ; 11 ?twelve 13:27:42 GilbertBSD: not a twelve 13:28:03 thank you gforth 13:29:30 gforth: 1 2 != . 13:29:35 MrGone: in file included from *the terminal*:-1 13:29:35 MrGone: /tmp/fsock-sh-server.request.tmp:46: Undefined word 13:29:35 MrGone: 1 2 != . 13:29:35 MrGone: ^^ 13:29:35 MrGone: Backtrace: 13:29:36 MrGone: $4011D188 throw 13:29:38 MrGone: $401271E8 no.extensions 13:29:43 gforth: 1 2 <> . 13:29:48 MrGone: -1 13:30:38 gforth: 1 1 or . 13:30:42 GilbertBSD: 1 13:30:51 gforth: 1 0 or . 13:30:56 GilbertBSD: 1 13:31:04 does that mean -1, and 1 mean true? 13:31:28 no 13:31:39 OR logically ors bit by bit 13:32:04 a true flag is usually defined as "all bits set" 13:32:21 * davidw puts on his rockin' shoes, I'm gonna rock away aaaall my blues! 13:32:30 gforth: 1 0 or 0<> . 13:32:35 MrGone: -1 13:32:51 bye 13:33:09 take care, davidw 13:33:36 Byebye 13:34:14 hmmm... sunset is at 20:05, wife gets home at 18:00, need 1:45 in driving time .... enough time to setup camper before too dark to see? 13:34:36 *THINK* so, but pushing it 13:34:59 well, reainder of setup can be done in morning 13:35:04 I thouight you were gone doing that anyway? 13:35:21 just came in to check weather and sunrise/sunset 13:35:36 ah 13:35:40 I'm stocking the trailer today, cleaning carpets, watering 13:36:07 tomorrow will build new charging circuit in the truck, hitch and double-check the new brake controller 13:36:29 is your RV diesel? 13:36:44 no, it's a 30' 5th wheel 13:37:20 The truck is a one ton ford crew cab, 460cid gasoline/auto 13:37:37 aren't non diesel trucks a bit expensive to haul things with? 13:38:15 the difference isn't huge 13:38:53 when I took the trailer to seattle last winter, it was getting 15.7 MPG on level ground 13:39:11 which is damn good, IMO, I was expecting 12 13:39:35 12 mpg is a crawl! 13:40:08 you gotta have a HUGE tank. 13:40:45 crawl? 13:40:59 I have two 20 gallon tanks 13:41:13 it does 70MPH nicely 13:41:53 I'm going to replace the bed this summer, I'm going to replace one of the 20 gallon tanks with a 40 gallon, if I can get it to fit 13:42:53 one of the tanks leaks, as it is, but is still useable 13:43:26 this is a *WORK* truck, it's butt ugly and can be used to pull out stumps 13:43:54 so its not a yuppy truck then. 13:44:04 no, not even 13:44:48 theoretically, it can pull 12 tons (24,000 lbs) ... and I've got brakes for 4 axles, but I can't ever imagine pulling that much 13:45:20 the trailer is 8,700 lbs, and quit challenging to move around downtown 13:45:46 (of course, the truck by itself is challenging) 13:46:52 is it diesel? 13:48:44 --- quit: GilbertBSD ("xchat exiting..") 13:48:55 no, 460cid gasoline w/ automatic trans 13:49:42 unfortunately, it's old enough that it doesn't have the locking transmission 13:50:17 next year, I intend to blueprint an engine and put it in, I'll probably change to a new trans at that time 13:50:49 oh, I mistook a MPH for a MPG... 13:51:08 * MrGone nods 13:52:22 * rob_ert had a strange feeling that MrGone wasn't gone after all. 14:29:23 --- part: herkamire left #forth 14:35:18 Good night all 14:35:34 --- quit: rob_ert ("Strawberry fields forever.") 14:53:23 --- join: tcn (tcn@tc1-login16.megatrondata.com) joined #forth 14:53:23 --- mode: ChanServ set +o tcn 14:54:44 Hey 15:46:49 hi 15:47:46 what's up? 15:47:55 just sittin' around heh 15:49:25 thought i'd check in on irc 15:49:36 nod... bad timing, I think heh 15:49:57 chuck moore was here yesterday... 15:50:17 and he'll be back saturday? 15:50:43 heh, so says the topic and him 15:50:57 oh well, i don't know what i'd ask him.. i'm working on non-forth stuff 15:51:01 I think I440r has a log if you want it 15:51:10 nod 15:51:15 clog logged it 15:51:24 ah cool :) 15:52:22 that reminds me, i gotta check the logs for forthos too.. just cause it's dead now doesn't mean much :) 15:52:39 how would a forth os work? 15:54:21 the kernel would be tiny, then compile drivers & crap at boot-time 15:54:48 could a forth os be multiuser securely? 15:56:03 yeah.. you could have protected memory and system calls, like Unix.. 15:56:30 would it be more like commodore basic at its current state? 15:56:47 yup :) 15:56:52 that's interesting :) 15:57:44 well.. colorforth is chuck's "forth OS".. pretty minimal.. but Enth/Flux or ForthOS might be more OS-like.. 15:58:11 especially ForthOS since the author also wrote a Unix-like OS (VTSa) 15:58:14 VTSa that is 15:58:30 VSTa 15:58:32 :) 15:58:39 nod, I'm looking at that website right now 16:00:27 oh yeah, here's chuck in the logs.. he acts right at home :) 16:02:55 hm 16:03:13 vsta sounds like the hurd minus the stuff I don't like in the hurd... 16:03:39 does anyone use it? 16:03:45 don't think so 16:03:55 that's too bad ;) 16:04:05 it's still written in C 16:04:12 and it doesn't have much support 16:05:30 i was thinking Linux could be nice, if rewritten in a simpler language & cleaned up a lot.. 16:07:22 it's not bad the way it is, as long as you don't use X windows :) 16:10:27 --- join: gsv (~gsv@CPE-203-45-206-253.qld.bigpond.net.au) joined #forth 16:11:33 hello 16:34:02 --- part: gsv left #forth 16:43:51 --- join: enth (~enth@CPE-203-45-206-253.qld.bigpond.net.au) joined #forth 16:44:38 sean pringle? 16:44:45 tom novelli? 16:44:54 how ya doin'? :) 16:45:02 yep great u? 16:45:10 allright 16:45:39 much happening here? 16:45:40 how goes your project? 16:45:48 Chuck Moore was on the other day :) 16:45:57 ha ... slowly 16:46:03 cool .. and again soon 16:46:43 i'm not doing anything w/ Retro right now.. learning how to write compilers for "normal" languages, and assembly too 16:47:29 ah ... Flux is getting very colorForth-like ... i should release again soon .. but i'm a little lazy :-) 16:48:10 yeah, i was inspired by colorforth too.. didn't end up keeping the color stuff, though 16:48:18 that stuff is wierd 16:48:38 i like reading it.. but not typing it! 16:48:41 wierd = interesting for me 16:48:59 tcn: that editor he uses is torture 16:49:52 well.. even with a qwerty keyboard it's tough.. distracting 16:50:33 each to their own i guess 16:52:51 i like how CF is more like assembler 16:55:03 --- join: kc5tja (kc5tja@stampede.org) joined #forth 16:55:14 hey Sam 16:55:32 re 16:55:52 what have you been up to this year? 16:57:37 * davidw has got pforth running on top of ecos 16:57:46 it's pretty cool 16:59:11 Too much. 16:59:22 eh? what's ecos? 16:59:52 I'm 4 kyu in aikido, and I'm currently trying to reduce my workload in chip verification by implementing a cross-platform Forth implementation. 16:59:59 sources.redhat.com/ecos 17:00:08 it's an embedded OS 17:00:08 but it's very portable 17:00:31 it's pretty minimalistic, too, so that with forth, you can do what you please 17:04:25 aren't they in Chapter 11? 17:04:51 RedHat? I don't think so. 17:05:05 no, they're doing ok, actually 17:05:14 I don't think they're profitable, but I don't think they're bankrupt just yet. 17:05:35 they are supposedly breaking even, more or less 17:05:52 Right. And that's all we can ask of them. 17:08:14 --- quit: onetom ("ircII EPIC4pre2.508 -- Accept no limitations") 17:08:30 heh, yeah. Maybe i'm thinking of a different company 17:09:17 caldera? suse? 17:09:20 hey, how can I see the logs for the channel? 17:09:30 --- join: onetom (tom@adsl52205.vnet.hu) joined #forth 17:10:11 joa: http://tunes.org/~nef/logs/forth 17:10:17 cool :) thanks 17:10:26 he logs about 50 other channels too.. including #forthos 17:10:33 tcn: You're thinking of Mandrake 17:10:39 neat 17:10:40 * davidw <- sleep 17:11:11 * joa wondered how december was already logged for this year... 17:11:18 forgot it was not 2001 anymore :/ 17:13:03 hi 17:13:34 enth: hey, u said not much happens here 17:13:56 well, i've gotta free up the phone.. see ya 17:13:56 enth: but chuck moore personally was here last day! 17:14:01 i was wrong obviously :) 17:14:16 and he will b back on saturday 17:14:26 for some interview 17:14:30 --- quit: tcn ("Leaving") 17:14:32 That is very cool. I want to be here for it. 17:15:00 enth: but u saw the topic , didnt u? 17:15:05 Sorry for being so laggy, folks, but my T1 connection has about 300bps of free bandwidth on it. It's going really, really,slow. 17:15:13 It reminds me of an AX.25 connection at 1200bps. 17:15:28 enth: who r u anyway? the creator of enth/flux? 17:15:34 onetom: yes .. the topic was the very reason i joined 17:15:53 yes enth/flux is my fault 17:15:56 kc5tja: i dont feel ur low speed, dont worry :) 17:16:14 enth: ahhaa! :) and who told u about it? 17:16:33 enth: imean, where &how did u met the topic? 17:16:43 saw a post on c.l.f. 17:16:56 Yeah, that's where I saw it too. :) 17:17:07 I never knew there was a #Forth on this server.\ 17:17:15 me niether 17:17:57 mmmm, i forgot that futhin has posted also it there 17:18:37 kc5tja: and now, would U tell me/us some more about urself? 17:19:25 * kc5tja is a semiconductor verification technician and amateur OS developer. 17:19:46 enth, kc5tja: dont u have -by chance- some questions for chuck moore? 17:19:55 Right now, my interest in Forth is for the former application -- I need to verify several lines of chips without the portability problems of C, and the delays its non-interactivity brings 17:20:34 kc5tja: semicon. VERIFication? whats that? r u a quality assurance prof.? 17:20:35 Some of these tests need to run on x86, and some on MIPS. I need a common language that runs under NT and on bare metal, and Forth is preicsely that language. 17:21:31 kc5tja: mmm, thats a serious task. and how long do u know forth? 17:21:34 onetom: Of sorts, yes. My job is to ensure our chips work, but more importantly, to devise work-arounds if tey don't, and to correct documentation bugs, etc. Also, at the same time, I need to debug the process, fand report back to the relavent engineers, so that the bug is corrected. 17:22:01 s/tey/they/ -- my connection is dropping characters it seems. >:( 17:22:16 s/fand/find/ -- Or I just can't type. :) 17:22:32 :) probably the l8r ;) 17:22:39 This company has never used forth in the past; I've used it for several years now. 17:22:51 for what? 17:23:07 A lot of people are doggone afraid of Forth, and they really, really don't like the fact that I've been approved for using it by my manager. 17:23:21 Just learning and simple applications. 17:23:48 I lack a real OS for my 486 laptop, and so I'm using Pygmy Forth on that. I wrote a simple font editor in it, and a metronome package for supporting my musical interests. 17:24:10 wow :) 17:24:16 what instrument do u play? 17:24:26 I really need to buckle down and write a native 32-bit Forth for it, though, since I want to write Dolphin (my custom OS) in Forth. 17:24:42 Well, I like to pretend that I play guitar... ;D 17:25:00 Right now, I just kinda make noise with it. Good noise, a lot of people tell me. But I have no sense of rhytm. 17:25:09 --- join: qless (~cerberus@205.206.62.142) joined #forth 17:25:12 kc5tja: do u know that we (futhin&i) have established a #forthos here some weeks b4? 17:25:28 hi kyu :) 17:25:47 No, but that really won't help me, I don't think. I have very specific requirements for my Forth. 17:26:05 And likewise, I have very specific requirements for my OS. 17:26:43 kc5tja: the rythm is not my best friend either :) i make my type of noise on various windblown instruments 17:27:17 Cool. :) 17:27:34 like tinwhistle, recorders, saxophone, flute, wooden flute, kaval, tilinko 17:27:35 The only thing I can do with a flute is swing it around like a bokken. 17:27:52 but im also an amateur :) 17:28:09 lol 17:28:25 so u do some aikido or kendo, dont u 17:28:36 4 kyu in aikido 17:28:39 :) 17:28:49 mmmm :) 17:29:44 i did aikido for ~5 monthes, but i had 2 take some break 17:30:05 coz i had 2 do 2 much work 17:30:32 2monthes has elapsed since then :( 17:30:37 * kc5tja had to take some months off because of work and an injury. 17:31:11 i also had 2 injurys within the 1st month :) 17:31:50 You just have to take it easy. :) 17:32:11 Though, somehow, I don't think it's as bad as the injury I had. :) (Whiplash from smackiing the mat with full force) 17:32:31 yeah, i was near 2 tear the stripes in my shoulder, but who cares :) 17:33:02 Believe me, that is nothing compared to whiplash. 17:33:02 :) 17:33:12 human beings r good @ self recovering 17:33:21 Nothing beats the pain you feel when you have a bullet put through your neck; that's what it feels like. 17:33:29 whaaaat? 17:33:46 how did u met w an ....? 17:34:03 Seriously. After I got the whiplash, I was in incredible amounts of pain. 17:34:09 I literally thought I broke my neck. 17:34:44 iihhh sounds really scary... 17:34:47 Right at the base of my skull, and the pain went from the top of my head, down the left side, all the way to my shoulder and part of my back. 17:34:48 --- part: qless left #forth 17:34:54 It was nasty. :) 17:34:56 how did it happen? 17:35:45 We were doing sumi otoshi palm-to-palm, when sensei had just gotten done saying, "DON'T THROW HARD -- this is just to teach body movement." 17:35:56 So what does my partner do? He throuws hard. :(( 17:36:35 oy c... :( 17:36:36 I couldn't respond in time, and the base of my skull hit the mat, hard. My head bounced twice, and both times, I heard a very distinctive cracking sound. 17:36:55 brrrrrr 17:37:08 Yeah. 'twas not fun. :) 17:37:19 but u were still lucky i guess 17:37:36 i can move ur arms&legs, cantu? 17:37:42 imean U can :) 17:37:51 Yup, I could have been out of aikido forever from that. 17:38:10 I had full range of motion from the get-go; that's how the doctor knew it wasn't a broken neck. 17:38:42 So, one month later, I'm back on the mat. :) 17:38:46 how frequent r the accidents in the area u know? 17:38:56 and now seriuos r they? 17:39:06 Not very. That's my first major accident, in two and a half years. 17:39:07 --- quit: davidw (Read error: 113 (No route to host)) 17:39:12 1month! thats fast :) 17:39:40 i have younger brother & he plays the piano 17:39:42 I think that's the most severe an accident we've had that dojo had in over 5 years. 17:39:44 professionally 17:40:13 Man, I really hate this lag... :( 17:40:20 would u recomend him keeping a well definable distance from aikido? :) 17:40:23 I can't type coherent sentences without seeing what I'm typing. 17:40:37 Only if he goes to a bad school. 17:40:43 Aikido isn't supposed to break people. 17:40:51 Safety is paramount in all of aikido. 17:41:07 kc5tja: dont mind the lag, i also have lags after every 5th sentence roughly 17:41:11 The teacher is everything. 17:41:27 I bet you, if we were to meet in person, I could teach you much better ukemi than what you're doing now. 17:41:29 and the partners... 17:41:44 Yeah, partners makes a huge difference. 17:42:18 why do u think so? 17:42:19 If you do the techniques right, you can't feel a thing, except being whirled around in a giant circle or two, and that's it. 17:42:28 The landings are soft unless you don't know the proper ukemi techniques. 17:42:45 aaaha 17:43:15 my sensei learnt from baccardi. do u know him? 17:43:39 he comes from the tissier school 17:44:34 Never heard of either name. 17:44:38 sorry: Marc Bachraty, 4.Dan 17:44:59 Christian Tissier, 7.Dan, Aikikai shihan. 17:45:26 My sensei is Macbeth sensei, and he trained with Rameriez(sp?) sensei and Toyota Shihan. 17:45:33 tissier is a very famous person in the world of aikido 17:45:51 Can't say that I've heard of him. 17:46:08 in europe @least :) 17:46:17 hes a french guy 17:46:20 Hehe :) 17:46:44 u can see him on eurosport for example :) 17:46:50 I figured from the "ier" ending; as in Messier (famous astronomer who cataloged fuzzy objects in the sky) 17:47:30 how odd name is that: mess-ier :) 17:47:36 Messier thought they were comets (he was a comet hunter), but they turned out to be other things, like galaxies, star clusters, nebulae, etc. Really interesting stuff, if you're into that sort of thing. :) 17:47:45 probably his child is the messiest :/ 17:47:56 Heh 17:48:07 Wow 30 seconds for that to appear. :( 17:48:36 dont worry i type slow :) 17:49:26 kc5tja: how do u know that anyway? 17:49:37 does bx shows it? 17:49:40 How do I know what? 17:49:40 show 17:49:50 I time it. :) 17:49:53 the laf time 17:49:56 BX's lag counter is useless. 17:49:59 mmmm 17:50:06 ucant 17:50:12 I'm SSHing into another box from across the country, so the problem is that connection, not the one BX has. 17:50:17 how do u know when do i send a msg? 17:50:42 It's also lagged by the same amount. 17:51:09 hm hmm, anyway... 17:51:22 It's not usually 30 seconds, but that one time it was. 17:51:24 so u r also interested in astrology, dont u? 17:51:25 Usually 5 to 15 seconds. 17:51:32 Like now, I'm completely typing blind. :) 17:51:51 No, I abhore astrology. Astronomy, however, is a different matter. :) 17:52:01 aahaaaa, got it, the ssh is slow, ooookaaay 17:52:23 No, just the link. 17:52:27 SSH is actually pretty quick. :) 17:52:33 oops, sorry imeant astroNOMy :) 17:53:08 eh, cant really imagine ur situation, but it doesnt matter 17:53:33 i made an electric flute 17:53:49 and its controller program was written in forth :) 17:53:56 Not sure if you've used AX.25 networking on ham radio, but it's like that. 17:53:59 Cool. :) 17:54:03 * kc5tja is writing code in Forth now.] 17:54:07 it was a midi device 17:54:38 nooo, u lie, u r chatting ;p 17:54:56 Multitasking...gotta love it. :) 17:55:18 and im working on a building automation system nowdays 17:55:55 light,heat,infra-sensor control & the like 17:56:25 do u know we have forth bots here too? 17:56:49 Nope. Never knew that. 17:56:53 gforth: 42 . 17:56:57 onetom: 42 17:57:16 herkamire & i made them 17:57:29 gforth: BL PARSE This TYPE 17:57:30 herks bot is sif 17:57:40 sif: .( hi kc5tja ) 17:57:40 onetom: hi kc5tja 17:57:59 Hmm... gforth didn't like my code... :( 17:58:06 I hope I didn't crash it... :( :( 17:58:12 gforth: ." TEST!" 17:58:25 gforth: BL PARSE This TYPE 17:58:27 onetom: This 17:58:40 dont color the : 17:58:44 OK, cool -- I'm just not authorized to use it then. :) 17:58:50 I can't. 17:58:53 BX does it automatically. 17:59:06 dammit :) 17:59:07 gforth ." test" 17:59:13 but dont worry 17:59:21 g4 ." TEST" 17:59:23 Oh well. 17:59:25 onetom: TEST 17:59:38 Cool. :) 18:00:10 i made it 2 react 2 some abbrevs too :) 18:00:52 * kc5tja would like to write an IRC client in Forth; this way, I can use a VI interface for text editing, and I could have a completely readable source code for it. 18:00:59 u can also /meg 2 it so u wont clutter up the channel while experimenting w it 18:01:11 Right. 18:01:37 kc5tja, u r the same type of men like futhin & i :) 18:01:56 I just don't like crappy software. 18:01:57 it is also on our "schedule" 18:02:12 neither me :) 18:02:13 I've been programming for over 20 years now, and it just grows so annoying to see software get WORSE over time instead of better. 18:02:23 have u already tried enth/flux? 18:02:34 Also, as an astronomer, I have a particular attraction to Forth. ;D 18:02:39 No, I haven't. 18:02:44 :))) 18:03:25 it seems a pretty nice piece of forth os 18:03:52 it boots just fine also inside vmware 18:04:07 while other forth os-es make it hung 18:04:10 it does? 18:04:16 Cool. But it has a surrounding OS environment already. I want one that is bare metal. 18:04:30 even chucks own version of colorforth 18:05:07 enth: :) yup. ive tried many forthos like stuff, but only urs was the most promising 18:05:32 enth: or i can bravely say, it was just perfect 18:05:42 ha .. steady on 18:05:56 * kc5tja doesn't like ColorForth. 18:06:01 enth: tho, it doesnt have very much documentation yet 18:06:21 kc5tja: sssh! dont frighten chuck away! ;) 18:06:33 Is enth/flux native code, or direct threaded? 18:06:39 * kc5tja doesn't think Chuck will care. 18:06:48 onetom: no .. such is the fate of an unfunded hobby 18:06:52 enth: what i miss from these forth os-es the tcpip stack 18:06:55 However, my Forth environment for Dolphin decidedly isn't ANSI. :) 18:07:07 sub routine threaded 18:07:23 It'll borrow heavily from ANSI where it makes sense, but I make no promises of it being 100% compliant. 18:07:33 kc5tja: sure he dont :) just joking 18:08:10 onetom: tcp/ip is currently on the way 18:08:33 kc5tja: i know him a bit through his articles, and im sure he "doesnt care much about others opinion" :) 18:08:37 enth: kidding... 18:08:40 * kc5tja 's Forth will be native code, using subroutine threading and inlining where appropriate. 18:08:42 enth: cant believe 18:08:53 enth: n 18:08:56 oopd 18:09:00 s 18:09:11 enth: so do u still develop enth/flux? 18:09:16 It will be my first Forth for x86 in over 10 years, second only to the Forth I'm writing now. 18:09:29 * enth 's enth is similar ... subroutine - inline expansion - optimization etc 18:10:01 onetom: yes .. when time permits 18:10:13 kc5tja: what kind of forth r u writing now if not an x86 1? 1 4 mips? 18:10:45 Actually, it targets a custom virtual machine designed for code morphing optimizations. 18:10:49 enth: time always permits, tho not makes it possible sometimes :) 18:10:57 enth: have u seen coldforth? 18:11:10 onetom: yes 18:11:19 kc5tja: wooow, cant believe! :))) 18:11:33 * onetom gets more n more excited :) 18:11:36 enth: and? 18:11:44 enth: how do u like it? 18:12:04 enth: will u borrow the tcpip stack from it? 18:12:26 onetom: imoressive ... that main problem being i saw it after having started Enth ... so was busy 18:12:36 enth: do u already have any lan card driver 4 enth? 18:13:09 onetom: i dont .. however it may not be me writing the lan code 18:13:24 enth: hmmmm.... missed the point ,ithink 18:14:10 The Forth I'm going to write for x86 for Dolphin will be substantially more sophisticated. It will compile source text to direct-threaded code, then optimize that, then emit assembly language from that threaded description. This gives some nice advantages, including register optimization. 18:14:24 enth: 1st whats wrong w "seeing after starting enth "? 18:14:36 onetom: others want to contribute tcp/ip code to the project .. i have happily accepted their offer 18:14:44 onetom: nothing at all 18:14:46 It will use direct-threaded code as a default method of compiling, and go native-code only when told to do so. 18:14:48 enth: so u r just working on the tcpip stack? 18:15:02 This way, I don't waste time optimizing the wrong parts of the system. 18:15:03 enth: ahha, oy c 18:15:37 onetom: simply that had i come across coldforth etc b4 i started enth i would have had more time :-( 18:15:55 kc5tja: i dreamed the shilouett of such a system last night... what a coincidence :) 18:17:04 enth: u mean, knowing coldforth in advance could save u a lot of presicous development time? 18:17:34 kc5tja: uknow i "dream" a lot about 4th OS 18:18:21 kc5tja: so i also think about the "lack-of-a-real-4th-processor" problem too 18:18:43 * kc5tja nods 18:18:54 enth: s/could save/could have saves/ 18:18:57 d 18:18:59 I recommend looking at the Steamer 16 on the web. That's the model on which I'm building my Forth environment with. 18:19:09 onetom: not really .. enth was done just for the hell of it ... just working on it all the while leaves little spare time to delve deeply into other systems like coldforth, retro, etc etc etc 18:20:50 kc5tja: url? (google cant find such thing in the 1st place) 18:21:34 Google found it for me. Check out this URL: 18:21:40 http://www3.sympatico.ca/myron.plichota/steamer1.htm 18:22:12 enth: do u use ur sys 4 anything serious? 18:22:23 My variation of it is 32-bits wide, and has 5-bit opcodes (though it is "backward compatible" with the Steamer 16 if you support a custom loader) 18:23:06 kc5tja: lolllll what a charming pcbs r those 18:23:27 They work. :) 18:23:38 kc5tja: we still u pics :/ 18:23:50 They're not my pictures. 18:23:56 Steamer16 isn't my CPU. 18:24:12 The 32-bit extension I'm working on is, however. 18:24:17 And it's software-only right now. 18:24:31 kc5tja: tho, for the central unit of our building control sys, they r a bit small... 18:25:22 onetom: nothing serious .. oh well talking to micros and FPGAs etc. .. 18:25:59 enth: hey, we can call it serious, ithink... 18:26:59 Man, gforth is showing how utterly inflexible it can be every passing minute. :( 18:27:17 kc5tja: ??? 18:27:37 * kc5tja can get it to support backtracking and linear continuations, but I can't find a way to compile custom definitions because ANSI is so blastedly inflexible in this are!!! 18:27:42 s/are/area/ 18:27:56 * kc5tja sighs 18:28:17 * onetom sigh too, coz he doesnt understand kc5tja 18:28:38 would u b just a bit more explanatory? 18:29:07 what is "linear continuations" & what do u mean by "custom definitions"? 18:29:27 This is why my Forth implements a two-tier compilation structure. Native code Forths that don't support (or make public) words to compile forward references like BEGIN and AGAIN, just suck eggs. 18:29:44 kc5tja: in what environment do u test the 32bit streamer? 18:29:49 enth: care to guesstimate when we might see a new release of Enth/Flux? 18:29:54 I mean, BEGIN and AGAIN are obviously supported, but I can't use them to implement a "bounded" or "internal" definition. 18:30:03 onetom: Windows NT currently. 18:30:48 kc5tja: no no no, not what os, but what vhdl simulator? 18:31:12 No simulator; it's a software virtual machine. 18:31:24 It's intended for native code code morphing on x86 and MIPS applications. 18:31:46 kc5tja: hmm, sounds pretty exciting... 18:31:47 Soap`: a month or so could be right ... depends on some stuff though ... 18:32:03 kc5tja: is that gonna b free software? 18:32:07 No 18:32:21 kc5tja: sad :) 18:32:24 The VM specs might be free, but the software for driving that spec isn't. 18:32:37 was i ambivalent? nevemind :) 18:32:39 It's company internal, as I've already mentioned in the past. 18:32:48 ambivalent? 18:32:54 yup: sad :) 18:33:55 * kc5tja might consider making his own hardware implementation of the VM using discrete component TTL logic in the future as a personal project. 18:34:05 kc5tja: im gonna hack mary forth, so it can handle larger programs than 2K 18:34:21 Mary Forth? 18:34:23 kc5tja: its a native optimizing 4th compiler 4 pic microcontrollers 18:34:28 yup 18:34:29 enth: ta 18:34:34 Ahh 18:35:04 its free, uknow 18:35:15 & i will only extend it 18:35:53 btw, do U have question what u r gonna ask from chuck? 18:35:54 * kc5tja nods 18:36:03 Probably not. But I want to see what he has to say. 18:36:29 :)) it would b nice 2 have some questions tho... 18:36:33 He's one of the few computer heroes of mine that is still untouched by corporate monopolism. 18:37:35 yeah, hes lucky, coz hes smart and innovative enough :) 18:37:46 One thing is definately for sure though -- my Forth environments, starting with this one, will support linear continuations at the virtual machine level. 18:38:15 Well, others are too. Dave Haynie, Andy Finkel, and Carl Sassenrath are up there too. But they all get dwarfed by the Wintel industry. 18:38:37 onetom: people contributed any questions so far? 18:38:54 wadda hell is that lin cont? can u show me some explanations & examples on the net about it? 18:39:03 enth: not yet :( 18:39:49 enth: i told futhin, it was a bit 2 fast writing that letter 2 him 18:40:42 onetom: so is he just coming onto this channel to generally chat .. or will there be some sort of formal question & answer session 18:40:46 enth: coz 1st we should ensure it makes sense 2 invite him 18:41:15 enth: dont know much about that yet, its futhins projects 18:41:32 enth: i havent even read back the logs, so i dont know 18:42:13 enth: whats been told 2 chuck yet 18:43:40 * kc5tja has a question: Has his hardware projects been profitable for him? 18:43:58 In other words, has the development of his various parts been profitable enough for him to continue his business? 18:46:26 kc5tja: k, ive recorded it 18:46:39 kc5tja: tho, the answer will b yes, i think 18:47:33 kc5tja: he also has a nice consulting rate 18:48:21 As long as he's affordable, yet still profitable, that's the best place to be in. 18:49:21 OK, it's flat out impossible to support START/EMERGE in GForth. Flat out. 18:49:23 :( 18:49:29 Forgive my language ... 18:49:31 FUCKING ANSI!! 18:49:44 Grr.... 18:49:51 * kc5tja sighs 18:50:41 kc5tja: would u show us whats exactly the problem w gforh? 18:50:45 th 18:51:11 No, I can't. 18:51:21 Because I can't create any code which even represents what I want to do. 18:51:26 (what does falt out mean anyway? in other words? ) 18:51:30 GForth just plain won't let me. 18:51:51 I want to create a construct such as the following: 18:51:52 but show it then some other way 18:52:05 : word abc START def EMERGE ghi ; 18:52:16 which is equivalent *semantically* to the following: 18:52:29 : unique-name def ; 18:52:39 : word abc unique-name ghi ; 18:52:55 The reason for this bizarre-looking construct is to support the continuations that I'm using in my package. 18:53:07 Continuations inherently goes towards the end of the definition that it's used in. 18:53:29 The START/EMERGE construct creates a "boxed definition" of sorts, allowing me to NOT have to constantly create a new definition for every time I want to invoke a continuation. 18:53:31 For example: 18:53:42 so its a kind of nested word definiton, isnt it? 18:53:56 : PrintInvoice PrintHeader START ForEachItem: PrintItem EMERGE PrintFooter ; 18:54:11 in this case, PrintItem is called for each item in the invoice. 18:54:35 Note that ForEachItem: isn't a compiling word -- it's a word that returns more than once (!!), once for each item in the invoice database. 18:54:53 So it is a nested definition of sorts, yes. 18:55:11 This sort of thing is SO EASY to implement in Pygmy Forth that it's embarrasing for GForth not to be able to do it. 18:56:15 :/ didnt managed 2 filter its essence yet... 18:56:31 any particular reason why you dont use Pygmy instead of GForth then? 18:56:56 * onetom dumb (&also tired a bit) 18:57:19 Well, if you saw the following code, 18:57:33 enth: did u understand his problem? 18:57:51 0 10 ForEachInteger: ." The number is " . CR 18:58:00 What do you expect it to do? 18:58:24 10? :) 18:58:28 No. 18:58:30 act like a DO LOOP ? 18:58:33 Exactly. 18:58:36 iknow, j/k 18:59:04 So ForEachInteger: is a word that returns once per integer it has to return (in this case, 0 through 9, or 10 depending on the definition of ForEachInteger:). 18:59:27 Thus, in order to accomplish this feat, we must manipulate the return stack. This is a linear continuation. 19:00:00 (getting cleaner...) 19:00:02 The problem is, you're limited to just *one* use of such a construct per definition because of the manner in which it's implemented. After all, how does Forth's compiler know where the end of a continuation is? 19:00:11 This is the job of START and END. 19:00:24 aha 19:00:32 START and END delineate where a continuation invokation starts and ends. Whoops -- should have said EMERGE. Sorry. 19:00:51 nevemind, got it 19:00:53 Otherwise, I can only use one continuation per definition, and it must extend to the end of the definition. 19:01:01 right 19:01:11 Problem is, GForth will not let me implement the compilation code necessary to implement START and EMERGE. :( 19:01:28 why? 19:01:34 Because it's stupid. 19:01:39 how should they look like? 19:01:41 It follows ANSI as if it is the law. 19:01:57 I can't answer that, because it depends on the underlying Forth environment. 19:02:02 hmm 19:02:16 would u explain the prev example a bit more? 19:02:18 But because GForth doesn't publish its compilation API, I can't do anything except *guess* how it's suppose to look. 19:02:20 the invoce 1 19:02:39 It prints a header, then for each item in the invoice, it prints the item. Then it prints a footer. 19:02:40 how many times does THAT iterate? 19:02:46 However many times it needs to. 19:03:24 got a big return stack too then 19:03:33 It doesn't use return stack entries. 19:03:42 does the 1st word after the START determine the number of iterations, then? 19:03:49 There is a separate stack that the continuation system uses. 19:04:00 And it's pretty narrow too. My system only uses 4 of the 16 cells I alloted for it. 19:04:00 oh right 19:04:15 No. 19:04:29 is it theoretically impossible 2 implement such a sys usin only the return stack? 19:04:43 The ForEachItem: is just an indefinate loop -- it'll be implemented using a BEGIN/WHILE/REPEAT loop or some such. 19:05:26 onetom: Not impossible, just incredibly wasteful. And it breaks code that use >R R@ R> and such (which implies DO/LOOP is out of the question too) 19:05:36 (we should hook up a pygmy forth here too :) but it doesnt have a unix version, does it?) 19:05:46 No 19:06:04 But if you want, I can write one. All of my Forths are based loosely on Pygmy-esque systems. 19:06:18 Direct threaded, brutally simple, and very open about its internals. Can't beat it. 19:06:58 kc5tja: why should it break do/loop, u can simply not access the cycle var inside the repeating block 19:07:28 Exactly, and the continuations must have access inside the return stack. You can't call a continuation if you're inside a DO/LOOP construct for that reason. 19:08:00 kc5tja: "pygmy-esque" ... using Macro and Forth wordlists? like cmForth? 19:08:20 * onetom hides :))) 19:08:21 I like multiple vocabularies, a la ANSI (one of the few things ANSI did get right). 19:08:47 i gotta learn about some things till the interview w chuck 19:09:00 However, the dual wordlist system that Pygmy uses is just as handy. I will also support word scoping too. 19:09:04 i still dont know much about machine forth 19:09:18 and 4th macros, or what 19:09:22 "word scoping" ? 19:09:32 wil baden also refered to those... 19:09:38 : test ." Hello world!" CR ; 19:09:42 BEGIN-SCOPE 19:09:48 test Hello world! 19:09:55 : test ." This is a new scope." CR ; 19:10:00 test This is a new scope. 19:10:02 END-SCOPE 19:10:06 test Hello world! 19:10:21 wow... 19:10:28 right 19:10:35 kc5tja: how about structures? 19:10:40 data structures? 19:10:43 I have structures support already. 19:11:06 Three lines of Forth code. I'll be extending these with some limited, and very primitive, object access words too. 19:11:10 how does the field-name uniqeness handled? 19:11:16 Programmer handled. 19:11:21 Example: 19:11:22 STRUCTURE 19:11:33 3 CHARS FIELD phoneNumberPrefix 19:11:42 3 CHARS FIELD phoneNumberExchange 19:11:51 3 CHARS FIELD phoneNumberPoint 19:11:57 END-STRUCTURE sizeof-PhoneNumber 19:12:17 CREATE myPhoneNumber sizeof-PhoneNumber ALLOT 19:12:27 myPhoneNumber phoneNumberPrefix 3 TYPE 19:12:39 myPhoneNumber phoneNumberExchange 3 TYPE 19:12:40 etc. 19:13:30 yes 19:13:43 My personal conventions for the naming system is like this: 19:13:50 3 CHARS FIELD PhoneNumber.Prefix 19:13:55 and how about another struct? 19:14:01 so it kinda sorta looks like Oberon in that respect. 19:14:07 STRUCTURE 19:14:22 sizeof-PhoneNumber FIELD AddressBookEntry.PhoneNumber 19:14:30 80 CHARS FIELD AddressBookEntry.Name 19:14:40 40 CHARS FIELD AddressBookEntry.Address 19:14:41 ...etc... 19:14:50 So... 19:15:04 CREATE myABE sizeof-AddressBookEntry ALLOT 19:15:13 myABE AddressBookEntry.PhoneNumber PhoneNumber.Exchange 3 TYPE 19:15:38 And if that's too verbose: 19:15:54 : AddressBookEntry.Exchange AddressBookEntry.PhoneNumber PhoneNumber.Exchange ; 19:15:58 its a bit redundant... 19:16:03 myABE AddressBookEntry.Exchange 3 TYPE 19:16:05 verbose yes ... but you'll never need comments :) 19:16:10 Precisely. 19:16:20 If code is self-documenting, the need for comments is zero. 19:16:49 hmm hmm ... u r right... 2 some extent... 19:16:50 yep good practice 19:17:15 Too bad everyone and their grandmother on CLF thinks I'm a freak for coding this way. 19:17:22 i think, eg, the pascal solution is bad either... 19:17:34 it's heavily inspired by Smalltalk coding conventions, 19:17:52 The Pascal/C solution is the only solution possible. 19:18:07 Unless, that is, you want to remember hard offsets in your head all the time. :) 19:18:51 ??? what is ur opinion then? 19:19:03 u like the pascal way? 19:19:03 Code should be self-explanitory. 19:19:15 I should be able to read the code, and without consulting any other documentation, immediately see what it's doing. 19:19:22 And quite often, why it's doing it that way. 19:19:40 Writing obvious code isn't the Pascal way; it's the obvious way. 19:19:43 There's a difference. 19:19:53 I've seen some awfully obtuse Pascal code in my days. 19:20:48 k, let me test it... 19:20:59 TPerson: record 19:21:03 name: string 19:21:08 age: integer; 19:21:29 father: TPerson; 19:21:38 mother: TPerson; 19:21:43 end; 19:21:51 certainly it wont work 19:21:58 but a 19:22:03 mother: ^TPerson; 19:22:12 variant will 19:22:21 var 19:22:30 OK, but I don't see how this affects anything. 19:22:32 kc: TPerson; 19:22:43 Learning any computer programming language will definately involve some learning curve. The goal is to minimize it. 19:22:47 onet: TPerson; 19:23:31 kc.name := 'kc5tja'; 19:23:45 onet.name := 'onetom'; 19:23:59 onet.father.name := 'attila'; 19:24:21 type 19:24:41 TItem: record 19:24:49 name: string; 19:24:55 price: integer; 19:24:57 end; 19:25:00 var 19:25:23 anItem: TItem; 19:25:35 anItem.name := 'hammer'; 19:25:38 ... 19:25:57 doesnt it documented enough? 19:26:28 the name of the actual datastruct all the time refers to its type 19:26:35 (@least is should) 19:26:40 it should 19:26:41 OK, but you're really missing the point. 19:26:50 This isn't about syntax to describe structures. 19:26:55 This is about describing intent. 19:27:26 This is about me saying, S" kc5tja" myABE PhoneBookEntry.Name $! 19:27:48 When you look at that, you know that we're storing the string into the Name field of the myABE PhoneBookEntry. 19:27:51 That's what it says. 19:28:00 Just like Pascal's name := "kc5tja" statement. 19:28:08 But this is so low level as to be a nonsensical argument. 19:28:25 Structure support does not a readable language make. 19:28:38 Programmer skills and conventions do. 19:28:52 Structures are just a tool to aid in code readability. 19:29:12 i agree w that "Programmer skills and conventions do." 19:29:13 But what good are structures if all your field names are named after letters of the alphabet? (Yes, I've seen code like this) 19:29:44 Then I don't understand your problem. 19:29:50 I don't understand what it is you're questioning. 19:29:59 but that repeating convention seems far too "documentary"/redundant 19:30:11 Well, you can't avoid that in Forth, I'm sorry. 19:30:39 not even w vocabularies? 19:30:42 Nope. 19:31:06 Because everytime you want to reference a structure field, you have to manually configure the search order. 19:31:18 That totally defeats the purpose of local identifiers to begin with. 19:31:21 what if the datastructure changes the vocab temporarily? 19:31:34 just for the following member reference? 19:31:52 : PrintName ( nameStruct -- ) Name $! TYPE ; 19:31:59 What does "Name" refer to? 19:32:10 How does it know it's not a symbol name versus an address book name? 19:32:19 nothin, coz its not a "variable" 19:32:24 Exactly. 19:32:29 pascal wouldnt also understand that 19:32:44 Name is compiled as a static reference in the definition at the time PrintName is compiled.. 19:32:46 but compare these: 19:32:55 Wrong -- Pascal WOULD understand that, because it knows the type of "nameStruct". 19:32:57 kc.name := .... 19:33:03 anItem.name := .... 19:33:07 insted of 19:33:22 kc person.name .... ! 19:33:25 OK, but what is the type of "kc" 19:33:30 what is the type of "anItem"? 19:33:50 Doesn't Pascal *know* that they are of the given type? Isn't it explicitly declared so in the var block for them? 19:33:57 Forth doesn't have that luxury. 19:34:05 anItem's type is TItem OBVIOUSLY 19:34:11 No, not obviously. 19:34:19 Nothing is obvious to a computer. 19:34:35 You have to tell it *everything*. 19:35:04 but its obvious to the programmer, ithink 19:35:24 At the time PrintName is compiled in Forth, it has no idea what structures it's going to be passed on the stack. Not a clue. 19:35:28 if i have a "variable" named chuckmoore or jesus 19:35:46 onetom: You're totally missing the point here. 19:35:57 In Pascal, the type is associated with the variable. 19:36:00 u can assume immediately the have name fields... 19:36:06 No, I can't. 19:36:08 like jesus.name 19:36:12 Especially if they're named Jesus. 19:36:14 u can :p 19:36:18 No, I can't. 19:36:22 I can't assume anything. 19:36:29 Unless I look at the actual definition of Jesus. 19:36:56 Wow, it has a .name field -- what else does Jesus have? 19:37:11 You can't tell from context. 19:37:20 Because the reader has no context (though the compiler certainly does). 19:37:32 In Forth, the situation is similar -- especially with unnamed variables such as those passed on the stack. 19:37:33 ok, u cant (but i can ;) but still u will equally understand jesus.name just enough 19:37:46 Again, you refuse to see the point. 19:37:53 Forget that it has a field called name. 19:38:06 I can create a variable of type FOO that *doesn't* have a name field. What then? 19:38:10 what else, what else.... 19:38:24 what does usually a jesus have, huh? :D 19:38:39 Exactly -- you won't know until you see the TYPE description for Jesus. 19:38:49 And in Forth, TYPE blocks just don't exist. 19:38:57 stop here now 19:39:02 The language is completely and ubigitously untyped. 19:39:37 how much more do u know if i say jesus person.name 19:39:37 ? 19:39:48 I know he's at least a person. 19:39:54 do u know about the other attribs of her? 19:40:05 have u seen dogma? :) 19:40:18 yes good movie :-) 19:40:19 No, and I don't claim to. But I have a lot more information than I did before. 19:40:23 (Yes, I have) 19:40:28 hey, didnt u know it before? :) 19:40:32 No. 19:40:40 Why couldn't Jesus.name refer to a part name? 19:40:47 Or to an ISBN number? 19:41:04 enth: do u understand my problem? 19:41:11 enth: would u help me out a bit? 19:41:30 onetom: Listen to what I'm saying. 19:41:30 not taking sides 19:41:31 Please. 19:41:32 gmimie a hand, plz no not that one :) 19:41:40 Please be quiet and listen. 19:41:49 :X 19:41:51 Because I have no intentions of repeating myself. 19:41:58 This isn't about Pascal. 19:42:02 This isn't about Forth. 19:42:18 This isn't about C. 19:42:18 This is about writing good code in whatever language you happen to write. 19:42:18 (agree) 19:42:20 --- nick: MrGone -> MrReach 19:42:29 yes 19:42:32 And as a good programmer, you have to use that language's features to their best advantage. 19:43:02 Do you honestly think I write code like "attendent.PersonName" in my Pascal code? 19:43:21 No, because I don't have to. Pascal takes care of resolving which "name" field I mean, since it knows attendent is a Person. 19:43:43 * MrReach backscrolls *WAY* back 19:43:43 Plus, anyone versed in reading Pascal (as any Pascal programmer should be) will know to look up Person's TYPE block if it's required. 19:43:57 FORTH doesn't have types! 19:44:06 the thing is .. a programming language is a communications interface between man and machine ... a good language will describe exactly what is happening in an accurate yet consise fashion ... to BOTH man and machine 19:44:09 Therefore, I must compensate by resolving field names manually. 19:44:28 I have no choice but to do this. 19:44:49 The reason for this is that structure field names are valid dictionary entries, just like colon-definitions and CONSTANTs. 19:44:59 (still agree, tho it sounds sad) 19:45:12 Well, ... :) Not much I can do about that. :) 19:45:22 Not until someone implements a type-safe Forth. 19:45:31 it's been done 19:45:31 but u seemed very open 2 me... 19:45:34 StrongForth doesn't count. 19:45:34 it flopped 19:45:46 It doesn't support structures natively. 19:45:53 mainly after mentioning that strange linear cont stuff... 19:45:59 onetom: I'm very open. 19:46:12 its a rather unforthish contruct i think.. 19:46:15 what's the issue about whether forth is typed or not? 19:46:30 MrReach: no, just structures 19:46:33 It's just that you took issue with my coding conventions in Forth, and I explained why I did things that way. Then you started going off into Pascal, and teh conversation went wild from there. :) 19:46:50 MrReach: id like 2 see short strct member references in forth 19:46:57 onetom: what's the issue with structures, then? 19:47:04 oh, ok 19:47:15 it started with kc5tja's self documenting coding style 19:47:22 * kc5tja laughs 19:47:26 tile has a pretty eyecandy converntion for it, tho 19:47:44 Well, that's nice. I'm not working with TILE. :) Nor will I ever. :D 19:47:49 it also lack any support for avoiding field name clashes 19:47:54 (unless it comes up in my job requirements) 19:47:57 ... s" john doe" customer >name move ... 19:48:40 Using dynamic dictionay look-up for such things is the only way it really can really do that, which is slow (it's performed at run-time instead of compile-time). 19:48:41 ooops, forgot a swap ... 19:48:54 ... s" john doe" customer >name swap move ... 19:49:30 maybe a 'cmove' too? 19:49:33 Will >NAME work without 'customer' in front of it, but passed on the stack? E.g.: 19:49:37 kc5tja: yeah, and thats not adviced.. (the runtime resolving) 19:49:47 kc5tja: do u also nkow tile? 19:49:51 : foo >name swap cmove ; 19:50:04 enth: cmove can work, but move will do, and cmove is deprecated 19:50:05 I've only heard of it; never used it. 19:50:17 kc5tja: yep, that will work fine 19:50:36 MrReach: How is the resolution performed? 19:50:59 In other words, what's the definition for >NAME? (As if it were coded as a colon-definition)? 19:51:01 >name, in my package system, is created within a STUCT ... END-STRUCT, adds its offset to whatever it finds on the stack 19:51:12 kc5tja: its a beautiful piece of work i think 19:51:24 kc5tja: and its highly documented 19:51:40 kc5tja: it has a very useful tool library 19:51:45 in my package system, it gets kinda complicated, there'a creating word that defines creating words, both of which have a Dodes> part 19:51:50 does> part 19:52:03 kc5tja: also has examples for all those tools (here lacks some doc, tho) 19:52:16 My structure definitions are as follows: 19:52:21 : STRUCTURE 0 ; 19:52:32 however, >name is built as ... CREATE >name , DOES> @ + 19:52:50 : FIELD CREATE OVER , + DOES> @ + ; 19:53:03 : END-STRUCT CONSTANT ; 19:53:22 although, using the package it would appear as STRUCT blah ... 45 bytes: >name ... END-STRUCT 19:53:32 mine is similar; 19:53:34 kc5tja: and what is really important, it can do preemptive multitasking! 19:53:53 kc5tja: not just the usual & boring cooperative 1 19:54:16 My Forths either implement no multitasking of any kind, or preemptive multitasking. There's no point in stopping half-way. 19:54:23 tile does premptive? since when? 19:54:59 So yeah, TILE and my Forth does it the same way. 19:55:07 So >name is just as global a name as any other. 19:55:15 that is correct 19:55:50 if I'm going to be doing a lot of work in a customer database (for example), I'd put the words into their own vocabulary 19:55:51 Which brings us back to the crux of the problem: how do you handle two different structures that have the same field name, but are in different offsets? 19:56:13 * kc5tja has already detailed reasons why that isn't an adequate solution for localized field names. 19:56:20 MrReach: i think, all the time... doesnt it? 19:56:25 alter one of the names 19:56:31 Precisely. 19:56:40 And my coding convention is . for such names. 19:56:44 STRUCTURE 19:56:52 x FIELD Whatever.Foo 19:56:56 y FIELD Whatever.Bar 19:56:57 that's fine ... a bit verbose but it works well 19:57:02 END-STRUCT sizeof-Whatever 19:57:14 My code is very verbose. 19:57:18 And for good reason. 19:57:29 ah! this must be the self-documenting part 19:57:34 MrReach: its fuckin verbose, mainly if u nest structs... 19:57:34 Yes 19:57:44 Not really... 19:57:51 STRUCTURE Whoever 19:57:56 x FIELD Whoever.Bar 19:58:04 sizeof-Whatever FIELD Whoever.Whatever 19:58:09 onetom: which is? kc5tja's coding style? 19:58:10 z FIELD Whoever.Zoo 19:58:14 END-STRUCT sizeof-Whoever 19:58:20 Yeah. 19:58:26 He has issues with my verbosity. 19:58:39 :) 19:59:08 MrReach: myABE AddressBookEntry.PhoneNumber PhoneNumber.Exchange 3 TYPE 19:59:10 yes, it might get a little awkward with nested structs 19:59:11 He wants (as do most Forth programmers, really) field names that are local to data types, so you don't have to fully qualify them. 19:59:19 MrReach: dodge that 1 19:59:51 Well, like I said...if you *really* use that field that often, you should factor the code out: 20:00:05 : AddressBookEntry.Exchange AddressBookEntry.PhoneNumber PhoneNumber.Exchange ; 20:00:21 onetom: do you dislike reading that type of code? 20:00:25 MrReach: isnt just enough the pascal style notation? myAddrBookEntry.PhoneNumber.Exchange 20:00:45 MrReach: yes, ithink 20:01:03 If the language supported static typing at compile-time, yes. 20:01:06 I only get irritated when I have to scroll my editor to read the end of the line 20:01:11 MrReach: and even more dislike writing it 20:01:22 I don't like writing that, either 20:01:30 * kc5tja sighs 20:01:36 :/ 20:01:39 Fine 20:01:42 dinner's on 20:01:47 I'll make all my code shorter so everyone's happy. 20:01:54 And nobody can read what the frig is going on in the code. 20:01:58 but I'd rather read that than the cryptic stuff 20:02:08 OK, make up my mind... 20:02:09 heh 20:02:14 kc5tja: i programmed a lot in pascal, so ive experienced the satisfingness of that notation 20:02:29 * kc5tja has coded in Pascal, Modula-2, Oberon, C, C++, Perl, Python, ... 20:02:32 no, you code how you think is best ... if I have probs understanding it, I'll swamp you with questions 20:02:32 * kc5tja isn't a newbie at this. 20:02:36 kc5tja: trust me, its *just* enough 20:02:40 * kc5tja has over 20 years programming experience. 20:02:53 I know it's enough because the language was designed for it. 20:02:55 Forth wasn't! 20:03:00 Why is this such a hard concept! 20:03:12 --- nick: MrReach -> MrDinner 20:03:17 * kc5tja sighs 20:03:57 kc5tja: i also have ~15yrs of experience 20:04:48 kc5tja: tho mainly w pascal, x86 asm, and later w the standard unix scripting suff, awk, m4, sh, tcl, python... 20:05:12 kc5tja: i understand u 20:05:45 kc5tja: i understand that that 4th wasnt designed for that 20:05:55 kc5tja: im just sad about it 20:06:06 and id like 2 have some solutions 20:06:24 * kc5tja pulls my hair out!!!! 20:06:34 THAT WHOLE ARGUMENT WAS FOR NOTHING THEN!!! :) :) :) 20:06:36 just because the pascal style is "enough" 20:06:39 * kc5tja slaps his forhead... :) 20:06:44 no no no 20:07:16 You don't realize it, but you just helped me solve a particularly sticky problem here at work... 20:07:17 1st, u have showed me a perfect naming convention for 4th structs 20:07:44 u showed me how 2 make field names uniqe 20:08:04 kc5tja: :) /me glad 2 hear that? 20:08:17 kc5tja: would u tell what that problem was? 20:08:27 Funny thing is, it's totally unrelated. 20:08:30 kc5tja: and how did i help? 20:08:37 * kc5tja needs to parse a string and break it at the first whitespace. 20:08:42 lag 20:08:45 still waiting.... 20:08:55 4what? 20:09:05 still waiting.... 20:09:07 doggone it... 20:09:08 lag 20:09:12 ok, back. 20:09:28 Wow...that was the longest lag I've experienced here yet. 20:09:30 :( 20:09:55 2nd, we still dont have any reasonable solution to this name-uniqness problem 20:10:27 kc5tja: it wasnt more that a minute... 20:10:30 thats nothin 20:10:32 Agreed. Until we can associate static types with entities on the data stack, that won't be resolved, unless you use run-time lookups. 20:10:52 No, but when you type 95 WPM, it's an eternity. :) 20:10:53 i have 236secs longs somtimes 20:11:00 What country are you in? 20:11:01 long 1s 20:11:04 Dial-up? 20:11:06 hungary 20:11:15 384/64 adsl 20:11:41 That's a lot of lag for a DSL line... :) 20:12:07 not that lags, but the route 2 the irc server 20:13:54 * kc5tja nods 20:13:56 I guess 20:14:08 kc5tja: so u still dont have any idea about a shorter notation? 20:14:17 No. 20:16:34 kc5tja: how come u never need multitasking? 20:16:49 kc5tja: havent u ever programmed any interactive stuff? 20:16:50 I work with the host OS' multitasking facilities. 20:16:56 I do so every time. 20:17:17 But my code is always so fast as to never warrant the extra expense. 20:17:21 and how do u communicate between tasks? 20:17:27 I don't use tasks. 20:17:33 Each task is self-contained, and does a unique job. 20:18:22 do uknow isforth? 20:18:33 I440r develops it 20:18:50 he is a constant member and also an op here 20:19:00 * kc5tja has heard of it on c.l.f 20:19:17 he has a strange opinion is still cant understand 20:19:38 he states forthes written in C r not REAL forthes 20:20:35 It's a religious battle. I choose not to get involved. 20:20:54 I'm writing my Forth for a CPU that doesn't actually exist, and is interpretted by the real CPU. Is it a real Forth? ;D 20:21:42 2 b more presice, he says its not a TRUE forth... :/ 20:21:58 i dont see any relegious aspect here 20:22:11 Whatever. Until he demonstrates empiricle evidence to the contrary, his opinions are just that -- opinions. 20:22:16 forth is not a language, but a processor architecture 20:22:21 It's religious because it depends on a belief system. 20:22:34 It has nothing to do with Allah or Jesus. :) 20:22:51 See, here *I* disagree with you. :) I see Forth as a language. 20:22:53 so writing a simulator (a forth interpreter/programming workbench whatever) 4 it 20:22:54 Everyone is different. 20:23:13 That's why I don't get involved in such disputes. 20:23:19 it doesnt matter the lang of implementation 20:23:38 sure its a lang, but its also a processor 20:23:57 what is usually virtual 20:24:11 so it have 2 b simulated on top of an other arch. 20:24:19 still dont agree? 20:24:57 No, I agree so far. But the same thing can be said of Lisp. Any language defines a virtual machine. The only thing is, Forth is low level enough to be implementable in hardware. 20:25:09 This raises the question of, what's an operating system too? 20:25:26 Is it a language run-time, or is it truely separate? There is no real answer. 20:25:31 and whats an os? 20:26:27 "language run-time" ? 20:28:51 kc5tja: some1 should explain this 2 him some time more clearly, coz i havent managed 2 so far... 20:28:53 anyway 20:29:25 ?? 20:29:31 how will that code morphing system work? 20:29:39 I want to know my GForth is so incestuously buggy... 20:29:42 kc5tja: explain 2 I440r 20:30:10 It converts an executable sequence of VM instructions into its equivalent native architecture machine code at run-time. 20:30:15 (on demand) 20:30:54 and how does it diferentiate between code &data? 20:31:10 imean, whats the input of this procedure? 20:31:35 the source code &the intermediate code 20:31:45 or only the intermediate code? 20:31:55 I know ahead of time where code and data is located. 20:32:07 The morpher operates just like a real CPU would. 20:32:26 It successively reads instructions from the input stream, and compiles equivalent x86 or MIPS code in the target image. 20:32:36 Thus, it doesn't need to know where data is located per se (though it helps). 20:32:49 Think of how a CPU uses a code-cache to "pre-decode" its instructions with. 20:32:59 It's the same thing, only implemented in software instead of hardware. 20:33:20 hmmm 20:34:12 do u know about the cruso processor? 20:34:16 Yes 20:34:46 does the 2 morphing this related closely? 20:34:57 ithink they rnt 20:35:40 am i right? 20:36:09 (a lil bit dumb question, iknow.. but im really tired now...) 20:37:31 gotta sleep ithink.. 20:37:47 later 20:37:50 The morphing technology is the same 20:37:59 &lets meet @the grand meeting :) 20:37:59 Implementation is different though. 20:38:05 OK 20:38:10 Hopefully, I'll be there. 20:38:28 thanx 4 the lots of useful info 20:38:49 np 20:38:50 :) 20:39:06 * onetom zzzzzZZZZZZZz 20:50:30 --- join: I440r (~mark4@1Cust188.tnt3.bloomington.in.da.uu.net) joined #forth 20:51:35 hi kc5 :) 20:51:47 re 20:52:16 I am so @(*#&@(*#& fed up with ANSI Forth right now that I'm --><-- that close to just making and publishing my own standard on the web. 20:52:35 ANSI Forth isn't bad if all you'll ever use is the predefined selection of words. 20:52:53 i dont like ans forth at all 20:52:56 But writing compiler words? No way. POSTPONE doesn't go far enough, and WORD is woefully inadequate and hardly portable. 20:53:02 isforth isnt ans compliant 20:53:12 Well, neither will mine, that's for damn sure. 20:53:15 postpone is one onf my pet hates 20:53:20 * kc5tja too 20:53:36 compile and [compile] 20:53:36 * kc5tja much more prefers the far more explicit COMPILE and [COMPILE] directives. 20:53:42 Out of my head... :D 20:53:54 have you seen the sources for isforth ? 20:54:06 I literally just wasted six hours of coding effort because of the arbitrary limitations imposed on my by the ANSI standard. 20:54:09 No. 20:54:15 my comment on compile says my opinion of postpone :) 20:54:18 isforth.clss.net 20:54:29 i just released a new version too :) 20:54:41 Can you repost that comment here by any chance? I don't want to go browsing right now, because I'm already knee-deep in program code. 20:54:54 ok hang on 20:55:07 i cant paste - damned toucpad wont cooperate :) 20:55:08 You don't happen to know if NAME is an ANSI (EXT) word at all, do you? 20:55:09 ill quote 20:55:26 erm no idea mrreach (mrdinner) would tho 20:55:49 Grrr... I will implement NAME just as a concession to support portability from GForth to my forth. 20:55:58 :) 20:56:04 It makes sense, but doggone it... GForth is woefully inadequate for any serious endeavor as well. 20:56:05 what os does your forth work in ? 20:56:12 Bare metal when I'm done with it. 20:56:24 a comment underneath compile... 20:56:30 It's written in a virtual assembler, that runs inside a virtual machine, that ultimately will run on x86 under NT, and MIPS on raw hardware. 20:56:43 this word and [compile] have become a git of an issue in forth 20:57:02 community. compile is used in creating words to compile ordinary words 20:57:19 into the target definition and [compile] is used to compile immediate 20:57:35 words into the current definition. without the use of [compile] those 20:57:45 immediate words would viciously execute instead! 20:57:56 the precieved problem with this is that you ad the programmer would need 20:58:09 to know every single immediate word in the entire dictionary in order to 20:58:19 iknow how to use each of the above. in order to solve this hugte 20:58:40 huge non probel a new words has been invented that will compile any word immediate 20:59:22 or otherwise, thus relieveing you of the responsability of knowing the 20:59:27 language youa re programming in 20:59:53 A brilliant example: what does, : test POSTPONE POSTPONE POSTPONE POSTPONE ; IMMEDIATE *really* do? 21:00:27 thats almost as bad as the following in c 21:00:29 int i = 4 21:00:35 int j = i++ + ++i; 21:00:36 heh 21:00:40 * kc5tja nods 21:00:54 I suppose every programming language has its drags, but c'mon...at least C is *predictable!* 21:01:18 You have *no clue* what POSTPONE POSTPONE POSTPONE POSTPONE is supposed to do. What happens when test is executed? It could do any *number* of things. 21:01:37 It could compile the next two words in the input stream as non-immediates, or it could compile a single POSTPONE, or.... 21:01:53 The exact semantics are undefined, and yet legal by the standard's rules. 21:02:33 It actually reminds me of PL/1's IF IF THEN THEN ELSE ELSE construct. :D 21:02:33 i have always felt that forht should NOT be standardised in ANY way 21:02:45 lol 21:03:00 I disagree; I feel standardization is useful. However, if you're going to standardize compiler words, then expose and standardize the compiler!!!!!! 21:03:04 Duhh! 21:03:31 * kc5tja was talking earlier today about how I couldn't implement START/EMERGE from MLG's Backtracking support in GForth because ANSI won't let me! It's physically impossible! 21:03:44 well i think the ans team HAS done a good job in some regards 21:03:45 I've never seen any other type of Forth where it was so physically impossible to do something in! 21:03:59 but i am diametricaly opposed to a forth standard :) 21:04:12 The first mistake the ANS team made was saying, "We have a CORE wordset, and it's got everything including the kitchen sink." 21:05:08 They should have split the words up into an interpretation-only core wordset, compiler words, and said, "Both of these vocabularies are required." Same end result, but the standard is much cleaner and easier to extend. 21:05:19 well i think the ans team HAS done a good job in some regards <--- who are you?! What have you done with the real i440r?! ;P 21:05:33 lol 21:05:35 Now, we have to put up with a woefully incomplete and underpowered WORD, which oes teh same thing as PARSE, but: 1) PARSE isn't standard, and 2) PARSE's semantics and WORD's semantics are night-and-day different!! 21:06:01 parse and word are almost identical 21:06:03 So we now have two words which are the same, but yet, which are completely different. 21:06:04 * kc5tja sighs 21:06:11 Until you get into the details. 21:06:15 word calls parse-word which ALSO skips leading blanks 21:06:32 WORD breaks on the search character, OR, if a space, on ANY white-space. PARSE doesn't. 21:07:03 * kc5tja read the standard earlier today. 21:07:15 WORD and PARSE are radically different solutions to solving a decidedly common problem. 21:08:06 yes 21:08:18 not MY word 21:08:29 but i took mine out of fpc which is basically laxen and perry code 21:08:33 In my Forth, WORD doesn't exist. 21:08:51 And I'm seriously thinking of not having PARSE either, just to ensure the programmer must make a choice as to what real functionality he wants. 21:09:39 how would this work ? 21:10:23 Define a new parsing word, as part of the (gasp!) Parser vocabulary, called ParseText. 21:10:59 ParseText doesn't take any parameters -- you have to configure its breaking parameters using a different word, SetParseParameters or some such. 21:11:22 Does it break on arbitrary whitespace, or a specific character, or both? All such flags will be made available to the programmer. 21:11:43 There will be no confusion as to what the programmer wants, and what results (s)he'll get. 21:11:49 hrm - on a scale of 1 to 100 how would you rate yourself as a forth coder ??? 21:12:04 Moreover, I have another pet pieve -- why can't I create a word given a string variable? 21:12:22 I'd rate myself 75 -- well above average, but not god-like. I just want a working Forth environment. 21:12:39 i would put myself in that range 21:13:02 isforth is my direct threaded linux/x86 only (fbsd too soon i hope) forth 21:13:10 As would most Forthers, I suspect. It wouldn't surprise me to see Elizabeth Rather say she's at 100... ;D 21:13:10 uses syscalls for everything 21:13:18 lol 21:13:19 Sweet. 21:13:26 Written in assembly> 21:13:27 ? 21:13:31 yes 21:13:32 NASM? 21:13:33 using nasm 21:13:35 Sweet. 21:13:45 which brings me to my delema 21:13:52 i want to write a meta compiler for it 21:13:53 so 21:13:58 * kc5tja may consider hacking your code for my own Forth dialect in the future when I get around to it, or using it as inspiration for a whole new Forth environment. 21:13:59 i NEED an assembler extension 21:14:16 its lisense is modified GPL 21:14:34 Hmmm... well, there goes that idea. :) 21:14:43 I was going to license my product using libpng/zlib license. 21:14:43 the modification being application code compiled onto my kernel can have ANY fucking lisence YOU want it to have ) 21:15:07 whats that lisence ? 21:15:17 It's open source; similar to BSD, but with a LOT less verbage. 21:15:29 1) You can do anything you want with this code, including re-selling it. 21:15:37 2) You did not write the code, so on't say you did, 21:15:40 3) Retain this copyright. 21:15:42 (basically) 21:15:57 It's on the opensource.org website. 21:16:16 aha 21:16:17 http://www.opensource.org/licenses/zlib-license.html 21:16:28 Wow, they re-did the website. Nice. It's actually easier on the eyes now. 21:16:38 lol 21:16:58 my web site only has "ill put something here soon, download the tgz here" 21:17:01 The reason I want that license is because I want the right to make money off my stuff, and I want the right to withhold all sources if necessary. 21:17:13 But at the same time, I want the right for others to do the same. 21:17:18 neway as i was gona say.... 21:17:21 It's not my ideal license, but it's the closest I've found thus far. 21:17:27 do you think you could help me with the assembler ? 21:17:32 im DREADING doing that 21:18:24 I can TRY... No guarantees though. I've not yet written a successful x86 assembler in Forth yet. (In fact, I tried only once, but it was transmogrified code from PygmyForth's assembler. It don't have the code, and it's not really applicable to 32-bit code anyway). 21:18:45 'coz I'll be needing an asm wordset for my Forth too. 21:18:46 :) 21:18:53 :) 21:19:05 im a heretic tho when it comes to forth asm 21:19:21 You want pre-fix/infix ordering, and not postfix? :) 21:19:25 for me it HAS to be "mov ax, 4" not "5 # ax, mov" 21:19:49 i would cream myself for a forth assembler that could take the existing nasm sources and compile them with only SLIGHT modification 21:19:50 * kc5tja couldn't care less either way, actually. 21:20:27 As long as I can define assembler macros using colon-definitions, and as long as it would support forward label definitions of some sort, I'm happy. 21:21:14 yes. that should always work 21:21:30 you just compile the defining words of the assembler instructions into the : def 21:21:43 asm words just do complex c,'s so that should always work 21:21:45 Well, the prefix assembly format would require a complete parser, really. I suppose we could use something like GREY to implement it? 21:21:56 grey ? 21:21:56 Though, GREY is ANSI -- we'll have to modify it to fit your Forth. 21:22:04 whats gray ? 21:22:09 It's a parser generator type thing -- YACC for Forth essentially. :) 21:22:32 aha 21:22:41 sounds too complex heh 21:22:53 Yeah, that's a lot of baggage just for an assembler. 21:23:04 ya 21:23:26 Some elements would have to be post-fix though. 21:23:28 For example: 21:23:31 so how come ive not seen you in here before :) 21:23:51 MOV EAX, [ 4 5 MyBase @ + + +EBX ] 21:23:52 or something. 21:24:00 Because I never knew it existed. 21:24:21 nope. tcn was working on my assembler before and had a word to parse between [ and ] and extract registers 21:24:25 and operators 21:24:30 so it would know how to handle 21:24:50 mov eax, 1234+[eax+ebx+4*edx] 21:24:51 OK, but it needs some way of executing arbitrary Forth sequences inside those brackets. 21:25:15 You won't (or at least, *I* won't) always know that 1234 should be 1234. 21:25:34 might have to do 21:25:43 [blahblha]+1234 21:25:49 Otherwise, it looks like a recursive descent parser is what's going to be needed. 21:25:50 or 1234 [.....] 21:26:07 erm no hehe - recursion is an abomination :) 21:26:08 heh 21:26:24 Well, hate to say it, but that's what it's going to come to. 21:26:39 RCParsers rarely go very deep, unless you define a complex language like Pascal. 21:26:52 lol i bet i can find an itterative method once i see the code... 21:26:58 btw - have you noticed the topic in here ? 21:27:06 Recursion is usually for handling things like parenthetical expressions. 21:27:14 Bet you can't. 21:27:39 Not in 30 years has anyone found an iterative method, save one -- the type of parser that YACC produces: an LALR parser. 21:27:45 And even that uses "stacks" to maintainstate. 21:28:07 But now we're getting back to what GREY is. 21:28:08 : fib dup 1 > if dup 1- recurse swap 2- recurse + then ; 21:28:09 or 21:28:30 That's fine for when you have only a single level of branching (e.g., fib calling fib). 21:28:31 : fib 0 1 rot 1 do tuck + loop nip ; 21:28:44 But what happens when you have expr calling term calling product calling primary calling expr? 21:29:06 Which is exactly what will happen when processing parenthetical expressions in the assembly listing. 21:29:19 lol any recursive method can be accomplished better with an itterative one. 21:29:27 Not better -- jsut different. 21:29:39 usually faster. always with less of a stack bash 21:29:50 sometimes a little larger but not always 21:30:24 No argument; but when you have code calling code calling code calling code calling code, like the example above, the equivalent iterative solution is hhhuuugggeee. 21:30:44 And for no gain either -- the code space consumed will far exceed the stack space consumed in the recursive system. 21:31:00 lol you seen the GNU itterative quick sort in c ? 21:31:01 lol 21:31:04 Parsing is one of the few areas where recursion really is better than an iterative system. 21:31:25 no 21:31:36 I try to stay as far away from anything GNU as possible. 21:32:10 me too 21:32:26 isforth doesnt use libc or ncurses yet can do almost everything those can 21:32:56 Yeah, as long as you assume VT-100 or ANSI control codes for the terminal (a fairly safe bet; that's what the Amiga did, after all!). 21:33:03 How big is isforth? 21:33:05 ;) 21:34:10 erm in source or executable 21:34:31 unextended kernel is 15540 bytes 21:34:32 Executable 21:34:38 Gotta love it. :D 21:34:41 extended kernel is 28669 bytes 21:35:03 download it - youll love it :) 21:35:40 * kc5tja doesn't have a Linux box to use it on right now. 21:35:48 aha 21:35:48 My box is in storage. 21:35:53 Does it have an XLib interface for it? 21:35:57 And does it support sockets? 21:35:58 not yet 21:36:13 im had sockets but they dont seem to work any more - made a change somewhere heh 21:36:20 Hmm...does it support interfacing to any arbitrary C library? 21:36:20 thats unreleased tho 21:36:29 i will release it tho - not yet. but it will 21:36:44 Once that happens, supporting Xlib will become easier. 21:36:49 the kernel wont reference any external libs. but user apps will be able to 21:36:56 Right. 21:37:03 That's what I was referring to. 21:37:11 I see xlib as an application resource anyway. 21:37:18 But if xlib and sockets can be supported, I'm sold. 21:37:21 its in my readme as a planned future enhancement 21:37:30 Oh, and floating point! Does it support floating point? (Please please please say it does...) 21:37:31 both CAN - they WILL be heh 21:37:41 no no floating because no asm yet 21:37:52 Doh... :( We'll have to get that in there... :D 21:37:58 the assembler MUST support every instruction up to P4 including mmx and debug regs etc 21:38:04 * kc5tja does a lot of numerical simulations and scientific support with my turbine hobby. 21:38:07 and 3dnow etc 21:38:19 i want to do a complete gfx engine too 21:38:26 Hmm...definately cannot guarantee I can do that, but I can at least help with the infrastructure... 21:38:36 gfx engine is outside of my league. 21:38:42 mine too 21:38:46 but i wont let that stop me :) 21:38:49 * kc5tja is more of a low-level person. 21:38:58 i have alot of friends who are very expert at it 21:39:00 me too 21:39:01 * kc5tja prefers raw xlib, for example, over something like GTK, though GTK is pretty nice too. :) 21:39:06 embeded control is where im at 21:39:22 * kc5tja is in research and development. 21:39:30 except ive not had a contract since august :( 21:39:31 I like to build model turbine engines, and monitor their performance. 21:39:35 doh! :( 21:39:36 where are you located ? 21:39:41 Oceanside, California. 21:39:59 i got letters from the lawyers probably initiating a repo on my house :( 21:40:23 ive not opened the letters yet 21:41:14 im in indiana 21:41:30 Hmm...that can't be good. 21:41:36 its not 21:41:46 but my father and i are setting up a gun smithing business here 21:42:06 we have been waiting on the BATF to deliver our lisences to manufacture ammunition and manufacture arms 21:42:25 been months waiting for them but we got a fone call today. they are going to come see us next tuesday 21:42:35 which probably means we got the lisences 21:42:55 Ooo...good luck. 21:42:59 So you'll be making guns then? 21:43:00 we have been sporterizing mausers. by the time they get here we will have TWO ready for sale 21:43:15 we will be buying in mauser actions. finishing them 21:43:20 barreling and stocking them 21:43:29 putting iron sites or a scope on them 21:43:41 and we can make ammo for just about any gun you care to dream up already 21:44:02 but till we get the lisences we cant sell any of this 21:44:25 actually by tomorrow we will have the first firearm ready for sale - were going to fire it tomorrow 21:44:43 and we CAN sell one or 2 - but batf gets pissed off if you do that too much heh 21:44:56 so how did you learn about #forth ? 21:47:49 ? 21:47:49 Newsgroup, actually. 21:47:52 aha 21:47:53 Sorry, cooking. 21:47:53 :) 21:47:56 heh 21:48:02 hrm cook me some!!! 21:48:07 not eaten yet :P 21:48:10 I must warn you though: I hope you don't mind verbose Forth. :) 21:48:13 clf ? 21:48:15 Yeah. 21:48:25 im Mark Manning there 21:48:29 As you've probably seen from my code examples on CLF, I'm a very verbose Forth coder... ;D 21:48:40 I figured as such... :D 21:48:44 :) 21:49:03 Why the I440r nick, BTW? 21:49:09 im a very opinionated forth coder :) 21:49:14 Ibanez 440 radius 21:49:17 my guitar 21:49:19 * kc5tja is Samuel A. Falvo II 21:49:24 AAAaaahhh.... 21:49:26 same guitar that joe satriani uses 21:49:29 Jackson JS-1 for me; crap, but it works. 21:49:31 ohhhh rite! :) 21:49:35 lol 21:49:43 I can't play very well though. 21:49:44 ive not touchd it in over a year 21:49:47 Ditto. 21:49:50 know any satriani ? 21:49:53 But I never could play very well back then either. :D 21:49:54 i can play midnight :) 21:49:59 I can't play anything. :D 21:50:10 i can also butcher part of paganini's capriece #24 :) 21:50:25 Heh -- they don't call it an axe for nothing, I guess. 21:50:31 heh 21:50:37 a plank :) 21:51:04 My influences are mostly Genesis and Pink Floyd, Rush, etc. Mostly the progressive rock bands. Oh, and King Krimson. :D 21:51:17 I've been getting into jazz lately too, though I'm nowhere good enough to handle that yet. 21:51:28 Especially since I can't play anybody else's music yet. 21:51:28 genesis and ping floyd are COOL 21:51:37 i mostly play hendrix and clapton 21:51:53 Hendrix and Clapton are nice too. I don't like the sappy Clapton stuff though. 21:51:56 i would classify myself as a BLUES purist 21:52:00 It's like he totally sold out. 21:52:08 ya. 21:52:13 * kc5tja likes blues too, but I'm more for jazz. 21:52:27 But I can play some blues...blues is easy. 21:52:30 (mostly) 21:52:33 my brother has a definition for jazz you would love :) 21:52:42 4 men, playing 4 different songs at the same time 21:52:46 Anything goes school of martial arts music? ;D 21:52:51 i have a slightly different one :) 21:52:53 Yeah, I heard that before. :D 21:53:01 ONE man playing 4 different songs at the same time 21:53:06 ohh i do wing chun too :) 21:53:27 im not heavly into jazz the scales are too weird :) 21:53:36 Is this the "Let's all wang chun party tonight" song? 21:53:36 gimme a nice hungarian scale tho any time :) 21:53:42 no 21:53:54 wing chun kune is a kung fu style 21:54:07 Well, I like progressive rock because it's the only rock form that makes disharmony sound so good. I like playing with sound as much as I like playing the music. 21:54:11 its the most devistatingly effective kung fu there is 21:54:16 OOooh. Never heard of that. I do aikido. 21:54:21 theres no waving yoru arms all over the place 21:54:27 or jumpin up in the air 21:54:33 Well, neither do we. :D 21:54:38 its where the sticky hands technique comes from 21:54:39 Not really, at least. 21:54:44 if i didnt do wing chun i would do akido 21:54:51 thats the ONLY real japanese art 21:55:20 * kc5tja isn't good enough to comment on that aspect. 21:55:29 im no expert at the art tho - im an absolute beginner 21:55:36 but wing chun is very simple 21:55:45 the entire system can be learned in about a year 21:55:46 * kc5tja was thinking, after becoming good in aikido (where good is at least 2nd degree black belt), I was going to take tai chi to balance out the aikido too. 21:55:52 that doesnt make you a MASTER tho heh 21:56:13 yes. tai che is actually a very very good martial art 21:56:23 Ditto for aikido, believe it or not. It's just that there are so many different combinations of the basic movements, that it's difficult to know where to begin. 21:56:26 not just some exercise drill the chinese do 21:56:47 the first pattern in wing chun has EVERY basic movement in it 21:57:01 the most difficult part for the beginner is the foot work 21:57:02 The only problem is that that most local Tai Chi places, no ALL local Tai Chi places, do just the spiritual/yoga-esque aspect of it. 21:57:05 placing the feet properly 21:57:21 I want the actual martial aspect too, and the most local place that does that is way down in San Diego -- about an hour drive from where I live. So aikido was it. 21:57:33 heh 21:58:04 ibet if a wing chun master and an akido master faced off wing chun would win 21:58:12 I bet nobody would win. 21:58:16 Neither would strike the other. 21:58:16 lol 21:58:24 actually i think you might be rigth 21:58:28 erm 21:58:39 akido is more broad range 21:58:43 wing chun is very specialised 21:58:59 i think the wing chun guy7 would make a strike 21:59:10 The reason is, there is no "best" martial art. The body can move in only so many different ways. All the arts, ultimately, unify into one once you attain a high enough mastery of them. 21:59:12 tho - i wouldnt like to be the wing chun gyy TESTING my theory heh 21:59:25 no. but there ARE bad ones hehe 21:59:30 (judo - puke :) 21:59:30 The aikidoka's power is in his ability to wait for the strike. 21:59:41 yes 21:59:44 That's what he *wants* you to do. ;D 22:00:04 wing chuns technique teaches you to adapt your atack to your opponents defence and strike through it 22:00:08 He may take a few hits as he's introducing the striker to the Earth, but the fact that the fight is over in about 30 seconds, or less, that's all the aikidoka's purpose in life is for. 22:00:17 and to adapt youru defence to your attackers attack 22:00:20 Aikido's is diametrically the opposite. 22:00:32 Adapt the defense to the attack, and control the attacker that way. 22:00:46 yes 22:00:58 you use your opponents force/momentum against him 22:01:08 In the most extreme case, yes. 22:01:19 While that's what we train for, in reality, you just want to avoid being hit first. 22:01:25 if i hit you and you defend i change my attack MID strike to counter your defense 22:01:34 If that doesn't send a clue-bat to the attacker, then more force might be necessary. 22:01:44 yes 22:01:49 * kc5tja just recovered from an injury from receiving a full-strength aikido technique in class. 22:01:59 usually just defending yourself with confidence will thwart the attack 22:02:04 It is *NOT* fun -- took me a month to recover from it, and I'm still having some small lingering symptoms. 22:02:14 from the instructor or from another student 22:02:20 Another student. 22:02:26 See,... 22:02:30 that student should be thrown out 22:02:32 period 22:02:40 i used to do tae kwan do 22:02:47 there was a 4 foot nothing girl in that class 22:02:47 the technique we were doing was specifically designed to teach body movement -- think of self-study Tai Chi, only with a partner. 22:02:56 third degree black. always in competitions 22:02:56 Very slow, palm-to-palm (sticky hands?) motion. 22:03:09 Sensei just got done saying, "Don't do this technique fast. Someone will get hurt if you do it fast." 22:03:22 But, out of habit, my partner did it fast, and *wham*... 22:03:31 Cracked the base of my skull on the mat. Gave me immediate whiplash. 22:03:42 he should be stripped of any rank and kicked OUT of that class 22:03:44 At the time, I thought I'd broken my neck. 22:03:48 It was an accident. 22:03:52 this girl couldnt switch off her "kill" mode either 22:03:55 Anyone could have done it. 22:04:09 it was an inability to CONTROL 22:04:12 no. 22:04:15 It was just as much my fault for not taking the fall correctly. 22:04:28 what if you were a beginner 22:04:34 --- join: GilbertBSD (~gilbert@m138.max3.dacor.net) joined #forth 22:04:39 i saw this girl i mentiond axe kick a nwebie 22:04:39 hullo 22:04:41 I can't say, I think we both know. 22:04:46 he was out for about 5 minutes 22:04:58 --- quit: sif (Connection timed out) 22:04:59 But mistakes do happen. 22:05:11 not that sort of mistake tho. 22:05:16 I've worked with him before, and he's not the type of person to do something like that on purpose. 22:05:16 I440r: freebsd did not like isforth 22:05:22 Yeah, that sort of mistake. 22:05:22 i know :( 22:05:34 how did you know? 22:05:34 re GilbertBSD 22:05:37 i sort of fixed one of the problems but it still barfs 22:05:44 i forgot to clean parameters after a syscall 22:05:54 ah. 22:06:11 can >r and r> be used interactively? 22:06:17 i think one of the syscalls im making is passing parameters out of order tho - because even after fixing the above poroblem i still crash 22:06:20 or do they only belong in a definition? 22:06:37 the linux version didn't work either. 22:06:44 if you do an r> while in interpret mode i think it would be the same as typing exit 22:06:46 it produced the exact same erros. 22:07:02 gilbert what errors 22:07:09 gforth: r> .s 22:07:18 I440r: after i typed make. 22:07:33 %xdefine unknown ? 22:07:39 yep 22:07:50 lol - you need to upgrade your nasm 22:08:02 I got the latest version I think. 22:08:17 cant have - i am posative the latest supports %xdefine 22:08:51 nasm development has been take over by new ppl 22:08:53 abandoned 22:08:57 take over by new people 22:08:59 abandoned 22:09:03 taken over by,,..... 22:09:15 why not use the standard asm ? 22:09:18 it is always there! 22:09:22 you mean GAS ? 22:09:24 NASM is abandoned? Better not be!! Hell, *I* will assume ownership of NASM if that's the case! 22:09:29 yeah 22:09:32 whats wrong with gas? 22:09:38 FUCK that - not in a million fucking years would i use that abomination 22:09:47 Agreed -- gas is ... a gas. 22:09:48 no - its under active development now 22:10:08 but the project has been handed to new people multiple times heh 22:10:14 how do i check which version of nasm I have? 22:10:23 erm im not sure heh 22:10:27 nasm -v ? 22:10:32 no. i dont think that works 22:10:35 you can do this 22:10:41 make a dummy source file 22:10:43 assemble it 22:10:43 -r 22:10:55 look in the module at the .comment section 22:10:56 NASM version 0.98 22:11:00 that always has the nasm version 22:11:02 thats OLD 22:11:09 and fucked in the head 22:11:13 whats the new version then? 22:11:20 im using 98e 22:11:32 Why don't they just call it 0.99? 22:11:39 I think the developers are fscked in the head. 22:11:45 you think ? 22:11:51 so whats wrong with gas then? 22:11:53 i dont know - 98e started as an unofficial version 22:12:00 gas is not a real assembler 22:12:05 its the back end to a crappy c compiler 22:12:11 it has NO error checking 22:12:19 because gcc always passes it good sources 22:12:20 so what else is there? 22:12:29 It's a real assembler; but it's a horribly deficient assembler designed specifically and only for the use of GCC. 22:12:30 it uues the most fucked up syntax there is for x86 22:12:38 I thought you said it was the back end to a crappy compiler 22:12:45 it is 22:12:46 It is the final back-end, yes. 22:12:49 gcc is a crappy compiler 22:12:59 gcc calls cc1, then cc2, then gas. 22:12:59 why? 22:13:03 * I440r HATES c 22:13:18 GCC for x86 is pretty decent -- produces code at least as good as any other Intel compiler I've ever seen. 22:13:23 so there is gas, nasm, and what else for x86 unix? 22:13:28 * kc5tja works with GCC and MSVC and CodeWarrior professionally. 22:13:35 GilbertBSD: That's it. 22:13:47 i could use my registered a386 and produce a BIN file 22:13:49 so one is stable, the other is a moving target. 22:13:54 and manually generate the ELF file 22:14:12 i use codewrite :P 22:14:14 isforth 22:14:16 nasm 22:14:20 and a386 22:14:28 and the interactive disassembler pro :) 22:14:57 but not professionally. i aint a professional any more :( 22:15:04 that takes "employment" 22:15:10 but man, I got told that forth lets you do stuff without touching asm 22:15:17 then I find out that I kinda need asm! 22:15:19 whats the deal? 22:17:08 isforth doesnt have an assembler 22:17:18 but you need an assembler to CREATE isforth itself 22:17:29 and isforth will have an assembler eventually 22:17:37 consider the last time i asked a question about chips. 22:17:51 it turns out that I really have to know asm to do anything in forth that close to the hardware :( 22:20:04 Not strictly true, but if you know assembler, things can get easier. 22:20:26 You know how the computer thinks, so you can use that to your advantage if you are doing anything non-trivial. 22:20:43 but I thought that was the whole point of Forth! 22:20:50 It is. 22:20:59 gilbert you dont NEED to know it 22:21:09 but knowing it would be a BIG help 22:21:21 but I thought forth was the ULTIMATE. 22:21:25 you can use pure forth tho 22:21:31 it is 22:21:33 thats kinda why I started learning it. 22:21:43 but isforth ISNT yet 22:21:44 * kc5tja used pure Forth to write a metronome application for DOS, but I still touched the hardware directly to do it. 22:22:19 kc5tja: did it control the pc speaker? 22:22:21 Yes 22:22:26 where is the source? 22:22:33 On my laptop, in block file format. 22:22:41 that was precisely what I was trying to do. 22:22:48 I wanted to write something to control the pc speaker . 22:22:50 hehe /me doesnt like block files :P 22:22:54 or at least to find out how such a thing works. 22:23:39 Each Forth has its own method of accessing the hardware; I used PygmyForth, so I used its PC@ and PC! words, which work just like C@ and C!, except it accesses the I/O space instead of memory space. 22:23:48 how did you do the port i/o without asm ? 22:23:57 aha ok 22:24:00 fpc had those too 22:24:15 frank seargant is one of the REAL forth coders :) 22:24:17 so how does one write pc@ ? 22:24:31 its a primative in the kernel 22:24:41 the forth kernel HAS to have assembler in it 22:25:03 with forth it is then impossible to avoid asm is that right? 22:25:22 Like I said, I never used a single line of assembler to write my metronome. 22:25:28 As soon as my laptop boots, I'll even post source code. 22:25:40 kc5tja: I use gforth. 22:25:46 do you know if it has equivalent words? 22:26:00 No, because GForth uses the Linux kernel, under libc. 22:26:10 It's an application that doesn't have access to the hardware. 22:26:20 Any hardware. 22:26:21 At all. 22:26:28 so what do I need? 22:26:29 Actually.... 22:26:32 wait just a minute. 22:26:34 i have pfe and tlle as well. 22:26:39 Linux has a /dev/ports doesn't it? 22:26:39 umm tile 22:26:43 or is it /proc/ports? 22:26:55 I think it's /dev/ports. 22:26:56 its /dev i believe 22:27:00 I don't recall exactly what it is. 22:27:06 because the ports are a device 22:27:09 But you can write your own PC@ and PC! using the GForth File I/O code. 22:27:25 ports are in /dev but ive never accessed them 22:27:28 The only caveat is that you need to make GForth setuid ROOT (!!) for it to work. 22:28:10 Just a second. I can't verify that this code will work, unfortuantely, because I don't have access to a Linux box to test this with. But this code *should* work with GForth. Just a second while I write it up. 22:28:15 hmmm - linux should be able to treat hardware ports as FILES 22:28:38 user space i/o would be good 22:28:49 brb 22:28:49 food 22:28:55 btw what were youcooking kc ? :) 22:29:08 Macaroni and cheese. Already finished it. :D 22:29:15 : OPEN-PORTS ( -- ) 22:29:20 from a box? 22:29:27 the plastic stuff ? or the real stuff ? 22:29:28 :) 22:29:53 im gona go cook myself a chunky clam chowder :) 22:29:55 brb 22:30:18 S" /dev/ports" ( or whatever it's called) R/W BIN OPEN-FILE THROW 22:30:30 PortsHandle ! ; 22:30:32 22:30:36 : CLOSE-PORTS ( -- ) 22:30:43 PortsHandle @ CLOSE-FILE THROW ; 22:30:44 22:31:01 : PC@ ( port -- databyte ) 22:31:36 S>D PortsHandle @ REPOSITION-FILE THROW 22:32:04 DataBuffer 1 PortsHandle @ READ-FILE THROW DROP 22:32:10 DataBuffer C@ ; 22:32:11 22:32:16 : PC! ( databyte port -- ) 22:32:27 S>D PortsHandle @ REPOSITION-FILE THROW 22:33:14 DataBuffer C! 22:33:17 DataBuffer 1 PortsHandle @ WRITE-FILE THROW 22:33:19 ; 22:33:25 22:33:35 Don't forget to declare DataBuffer and PortsHandle as VARIABLEs. 22:33:42 kc how did you come up with that so quickly? 22:33:58 At the beginning of your program, call OPEN-PORTS, and at the end of the program, call CLOSE-PORTS. 22:34:20 Experience with both Linux and an intimate knowledge of GForth. ;D 22:34:42 * I440r doesnt like catch or throw either :P! (abort and abort" all the way" :) 22:34:44 But like I said, I don't have a Linux box to test this with, so I can't guarantee it'll work. But it'll be a starting point, for sure. 22:34:59 Oh no...I gotta have CATCH and THROW. 22:35:04 hehe 22:35:45 Sorry, if I enhance ISForth, I'm going to implement CATCH and THROW. ;D 22:36:00 hehe 22:36:19 why do I get a stack underflow error when I type ">r swap r>" all on the same line 22:36:23 you are welcome to :) 22:36:27 but I don't get the error when I do it one at a time? 22:36:46 when you do the what is on the stack 22:37:12 before you do it 22:37:14 first I type clearstack in each case. 22:37:26 Not sure, but >R and R> shouldn't be used in interpret mode. They manipulate the return stack, which in interpret mode causes bizarre effects. (Yet another issue I have with ANSI standard Forth) 22:37:28 so what is the swap swapping with 22:37:30 it comes about as a result of the swap . 22:38:02 : wont-work-in-ans r> blah blah >r ; 22:38:05 also when i have 2 items on the stack and I type 'rot' 22:38:11 it does not cause an error! 22:38:28 same thing with swap. 22:38:38 You know, Anton won't admit it, but GForth is very, very fragile. 22:38:39 when i have 1 element on the stack and i type swap, there is no error. 22:39:01 * kc5tja can make GForth crash irreparably very easily, despite Anton's insistance that it's uncrashable. 22:39:03 hehe 22:39:22 how kc? 22:39:32 err - anyone who says their code is not crashable is NO real coder 22:39:46 for me its/.... if you can crash me - tell me how. ill try fix it 22:40:08 Manipulating the dictionary in seemingly ANSI standard ways is one. In working with my continuation code, for example, I can make GForth go literally berzerk trying to deal with code that uses them. 22:40:19 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 22:41:02 hi rob_ert 22:41:03 I440r: I don't consider Anton to be a real coder. I consider him a useful resource in that he conducts good research and is very scientific. But he's too proud of GForth to be of any real help in resolving bugs. Witness my recent post about using WORD in conjunction with POSTPONE SLITERAL. 22:41:21 Hey GilbertBSD 22:42:34 * kc5tja has to do a *lot* of dirty trickery, and it's 100% ANSI non-compliant (!!), to avoid that ANSI-supported-and-endorsed oversight of WORD and SLITERAL. :( 22:44:34 so kc for linux/freebsd which forth do you recommend? 22:44:50 I don't have a recommendation, because I'm still looking for "the ideal Forth". 22:45:01 have you found one for dos? 22:45:15 I want something like PygmyForth, really, in the end. But no Forth for Unix really meets all of my criteria for a recommended Forth. 22:45:37 Yes. For DOS, I really like PygmyForth 1.5. 22:45:43 sounds like the NASM team hehe 22:45:54 all they seem interested in is adding this feature or that feature hhe 22:46:07 I thought it was pretty simple to write an asm from forth. 22:46:29 I saw some articles by rodriguez(?) that indicated as much. 22:46:32 It's not ANSI Forth, and some of the things it does is bizarre at first glance. But it comes with complete source code, and it's easier to use. It also gives you direct and raw access to hardware registers (as indicated previously, via PC@ and PC!). 22:46:44 i love it - 100% ansi NON compliant heheh 22:46:57 kc5 if i didnt already know you were cool - you would be now :) 22:47:05 Hehe Thanks. :D 22:47:12 It's just that I'm strongly opinionated. 22:47:15 I440r: Take that as criticism against isforth :) 22:47:42 rob - i WELCOM critisism :) 22:47:56 * kc5tja doesn't have any problems with people writing an ANSI CORE wrapper on top of a far more capable non-ANSI Forth kernel. 22:48:06 The reverse, however, is utterly unacceptable in my eyes. 22:48:10 yes 22:48:14 i agree 22:48:16 That's like trying to write a functional C compiler in Commodore 64 BASIC. ;) 22:48:22 :D 22:48:45 kc im glad you didnt make that statement to a few of my old friends 22:48:47 Likewise, Dolphin, the OS I'm working on in my spare time, is 100% **NON** POSIX compliant. 22:48:48 they would have tried :) 22:48:56 But it will have a POSIX wrapper for it, to allow me to run POSIX software. 22:50:01 sounds cool 22:50:07 does it use the elf file format ? 22:50:11 And yes, the OS kernel will be written in my Forth dialect. 22:50:21 It didn't, but it will now. 22:50:33 im contemplating an option to write debug info on fsaved programs (not turnkey tho) 22:50:34 so when is a portable forth gonna come out? 22:50:36 And no, the OS will not expose a Forth command prompt unless you drop it into "debugger" mode. 22:51:06 gilbert portability is NOT all its cracked up to be 22:51:18 'jack of all' or 'master of one' 22:51:19 python is nicely portable. 22:51:20 pick one 22:51:27 and it does quite a bit. 22:51:33 so does perl. 22:51:37 and *gasp* asm. 22:51:45 no scratch asm. 22:51:45 GilbertBSD: Assembly language is anything but portable. 22:51:47 :D 22:52:01 Portable Forth is possible, but the ANS Forth committee blew their chances. 22:52:25 kc5 ans forth is like a cammel - a horse designed by a committee 22:52:29 They started off with a good start, but then they got all squirlley on us with words like POSTPONE, and WORD versus PARSE, and all sorts of other weird effects. 22:52:42 bit ANS is a committe! 22:52:50 Yes, and it shows. :) 22:52:54 mrreach is trying to educate me to the ins and outs of ans forth - and to some degree he is succeeding :) 22:52:55 a little 22:53:03 but thers alot that i just simply resist 22:53:12 i look at it and its just WRONG heh 22:53:48 this is all very encouraging for a forth newbie. 22:54:00 It's funny, because Mrs. Rather makes a lot of arguments about how supporting embedded processors was a critical criteria for the development of ANS Forth, and yet, so many of her arguments can be used AGAINST the existing standard. 22:54:09 gilbert forth newbies ALWAYS have a very steep learning curve 22:54:14 ans or not 22:54:27 get over that hurdle and its flatline all the way 22:54:47 GilbertBSD: I didn't mean to get you down. :( However, if I were in your place, I know exactly how you'd feel. I'm in the similar situation with respect to the Oberon programming language. A wonderful language, but backed by no less than *six* independent and competing (e.g., won't-talk-to-each-other) standards. 22:54:54 I haven't encountered anything difficult except for the fact that if you really want to talk to the hardware, you are better off with asm. 22:55:05 tho im still a bit iffy about the asembler and the meta compiler issues :) 22:55:21 * kc5tja tried to write a meta-compiler once. I just gave up. 22:55:22 asm is my primary language 22:55:26 forth is a close second tho 22:55:38 i have ideas on how im going to do it 22:55:52 every vocabulary in isforth will eventually reside in their own sections 22:56:14 See, in my Forth, I'm not even looking at the standard. :D 22:56:15 ill just create a target vocabulary and save THAT vocab only 22:56:25 So my vocabularies will be designed from basic, first principles. 22:56:27 what about colorforth? 22:56:31 is that not pretty decent? 22:56:35 ;) 22:56:47 colorforth is written in pure asm 22:56:54 thers no forht source for it yet 22:56:57 GilbertBSD: Don't even go there. :) That's about as utterly non-standard as you can get. But, OTOH, that may be its biggest strength. 22:57:19 kc5tja: CM asked if we wanted colorforth in forth and we said yes. 22:57:20 kc5 how can ANYTHING chuck moore produces be NON standard 22:57:22 Actually, wasn't ColorForth written in machine language, not assembly? I thought Chuck used colored dots on the screen to implement the program? 22:57:24 his code IS the standard 22:57:31 he'll be back on saturday and we'll see what he did. 22:57:51 GilbertBSD: I'm not sure I understand Chuck's question, or even why he asked. 22:57:53 kc5 ya gona be here when chuck moore comes in ? 22:58:05 I'll *try* to be. I might have an errand to attend during that time, though. 22:58:21 i hope i dont sleep thru it heh 22:58:28 i mean "be not up yet" 22:59:29 I'll be right back. I need to clean up my plate... 22:59:57 me be I should head back to the comfort of python/scheme :( 23:00:29 gil stik with forth 23:00:32 you wont regret it 23:00:36 I dunno man. 23:00:40 just dont expect too much from it at first 23:00:46 I can't do the cool things I wanna do without asm anyway :( 23:00:49 once you learn it ANYTHING is possible 23:01:24 but once I learn which one? 23:01:36 one day you will be writing your OWN forht compiler 23:01:39 do ytou have dos 23:01:44 so far I can do data stack manipulation pretty well, i can do if/else/then, and i can do loops. 23:01:44 or windows 23:01:55 gforth: : a ." To and ANS or not to ANS, that's the question." ; a 23:01:55 I hate windows. 23:02:00 rob_ert: To and ANS or not to ANS, that's the question. 23:02:02 do you have dos 23:02:05 if so. get fpc 23:02:05 it would be defeating the purpose for me to go back to dos. 23:02:07 learn THAT 23:02:09 * rob_ert leaves for schoool, bye all. 23:02:20 try run fpc in a dos emu then 23:03:32 bye rob_ert 23:04:36 Hmmm 23:04:43 This is all becoming so clear to me now... 23:04:56 Forth is so much like an aiki martial art... 23:04:58 what is ?? :) 23:05:09 It's so simple, and yet, so incredibly hard at the same time. 23:05:44 Consider, shomenuchi iriminage -- a technique that you learn as a white belt in aikido, but aren't expected to have it master until you're a blackbelt -- a six year investment... 23:06:22 Likewise, Forth's basic principles are so simple, and yet, to really master it, it takes a lot of mental effort. Each teacher of a martial art has a different style; likewise, each Forth environment is unique. 23:06:26 The similarities are uncanny. 23:06:30 I think it's a conspiracy. 23:07:01 Forth wasn't written by Chuck Moore; it was really written by Japanese Zen buddhist monks!! ;D 23:07:16 ck5 - anything worht having is worht having to fight to get 23:07:24 asm is looking more attractive as I read more forth. 23:07:33 forth != asm :( 23:07:37 gilbert asm IS more attractive :P 23:07:46 specially when you also have forth :) 23:07:57 bah. 23:09:09 some one tell me this is all not a futile effort. 23:09:28 of corse its not 23:09:39 but you have to STOP being defietist 23:10:09 what are the advantages of forth over asm? 23:10:42 Rapid application development and interactive control, just to name two things. 23:11:02 interactive control. 23:11:45 Well, for me, the rapid application development is critical. I'm implementing a Forth here at work so I can bang out chip verification software in 1/20th the time that I currently do using C. 23:11:55 oh - and source code thats NOT write only :) 23:12:14 kc5 do you run your own company ? 23:12:19 Well, I've seen some awfully write-only Forth source too. :) 23:12:26 I used to, but I do not anymore. 23:12:30 I used to run two ISPs. 23:12:38 kc5 lol - so has tom ziller :) 23:12:40 Now I work for a chip manufacturer called Hifn. 23:12:50 Tom Ziller? 23:12:54 zimmer 23:12:57 Ahh 23:13:03 i can type 35 wrong words per minute heh 23:13:11 Hehe :) 23:13:24 tom zimmers code isnt the best in the world, but without fpc i would never have learned forth 23:13:25 Slowed down only for the need to backspace over the correct words, eh? 23:13:41 isforth is very fpc-like 23:13:46 kc how are you writing a forth for your asm? 23:13:51 but the code is 100% non-fpc 23:14:01 Funny, I couldn't handle FPC -- I just didn't have the background for it. But when I got PygmyForth, that's when I really started to grok Forth. 23:14:19 so what is it? pygmy or fpc? 23:14:27 GilbertBSD: Well, that's kind of tough to answer, since my requirements are pretty sophisticated. 23:14:34 my father intro'd me to forth, and he was an old f83 guy 23:14:55 GilbertBSD: I need my code to be write-once, run-anywhere, which means I needed to define a virtual machine architecture that ran both in x86 and MIPS microprocessor environments. 23:15:15 GilbertBSD: So I "invented" a CPU for Forth to run on, and wrote a virtual machine implementation for those two environments. 23:15:20 and you couldnt write an assembler ? 23:15:36 * I440r likes 8051 best :) 23:15:39 GilbertBSD: Now I'm writing a Forth environment for the virtual machine, using a special assembler that I wrote specifically for the task. 23:15:44 * kc5tja abhores Intel anything. 23:15:46 Especially 8051. 23:15:59 8051 is so utterly underpowered, it's not even worth consideration in my hardware project I do. 23:16:02 6502 or better, that's all. 23:16:31 6502 is where i started 23:16:39 GilbertBSD: This will fulfill my requirement that I write program code once (using Forth), and running it on x86 under Windows NT, and MIPS, using bare hardware. 23:16:40 i love that processor too 23:16:54 i dont like motorola microcontrollers tho 23:17:02 i love their processors tho:) 23:17:07 Not their 8-bit units, but the 32-bit processors are awsome. 23:17:12 kc - is your boss looking for coders ???:) 23:17:19 Hifn has a hiring freeze right now. 23:17:26 However, in a few months, that may change. 23:17:31 yes. thats what i mean. their 32bit stuff rocks! 23:17:35 :( 23:17:41 i dont think i have a few months :() 23:17:51 i think they will have reposessed my house by then :( 23:18:03 :( :( 23:18:29 cheer up, there is always camping. 23:18:40 so if forth programmers are not getting the jobs, who is? 23:18:59 visual basic scripters 23:19:02 drag and drop coders 23:19:18 so its a matter of pride. 23:19:36 That's the other thing I want to do with my Forth core/kernel -- is to make a drag-n-drop implementation of Forth that supports application development so incredibly fast that it puts VB to shame. 23:19:59 kc is it gonna have a gui or a tui? 23:20:01 But that's a long-term project right now. 23:20:19 Both, but primarily GUI. When I say Drag-n-drop, I =literally= mean it. 23:20:32 Have you ever used a program called AmigaVision before? 23:20:41 I envision a system much like that. 23:20:47 for windows? 23:20:55 No, for the Commodore-Amiga series of computers. 23:21:00 Probably not. :) 23:21:27 That was a multimedia system that you programmed by dropping icons onto a grid. Each icon filled a square in the grid. 23:21:30 im an old amiga nut too :) 23:21:37 okay ladies and gentlemen, should I get pygmy or fpc ? 23:21:45 im writing a console windowing system thats going to be based on the look and feel of workbench! 23:21:46 Execution of the program occured from top down, except for decision points, where it occasionally would branch to the right. 23:21:56 with screens taht you can open windows on 23:22:04 GilbertBSD: Frankly, I'd say get both, and try them both out. Use what you like. 23:22:10 and have the ability to drag one screen down the window to view the one behind 23:22:17 * kc5tja nods 23:22:24 Dolphin is **very** Amiga inspired. 23:22:37 And VAX/VMS (which, BTW, Amiga is also a derivative of in a loose way) 23:22:44 the amiga operating system is the BEST multi tasking operating system ever devised 23:22:52 NOBODY can multi task as good as the amiga 23:22:54 kc5tja: I'm trying to learn how to program starting with forth 23:23:06 so its not really that simple. 23:23:08 GilbertBSD: Do you have a book called "Starting Forth" by Leo Brodie at all? 23:23:42 I440r: the creator of the multitasker was a forth implementor .. and he made Rebol 23:23:48 If you do, I'd say go with FPC, since it's the closest to the Forth-79 standard (FPC is really Forth-83 for the PC). 23:23:56 kc5tja: I am on page 99 23:23:57 i heared that :) 23:23:58 Yes; Carl Sassenrath. 23:24:07 He is my personal hero. :D 23:24:10 how come he didnt do the amiga os in forth :) 23:24:17 GilbertBSD: I would stick with FPC then. 23:24:24 my heros are chuck moore, and laxen and perry 23:24:27 He did it in assembly. ;D 23:24:33 have you seen Rebol? i think its pretty cool. 23:24:33 but i dont suffer from hero worship 23:24:42 nope not seen it 23:24:50 He has written a gui, network protocols, and a language to fit in less than 1.4 meg. 23:24:50 i wouldnt mind seeing that guy in here :) 23:25:04 Nor I. Carl's coding has opened my eyes, as has R. J. Mical's coding. But I've learned from them, and extended them to my own style now. 23:25:04 why can't forth be like that? 23:25:21 okay I'm 90 percent done with fpc 23:25:37 Sassenrath? 23:25:43 GilbertBSD: That's the problem with Forth -- it can be anything you want it to be. And most people are pretty happy with a bare-bones system. :) 23:26:02 Yes; Carl Sassenrath is the person who wrote Kickstart for the Amiga. 23:26:03 so kc have you met Carl S.? 23:26:15 Not personally, but I have talked with him on the phone many, many years ago. 23:26:25 He, like I, is also an amateur radio operator. ;D 23:26:36 s/I/me/ 23:26:41 ohhh is your nick your handle ? 23:26:42 I'm getting tired. :) 23:26:47 Callsign, not handle. 23:26:55 noooo stay up man. 23:26:57 ya. i forgot heh 23:26:58 here ... 23:27:00 * kc5tja is licensed by the FCC, so it's an official callsign. 23:27:04 * GilbertBSD splashes cold water at kc 23:27:11 Heheh :) 23:27:27 i always wonderd why HAM plates cost more than vanity plates 23:27:34 they are a service to the community 23:27:39 Actually, GilbertBSD, if you're going to be here on Saturday, at 2PM Pacific time, your questions would probably be answered by Chuck Moore himself. 23:27:54 Depends on where you live, I guess. 23:27:59 if a police officer needs a lisenced radio operator during an emergency he can SEE you are one by the plates 23:28:01 they should be free 23:28:03 I think ham plates cost the same as vanity plates here. 23:28:04 I440r: I here by blame you for making me switch from gforth to fpc. 23:28:16 lol 23:28:22 gforth is written in c 23:28:28 fpc is written in asm and forth 23:28:33 much like isforth is 23:28:34 kc I was here when he first came, and he didn't answer a thing. 23:28:48 I'm not expecting much when he returns. 23:28:49 * kc5tja laughs -- why doesn't that surprise me? :) 23:28:58 So what DID happen when he was here last? 23:29:08 theres a log 23:29:12 clog is a channel log bot 23:29:12 Where at? 23:29:19 do a /whois on clog :) 23:29:32 im not sure what the date was when he came in but it was very recent heh 23:29:33 well I said some silly things ... 23:29:48 and then someone else said some silly things, davidw or robert I think it was 23:29:53 and then I dunno . 23:30:01 it was yesterday 23:30:13 assuming today is thursday :) 23:30:49 Actually, it's almost Friday for me. I should get going, but I want to see what Chuck was here for... :) 23:31:04 he was here because futhin invited him 23:31:15 he wanted to arrange when to be here for the "big event" 23:31:44 i think he was a little depressed with how the language HE invented is making him almost no money at all :( 23:31:52 he should be a fucking millionaire from it 23:32:16 You can't do that unless you standardize it, unfortunately. 23:32:22 I don't think k & are are rich either 23:32:34 nor is Bjarne Soustroupe a millionaire 23:32:35 No, but Stroustroup is. 23:32:39 how? 23:32:49 Public exposure. K&R were never so publicly exposed. 23:32:59 Every time Stroutstroup puts on a public event, they pay him to be there. 23:33:00 what about larry wall ? 23:33:01 but everyone knows they are k&r 23:33:20 I really don't think any of the old language creators got rich. 23:33:23 I suspect he's pretty wealthy too. But not as much as Mr. C++ himself 23:33:32 I know that Torvalds is filthy stinking rich. 23:33:32 J. McCarthy did not get rich from lisp either. 23:33:46 No, they were too early for the whole "OpenSource is Hip" thinkg. 23:33:55 The whole get-rich-by-releasing-free-software is relatively recent. 23:34:02 lol 23:34:05 i hope i can 23:34:06 Serious. 23:34:13 but the thing is none of those guys wanted to do it for the dough... 23:34:16 Well, you need users for isforth, and more than just yourself and me. 23:34:22 not tannenbaum, not torvalds, not wall. 23:34:27 Exactly. 23:34:29 isforth is free - and has commercial potential that other free software is almost guaranteed to prevent 23:34:33 It just sort of ...happened. 23:35:00 I study economics to make sure I don't become a bitter bit diddler some day. 23:35:13 linus got ALOT of respect 23:35:13 I440r: That's why it needs to be expanded upon and standardized across versions (e.g., future versions of the language should never break existing code). 23:35:19 the respect got hima high paying job 23:35:35 That's basically how everyone made the gobs of money. 23:35:51 what i need is more RESPECT :P 23:35:57 People say, "Linus, can you speak at our event?", and Linus said, "How much are you willing to pay me? I have 15 other people who want teh same thing on the same date." 23:36:04 then i can make Linus T type money :) 23:36:21 Heck, it's what I'd do. ;D 23:36:48 lol 23:36:52 * kc5tja would be happy to help contribute what he can to isforth, but doggone it, I need a Linux box first!! :( 23:37:10 lol - get freebsd - fix the fbsd build lol 23:37:17 I can't wait until I move into my new apartment, so I can get my box out of storage. 23:37:19 you better read my readme tho heh 23:37:39 what distro do you run btw ? 23:37:55 Debian, but I'm really considering moving to another distribution, like Gentoo. 23:38:07 mornin 23:38:33 i run debian 23:38:45 i probably wont change distro either 23:38:52 kc5tja: still here? wow. wont even go away and wait chuck just right here? ;) 23:38:54 tho - debian IS a little slow in the update :) 23:40:05 i use to run a mirror of potato/woody x86 :) 23:40:16 if you dns me and ftp to that address you will see my old mirror heh 23:41:33 kc5tja: uknow it would b a bit similar 2 those ppl who have bought the tickets 4 star wars a month b4 an put a tent up in front of the movie ;) 23:41:48 lol 23:42:00 futhin said we should charge a gate for #forth heh 23:42:33 collect bridge fee, yeah 23:42:55 I440r: what do u think, how many of us will show up here that day? 23:43:04 I440r: do u already have questions? 23:43:23 not realy - nothing planned 23:43:27 ill play it by ear 23:45:07 Yeah. Still here. 23:45:41 okay ... 23:46:00 so after Starting Forth, I think the next step should be to get myself a good asm book then. 23:46:19 We should attempt to make intelligent questions too. Asking things like, "Can we have ColorForth source in ColorForth" probably won't be too intellectual for Chuck, and he'll probably get bored. I mean, he gets asked that *all* the time. 23:46:47 well if he gets asked that all the time, why hasn't he done anything about it? 23:46:58 probably i would recommend everybody -who has decided 2 participate- 2 watch that interview w him on ultratech.com 23:46:58 Not saying it's an invalid question; just that, he might find it a waste of his time. 23:47:07 Because he doesn't want to? :) 23:47:29 what about a faq and an ifaq ... that should solve that problem neatly! 23:47:40 ifaq? 23:47:49 Yes, a FAQ would be nice, I'll admit that. 23:48:02 there is a forth faq i think 23:48:04 somewhere 23:48:06 infrequently asked questions 23:48:15 aha ifaq heh cool! 23:48:16 no there is forth and there is CM 23:48:37 erm no there is forth and another language called forth that isnt realy 23:48:43 chuck moors forth IS forth 23:48:53 tho - his isnt the ONLY one 23:49:06 CM's forth is colorforth right? 23:49:15 does he ever write tutorials? 23:49:26 or is telepathy his preferred mode of teaching? 23:49:34 lol 23:49:37 I440r: is ur isforth is forth? ;) 23:49:47 lol 23:49:51 not yet 23:49:55 but im working on it:) 23:49:56 I440r: just a stupid nursurey rhyme 23:50:01 4get it :) 23:50:32 GilbertBSD: lollll 23:51:08 Actually, CM seems to prefer telepathy. 23:51:12 GilbertBSD: we definitely ask ur last question, we cant miss it :) 23:51:13 In all honesty. 23:51:26 or - he writes good code and assumes that anyone reading it is "cluefull" 23:51:51 personally i prefer the written form of telepathy, not the spoken 1 :) 23:52:09 * kc5tja can use either written or spoken -- just not the thought one. 23:52:24 i thunk therefore i think i am ? 23:52:31 I think the teachability of a language is important. 23:52:48 unless the latest fad is to beat befunge and brainf_ck 23:52:48 gilbert NOBODY can teach you forth 23:52:54 nobody can teach you ANYTHING 23:52:59 but. YOU can learn it 23:52:59 I can teach myself stuff. 23:53:07 exactly 23:53:13 thats is what I meant. 23:53:23 GilbertBSD: That's where Forth has been lacking in the past. Notice that Forth's popularity sky-rocketed during the time when Leo Brodie's book came out. Notice, that the book, and the Forth-79 standard, are no longer in service. Note that the language is obscure now. :) 23:53:27 its like the artificial pinch harmonic on a guitar. you cant do it unless you REALY want to :) 23:54:21 Pinch harmonic? I know how to do fret harmonics, but what's a pinch harmonic? 23:54:38 you listen to ZZ top ? 23:54:44 Yeah, but not recently. 23:54:50 or the guitar solo from adicted to love ? 23:54:51 oh is that the only thing ZZ top is famous for? 23:54:53 the screech ? 23:55:04 GilbertBSD: Their beards. :) 23:55:09 hehe. 23:55:12 I don't recall a screech. 23:55:17 the ONLY way to do it is to hit the string in THREE locations at the same time 23:55:19 their music is certainly not Bjork 23:55:22 with the plectrum 23:55:27 Nope. 23:55:32 with the tip of your thum in front of the plectrum 23:55:34 I recall only "normal" guitar sounds. 23:55:42 and with the tip of your index finger behind the plectrum 23:55:53 and you drag it across the string... 23:55:56 no 23:56:10 yopu pluck the string in all 3 places at the same time 23:56:17 No, I can't say I remember hearing any screeches in any of those tunes. 23:56:31 zz top uses the techniqe alot 23:56:45 get the mp3 for adicted to love - its using a pinch harmonic 23:57:14 perhaps ZZ top was doing something perfectly ordinary the hardway? 23:58:04 People think that Van Halen invented tapping; fact is, Steve Hackett was in concert (Genesis), when Eddie Van Halen saw the technique, and he started using it in Van Halen. So now, everyone things VH invented the technique. 23:58:52 --- part: enth left #forth 23:59:59 --- log: ended forth/02.05.02