00:00:00 --- log: started forth/04.08.03 01:10:35 --- join: asymptote (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 01:11:45 anybody here made a working forth on an OS with a non-executable stack & heap? 01:14:54 the former seems easy 01:14:59 tthe later not. 01:15:17 former is easy depending on what you use the hw stack for 01:15:35 --- quit: scope (Client Quit) 01:15:55 the latter would be hard to do because you could then only cross compile 01:16:13 right, you could not have a dictionary altered after compilation time 01:16:19 if I'm understanding this correctly 01:17:12 yeah 01:17:36 which would suck 01:17:43 yeah, though it's all I have right now 01:18:00 thanks to Tru64... 01:18:14 I ended up buying a book on shellcoding to make my compiler work.... 01:18:36 Tru64 is COMPAQs Unix, right? 01:18:41 yeah 01:18:53 pages are loaded as either writeable or executable or neither 01:19:05 enforced in hardware 01:19:13 well, can't you change pages at runtime using a system call? 01:19:33 there's no chmod for a page if that's what you mean 01:20:25 there's a way to write to executable memory but that flags it as rw-rw-rw- afterwords 01:23:28 asymptote, my factor language will run in this configuration 01:23:54 --- quit: asymptote ("Leaving") 01:24:00 actually i haven't done 64-bit support yet. 01:33:51 :/ 01:34:12 it won't have any benefit except 2x memory usage... 01:36:26 :/ 01:40:50 arke: Don't you think my sister is cute? ;) 01:41:43 gimme a decent picture and ill reconsider 01:42:08 Hah, you wish. 01:43:35 not nekkid d00d 01:43:41 although that wouldnt be bad either 01:43:54 i just meant one WITHOUT FRIGGIN RED SHIT OIVER HER FACE 01:59:25 Still: dream on. 02:00:04 Take it or leave it... at least you can't say she's not sweet. 02:01:33 Ah.. sparke is alive again. Just needed a little recharge. :) 02:19:19 :/ 02:19:20 come on 02:19:25 just one real picture 02:19:28 ;) 03:30:42 * Tomasu is away: nighit 03:30:49 --- nick: Tomasu -> TomasuDlrrp 04:03:12 --- join: crc (crc@0-1pool104-135.nas52.philadelphia1.pa.us.da.qwest.net) joined #forth 04:37:03 --- join: mur_ (~mur@smtp.uiah.fi) joined #forth 04:45:13 Hi 04:45:36 --- quit: mur (Read error: 60 (Operation timed out)) 04:49:14 Hello Robert 04:49:33 * crc is now researching FPGA's 04:52:33 FPGA's seem pretty cool 05:12:18 Yeah... 05:15:03 I might use one or two in the computer I'm building 05:15:52 :) 05:17:41 The ARM board uses serial I/O. I can use an FPGA to handle the interface to VGA and a keyboard (I think...) 05:34:43 * crc could build this for under $200 06:27:33 --- join: warpzero (~warpzero@mi126.dn181.umontana.edu) joined #forth 06:27:33 --- quit: crc (Read error: 54 (Connection reset by peer)) 06:27:35 --- nick: mur_ -> Mur 06:27:40 Murr. 06:28:58 --- quit: warpzero (Client Quit) 06:31:14 Robert 06:31:53 :) 06:31:56 How are you? 08:45:37 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 09:20:54 --- join: warpzero (~warpzero@mi229.dn188.umontana.edu) joined #forth 09:40:37 --- nick: Robert -> rob_ert 09:40:50 --- nick: rob_ert -> Robert 10:30:03 --- join: cmbrannon (1000@sdn-ap-011txhousP0291.dialsprint.net) joined #forth 10:33:45 --- quit: I440r_ (Read error: 104 (Connection reset by peer)) 10:34:10 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 11:09:06 --- quit: cmbrannon ("gone") 11:24:23 --- quit: I440r_ (Read error: 110 (Connection timed out)) 12:45:14 --- nick: TomasuDlrrp -> Tomasu 12:45:16 * Tomasu is back (gone 09:14:34) 12:50:53 --- join: number42 (~ber@MTL-HSE-ppp188647.qc.sympatico.ca) joined #forth 12:52:16 Hi 12:53:30 hello 12:54:06 --- part: number42 left #forth 12:54:17 --- join: number42 (~ber@MTL-HSE-ppp188647.qc.sympatico.ca) joined #forth 13:03:17 --- join: Mur_ (~mur@uiah.fi) joined #forth 13:13:21 --- part: number42 left #forth 13:14:27 --- quit: Mur (Read error: 110 (Connection timed out)) 13:16:09 --- nick: Mur_ -> Mur 14:13:33 --- quit: SDO (Read error: 104 (Connection reset by peer)) 14:13:51 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 14:34:13 * Tomasu is away: anime 14:45:45 :) 14:46:34 fat lady goes to the doctor 14:46:55 like, the woman doctor, you know? forgot the name 14:46:57 anyway 14:47:09 he tells her how to sit on the chair 14:47:12 and she gets on 14:47:23 and spreads her legs, like she is supposed to 14:47:35 now the doctor looks at her for a few minutes 14:47:36 and says 14:47:40 "and now, please fart" 14:47:44 and she says 14:47:53 "is that part of my treatment?" 14:47:55 and he says 14:48:01 "no, its for my orientation" 14:48:02 ;) 15:09:01 I'm amazed every time you flood #forth with totally unrelated and nasty stuff... 15:29:19 arke, 'woman doctor' = gynocologist 15:32:20 Gynecologist, actually. 15:33:48 --- part: slava left #forth 15:45:37 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 15:45:40 [, 1 10 [ 2 * dup , ] times ,] . 15:46:07 [ 2 4 8 16 32 64 128 256 512 1024 ] 15:59:56 Neat :) 16:19:33 --- join: doublec (~doublec@coretech.co.nz) joined #forth 17:00:51 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 17:11:47 doublec! 17:12:02 doublec, factor.sf.net/newfile1.pdf 17:12:32 hi slava, getting it now. 17:13:26 slava, wow! It looks great. You've done a lot more on it than I expected. 17:13:49 doublec, most if the latter sections are not done ;) 17:14:19 slava, there's still a lot there though. I'm impressed. 17:14:37 slava, (speaking as one who doesn't like writing docs a lot ;-) 17:14:56 doublec, did you try the latest native factor? 17:15:29 slava, yes. I couldn't get the image generating to work. I sent you an email about it. 17:16:02 ( 1 ) make-image 17:16:03 ERROR: Type check: [ 1 f ] 17:16:25 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 17:16:38 --- mode: ChanServ set +o kc5tja 17:16:55 Kestrel 0.1.10 project files are now uploaded. 17:17:25 The TTA assembler and the TexInfo files for the FTS1000-family architecture are included in the distribution. 17:18:03 doublec, is that in java or native? 17:18:52 native 17:19:03 from a freshly generated image in java 17:19:09 I either now have to wait for Herkamire to finish his TTA processor emulator, or work on my own, before continuing. 17:21:15 doublec, the set-word-property trick is no longer needed (i got your email). 17:21:19 doublec, let me check in the latest changes 17:21:30 ok 17:21:55 nope, everything was up to date! 17:22:25 odd 17:22:31 can you try rebuilding everything? java factor, native factor, java-generated image 17:22:38 yep, will do. 17:24:39 slava, same problem. I'll try on a different machine. 17:25:06 doublec, can you email me :r and :s? 17:25:13 or pastebin them 17:25:25 http://paste.lisp.org/new/jedit 17:26:12 http://paste.lisp.org/display/2088 17:26:25 thanks 17:26:36 I'm off to lunch, let me know if you need anything else. I'll try on a different machine when I get back. 17:26:54 kc5tja: omg omg omg omg 17:26:59 kc5tja: my car does 6500RPM!!!! 17:29:09 doublec, ping 17:29:12 doublec, i'm an idiot 17:31:35 doublec, either wait until my next checkin shortly, or change definition of parsing in native/parser.factor to 17:31:37 : parsing ( -- ) 17:31:37 "cross-compiler" get [ 17:31:37 t "parsing" word set-word-property 17:31:37 ] unless ; parsing 17:33:22 arke: Cool. 17:34:24 kc5tja: makes a sexy sound ;) 17:34:42 I've never enjoyed the sound of a piston engine at those kinds of speeds. 17:34:49 kc5tja: sounds like the RX-7 in Project Gotham 2 at, uum, 4000 ;) 17:35:04 kc5tja: well, considering that its my car.... 17:35:06 its sexy 17:35:06 Never heard of Project Gotham 2. 17:35:12 racing game 17:35:37 the kind where a VW Golf gets 0-60mph in, uum, 3-4 seconds 17:35:57 the kind where the best car goes to 8000RPM in almost an instant 17:35:57 arke: Have you driven a modern VW Golf GTi? :) 17:35:59 ;) 17:36:10 nope, actually, I haven't. I would like to though 17:36:16 They are FUN cars. 17:36:40 I didn't think VW could turn the Golf into a sports car, but it rivals a sports Civic anyday. 17:36:49 And they have plenty of oomph to them. 17:37:00 I can easily see a turbo'ed version getting to 60MPH in 4.5 seconds or so. 17:37:03 :) 17:37:15 Though, the Jetta is definitely one of their fastest cars. 17:37:36 Basically a cut back version of the Audi A4. 17:37:48 which audi was it that had the CVT? 17:37:52 i dont rememebr 17:38:06 An A-series car. I don't recall exactly. It might be the A4 but I'm not sure. 17:38:17 think so too 17:39:14 Anyway, I have a new way to harness solar energy, and I know it works. 17:39:18 And it's so damn simple. 17:39:22 Though hardly very efficient. 17:39:31 heh 17:39:48 Take a solar collector of some kind, and focus the radiation to a point (or, at least a fairly smallish region) on a CPU heat sink. 17:40:18 Provide ducting so that cold air enters in from the sides of the heat sink, and hot air rises towards a turbine. 17:40:49 The heat sink acts as a heat exchanger, heating the air in its vicinity to rather high temperatures. The rising air creates a small vacuum which is immediately replenished with cold air, etc. 17:41:42 With a well-designed turbine fan, you should be able to extract a reasonable amount of the solar energy put into that heat sink. 17:43:42 cool 17:43:50 i had an idea of a clutch that does not wear out 17:43:58 the problem is that it has a hard performance hit 17:52:59 slava, cool, thanks. I'll wait for the next checkin. 18:15:22 --- quit: SDO (Connection timed out) 18:32:31 kc5tja 18:32:35 kc5tja: uum 18:33:03 --- join: kc5tja_ (~kc5tja@66-74-218-202.san.rr.com) joined #forth 18:33:05 kc5tja: at what mph does your RX-7 max out in 2nd? 18:33:09 heh 18:33:10 lol 18:34:05 arke: No idea. I have no intention of finding out either. 18:34:23 is 65mph a possibility? 18:34:35 --- quit: kc5tja_ (Client Quit) 18:34:42 is 65mph a possibility? 18:35:30 --- join: kc5tja_ (~kc5tja@66-74-218-202.san.rr.com) joined #forth 18:35:46 --- quit: kc5tja (Nick collision from services.) 18:35:47 --- quit: kc5tja_ (Client Quit) 18:36:18 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 18:36:27 --- mode: ChanServ set +o kc5tja 18:46:02 * Tomasu is away: for now 18:53:20 is 65mph a possibility? 18:53:42 Yes. 18:54:29 But it probably won't go much above that. 18:54:54 in the game, RX-7 2nd gear maxes out at 110MPH 18:55:06 which is about 67-68 mph 18:55:26 You mean 110kph? 18:56:03 er 18:56:03 yeah 18:56:04 lol 18:56:59 best car in the game 18:57:02 some ferrari or such 18:57:03 drove it 18:57:55 it and WOW 18:58:02 i mean 18:58:03 WOW 18:58:11 Ferrari's are good. 18:58:17 it took about 2 ms to go from idle to 8000RPM 18:58:20 But they are supercars. 18:58:30 although i dont think they do it quite like that in RL, hmm? :) 18:58:41 arke: RX-8 takes almost no time whatsoever to get to 6000RPM. 18:59:16 When I test-drove the RX-8 from the dealer, I was shocked at how just barely touching the gas pedal brought the engine *readily* to 4000RPM. 18:59:35 But, basically, it just amounts to raw horsepower. 18:59:43 cool 18:59:46 The more horsepower your engine has, the faster it'll accelerate. 18:59:53 how torquey is 1st gear in the RX-8? 19:00:08 About the same as any other RX-7. 19:00:21 aah, so pretty decent 19:00:39 oh yeah 19:00:41 i have a question 19:00:49 if I get that RX-7 19:00:59 keep it at 6000RPM at a stop 19:01:03 then feather it to go 19:01:09 will I be able to beat that Mustang? ;P 19:02:01 No. 19:02:19 Mustang = 250HP -- RX-7 = 150HP. 19:02:28 The Mustang will kick the living shit out of your '7. 19:02:44 cars suck 19:02:57 what about RX-8? 19:03:21 I already said the RX-8 will be competitive. Remember, it has a 240HP engine, and the car itself is significantly lighter than the Mustang. 19:04:07 What will determine a lot of this stuff is the power-to-weight ratio. 19:04:12 Take the HP of the car, divide by the weight. 19:04:17 The larger the number, the faster it'll go. 19:04:31 oh yeah 19:04:40 I drove a mustang in the game 19:04:46 it went off from a dead start prettty quickly 19:04:52 but then I tried to take a turn. 19:04:54 * arke sighs 19:05:03 Mustang is a muscle car. It is not a sports car. 19:05:36 :) 19:05:36 oh 19:05:40 he used to have a thunderbird, right? 19:05:50 so he challenged me in the colt to a drag race 19:05:51 lol 19:05:58 uum 19:06:18 by the time I shifted to second, he already had double the distance 19:06:19 lol 19:06:21 'he'? 19:06:24 Argh... damn interpreter/outer loop! 19:06:32 the guy that has the mustang 19:06:40 hi madgarden 19:06:43 hi madgarden 19:06:49 Hi ya's. 19:06:49 madgarden: just listened to Vital Signs :) 19:06:54 Haha. GOOD! :D 19:07:23 Forthy is pissing me off. 19:07:28 :) 19:07:33 why? 19:07:40 Trying to change the interpreter to be nestable, so I can evaluate etc. 19:07:55 kc5tja: oh, you know what 19:07:58 And it works, except... 19:08:02 kc5tja: drove my uncles truck the other day 19:08:06 kc5tja: which is big and huge 19:08:17 kc5tja: but has this big and huuuge V8 under the hood 19:08:28 kc5tja: teeehee 19:08:29 kc5tja: was fun 19:08:35 If I do something like this: 19:08:35 : foo 19:08:35 postpone begin ; 19:08:35 : test 19:08:35 begin 19:08:40 Er... 19:08:45 foo is immediate 19:09:02 : test foo 19:09:13 FOO causes an error. 19:09:39 postpone is brokn? 19:09:42 It returns, and the interpreter runs out of input, drops the input, tries to return, but it ends up trying to eat the marker for BEGIN. 19:09:42 madgarden: a much better way, I think, is to not have an immediate bit but instead to have a MACRO or COMPILER vocab 19:09:51 madgarden: which, when compiling, is searched first 19:09:57 arke, I'm not going to bloody change that now. :P 19:10:03 heh 19:10:41 It works... except for this weird glitch. Can't quite figure out why I can nest evaluates and all that, but once I postpone an IF/BEGIN etc... it goes into the weeds. 19:10:43 i like havng > 2 vocabularies :) 19:11:00 postponed stuff works fine in the previous version. 19:11:40 I don't see how EVALUATE enters into this at all? 19:11:59 It doesn't really. It's my new interpreter and outer loop. 19:12:07 It's written in C. 19:12:15 why not in forthy? 19:12:26 I would check to see if the definition of FOO has an embedded call to BEGIN's code then. 19:12:27 Well, because the base Forthy has no dictionary or language. 19:13:00 slava, if I start writing high-level words as part of the base Forthy system, then I have to have a language defined. 19:13:12 you'd need to metacompile 19:13:37 :/ 19:13:37 Yea. In C. 19:13:41 lol 19:13:44 :P 19:13:48 dont think that would quite work :) 19:14:02 slava: factor could metacompile itself 19:14:03 Well, I can hand-code an outer loop. 19:14:05 madgarden, do what factor does, and meta-compile a file that becomes the heap 19:14:08 slava: to java BC 19:14:43 madgarden, including a dictionary containing the outer interpreter :) 19:14:57 Well, I don't want that. 19:16:05 There's always the Squeak solution: write your code in a functional subset of Smalltalk, and use a compiler to translate it to C. :) 19:16:15 Heh. 19:16:26 C eww ;) 19:16:35 --- part: slava left #forth 19:17:04 Damn thing... and using setjmp()/longjmp() to do an outer "loop" from within the interpreter in C is not pretty. :P 19:17:31 madgarden: Oh, that is GROSS. Why in the world are you using those things? 19:17:40 Well, that's how Forthy returns errors. 19:17:51 arke: Care to write a Smalltalk VM implementation that is anywhere near as fast as Squeak's in any other way? 19:17:55 Lua, FICL... they all use this kind of system. 19:18:02 C exceptions, basically. 19:18:07 ANd yea, it's gross. 19:18:42 Why in the hell are THEY using it? 19:18:44 It makes no sense. 19:18:50 It's far better to just use a threading technique. 19:18:56 Like GForth does. 19:19:39 To return errors back to the C system? 19:20:52 It's only gross when used to pass messages, basically, like I am with this loop thing. 19:21:29 But, I'm having a tough time keeping this thing stackless and having a nestable interpreter otherwise. 19:37:19 Fuck it... I'm getting rid of this longjmp() loop crap in the interpreter. I should just be able to manipulate the IP from inside the function and pretend I'm a HL word. 19:46:41 --- join: Mur_ (~mur@uiah.fi) joined #forth 19:49:37 --- quit: Mur (Read error: 60 (Operation timed out)) 20:23:48 --- quit: Mur_ (niven.freenode.net irc.freenode.net) 20:23:48 --- quit: arke (niven.freenode.net irc.freenode.net) 20:23:48 --- quit: fridge (niven.freenode.net irc.freenode.net) 20:26:03 --- join: arke (~chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 20:26:37 --- join: fridge (~fridge@dsl-203-33-163-166.NSW.netspace.net.au) joined #forth 20:28:16 ls 20:28:18 oops 20:30:11 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 20:30:15 doublec, still around? 20:34:08 --- join: Mur_ (~mur@uiah.fi) joined #forth 20:34:52 --- join: Mur (~mur@uiah.fi) joined #forth 20:39:37 slava, yep 20:41:57 --- quit: Mur_ (Read error: 60 (Operation timed out)) 20:44:58 doublec, update cvs 20:45:02 doublec, and try making an image 20:45:10 also check out doc/devel-guide.lyx 20:45:22 slava, ok will do. 20:45:32 thanks. 20:45:50 doublec, up til now, image building has been the test of native factor progress. now, i want to get the test suite running 20:45:59 and separate it out into common and platform-specific tests. 20:46:24 Aha! 20:46:34 madgarden, fixed your bug? 20:47:10 No, but narrowing it down. I got rid of the ugly longjmp() loop. Now, I see that the problem only happens if I do: 20:47:39 : foo postpone begin ; immediate 20:47:39 : test foo 20:47:39 again ; 20:47:39 rather than 20:47:39 : test foo again ; 20:48:02 its whitespaec sensitive? oops :) 20:48:02 So, running out of input when there's a marker on the stack is causing the problem. 20:48:10 Well, not exactly... 20:48:26 madgarden, add a .s in again 20:48:35 madgarden, and add .s at the end of the line parse loop 20:48:58 Well it's the call stack that is the trouble. 20:49:01 slava, same problem. 20:49:11 ERROR: Type check: [ 1 f ] 20:50:37 doublec, update and try again 20:50:42 :) 20:50:47 it was a little typo 20:50:52 :) 20:52:32 slava, Success!! 20:53:08 doublec, great! 20:53:30 doublec, the problem that you foudn was quite obscure 20:53:39 it was caused by parsing word definitions: 20:53:42 : foo bar ; parsing 20:53:56 when cross-compiling, ; has a different definition, which doesn't set the 'last defined word' variable 20:54:07 but 'parsing' would still call set-word-property with the value of this variable 20:54:11 i happened to have some defs in ~/.factor-rc 20:54:18 and the last one of them was becoming a parsing word :) 20:54:29 heh, well done hunting that one down! 20:54:33 you didn't, so it was tyring to call set-word-property on f, 20:54:38 the error messages are cryptic. 20:54:40 type #1 is 'word' 20:54:49 type check [ 1 f ] means 'f is not a word'. 20:54:53 2 is cons 20:55:09 ahh, ok. 20:55:28 I wondered what the significance of it was. 20:56:29 this will be fixed very soon. 20:56:43 the next thing i want to get going is the test suite, and floating point math 20:57:05 ok, cool. 20:57:37 rationals and complex numbers are not hard to add and will appear soon too. 20:58:14 C preprocessor makes this MUCH more concise than in java 20:58:30 have you seen arithmetic.h and arithmetic.c? they're trivial to extend to floats/rats/complexes 20:58:49 the big deal with floats is parsing and unparsing them -- this part will be in factor. i have to study the IEEE fp format first :) 20:59:17 Yes, I can imagine that would be a bit of a pain. 21:00:32 i'm going to install latex2html and try generating an html version of the factor docs. 21:00:48 btw i like latex than using docbook... docbook is too complex. 21:01:09 DocBook is *DAMN* hard to use. 21:01:16 * kc5tja is very much enjoying TexInfo though. 21:01:29 I agree. latex is so much easier to use than docbook. 21:01:32 i'd use texinfo if info format output was needed 21:01:38 * kc5tja doesn't know what it looks like in TeX output though, as my version of makeinfo doesn't have the --dvi output. 21:01:43 for now, i'm keeping it simple. html and pdf is enough 21:01:48 kc5tja, it looks beautiful 21:02:00 slava: It looks beautiful if you write it that way. 21:02:02 kc5tja, use texinfo to do texi->dvi 21:02:11 i don't think makeinfo can be used for that purpose. 21:02:25 slava: The problem is, I'm not sure if my existing stuff is TeX-friendly in the .texinfo files. 21:02:46 oh 21:02:57 slava: What are you talking about? You just contradicted yourself twice in a row. 21:03:09 kc5tja, there is a tool 'texinfo' 21:03:27 it runs tex with the texinfo format loaded 21:03:41 makeinfo, if compiled with LaTeX support, has a --dvi switch, just as it has an --html switch. 21:03:47 oh 21:10:22 slava: Also, I don't have a texinfo command installed, and yes, I do have LaTeX installed. :D 21:10:26 (actually, TeTeX) 21:10:29 (same thing, though) 21:21:03 --- join: Mur_ (~mur@smtp.uiah.fi) joined #forth 21:23:59 --- quit: Mur (Read error: 60 (Operation timed out)) 21:33:38 Aaagh! Control-flow on the return stack! 21:34:21 madgarden: That is its purpose, after all... 21:34:41 Yea. But it's messing with my interpreter. 21:35:11 I get into a state where I want to exit the interpreter and pop the IP, but there's an IF marker on the call stack. 21:40:14 why is the IF marker on the call stack? 21:40:40 : foo postpone if ; immediate 21:40:40 : test foo 21:41:23 slava, because I didn't want it on the data stack, it gets in the way in certain cases. 21:44:09 --- quit: doublec ("Leaving") 21:47:36 :) 21:49:11 Man, I just can't concentrate on anything tonight. 21:49:14 I'm so scatter-brained. 21:49:19 I suppose I could have a seperate control-flow stack, that would simplify things quite a bit. 21:49:29 I know the feeling. 21:49:38 I have a seperate input stack. 21:49:53 i have 4 stacks ;) 21:50:10 madgarden: I was about to suggest that, actually. :D 21:50:17 Heh. 21:50:18 * kc5tja goes to download Squeak. 21:50:27 Yea, a seperate control-flow stack would solve a lot of problems. 21:50:46 But then, I'd have... data stack, call stack, vocabulary stack, input stack, and control-flow stack. 21:51:35 Putting the interpreter on the call stack is being a big pain in the ass. 21:52:02 But the way I had it, it was part of the outer (C) loop and thus couldn't do nested evaluations. 21:56:31 What is the difference between a call-stack and a return-stack? 21:57:15 Same thing. 22:04:05 * kc5tja is building Squeak now. 22:04:18 I know, not at all Forth related, but maybe it'll inspire me or something... 22:04:32 something 22:05:17 hey 22:05:41 how is it you're able to concentrate on building squeak? 22:07:30 squeak is cool 22:07:37 the code is a bit messy in places 22:08:01 you should go for a ride to clear your head 22:15:55 --- quit: Mur_ (Remote closed the connection) 22:16:36 --- join: Mur (~mur@smtp.uiah.fi) joined #forth 22:18:48 --- join: proteusguy (proteusguy@66-90-231-149.dyn.grandenetworks.net) joined #forth 22:28:14 --- quit: proteusguy ("Leaving") 22:28:27 --- join: proteusguy (proteusguy@66-90-231-149.dyn.grandenetworks.net) joined #forth 22:31:39 kc5tja: hey 22:31:44 kc5tja: got a visitor from germany 22:31:55 kc5tja: he gave me this book im gonna copy 22:32:12 kc5tja: if i know half of whats in that book, i can build a TTA from scratch ;) 22:32:22 he knows alot too 22:32:26 so yeh. 22:32:45 kc5tja: btw, is verilog kinda like chucks vlsi thing? 22:32:49 or what is it? 22:48:03 No. 22:48:13 Verilog is nothing at all like Chuck's VLSI CAD package. 22:48:25 Verilog is a programming language that compiles to some hardware layout. 22:48:41 Chuck's system is more like the GIMP -- you literally "draw" the transistors on the surface of the chip, "draw" the wires, etc. 22:54:29 oh 22:54:35 which one is easier to use? 22:55:55 Verilog is easier to learn, by default, because it's readily available and there are books on the subject. 22:56:07 aah 22:56:14 OKAD could conceivably be "easier to use" from a usability stand-point, but it's limited to just Chuck. 22:56:17 would you rather draw your chip or write your chio? 22:56:21 oh 22:56:22 lol 22:57:24 he recommended this program to me 22:57:28 called pspiuce 22:57:34 its similar to klogic 22:57:41 but much more advanced, seemingly 23:00:40 pspice is horrifyingly advanced to use. 23:01:09 SPICE is what's used by chip manufacturers to do analog electronic simulation at the semiconductor level. 23:01:30 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 23:14:19 --- join: number42 (~ber@MTL-HSE-ppp188647.qc.sympatico.ca) joined #forth 23:14:24 Hi all 23:14:27 hi 23:14:43 Is there some text I could read to get to know more about the "spirit" of Forth? 23:15:07 hmm :/ 23:15:34 spirit as in philophy or religion or practices? ;) 23:15:45 All of them :) 23:17:18 In fact I'm wondering if Forth would be a good language to implement a register-based virtual machine for a high-level language. 23:18:16 --- join: Mur_ (~mur@smtp.uiah.fi) joined #forth 23:18:22 What I think I'd like to do is implement the operations of my VM as Forth words. 23:18:58 number42, what kind of language is this? 23:19:04 Scheme, of course ;) 23:19:11 scheme in forth? 23:19:16 cool 23:19:33 Yeah I think it could be neat. 23:19:51 i was going to write factor in forth but then i decided to use C 23:20:01 Why? 23:20:18 more portable, faster compiled code 23:20:26 (I'm using C now too, but looking for something different) 23:20:40 factor in forth would leave you with two layers of interpretation 23:20:53 Ism 23:20:56 oops 23:21:04 Isn't Forth extremely performant? 23:21:39 I guess not as much as compiled C, which probably offers more opportunity for optimization. 23:22:46 So what is the best Forth implementation for someone who wants to learn and get things done quickly? 23:22:58 I've installed GForth and it seems pretty nice... 23:23:24 number42, you know you're pretty much talking to yourself? 23:23:55 gforth is good 23:24:06 it has excellent documentation 23:24:39 cool 23:24:58 Factor looks fun by the way, I've had a look at it. 23:25:11 Oh, I think I already told you that. 23:26:12 heh 23:26:57 slava, where is your factor language located? 23:27:22 SDO, factor.sf.net 23:27:30 is this you? http://www.jroller.com/page/slava/ 23:27:31 slava, does factor has a GC? 23:27:31 SDO, and new docs: factor.sf.net/devel-guide.pdf 23:27:37 SDO, yes 23:27:38 number42, yes 23:28:37 --- nick: Tomasu -> TomasuDlrrp 23:28:46 does factor require lex or yacc 23:28:48 or the likes? 23:29:06 SDO, no, its parser is written in itself 23:29:11 cool 23:29:32 it needs a C compiler that does 'inline' and 'long long', and posixy stuff like read(), write(), open(), socket() etc. 23:29:47 alternatively, there is the java version, but i doubt forthers would be interested in that :) 23:30:01 slava, will the C implementation replace the Java one? 23:30:11 I'm not, I don't have jvm or jcc on this system 23:30:13 I mean, will you drop the Java one for the C one? 23:30:35 slava, so just type build.sh and go? 23:30:44 SDO, edit it first, if necessary 23:30:46 --- quit: Mur (Read error: 110 (Connection timed out)) 23:30:56 SDO, i should upload the latest Factor.zip... cvs has had quite a few changes since then. 23:30:58 gcc34? 23:31:00 I have gcc 2.95 23:31:05 SDO, that will work too. 23:31:08 that is the only gcc I have available 23:31:19 number42, no, i'm using the java factor in a game i'm developing (this is originally what factor was for) 23:31:29 What's the game? 23:31:47 all kinds of warnings coming up 23:31:55 ANSI doesn't permit inline 23:32:18 number42, 2d top view action/strategy, uses opengl 23:32:24 (btw in the dev. doc. on page 5, you're "cheating" in your example, you use the word 'km' when it's 'kilometers' that was defined) 23:32:27 it did produce a 'f' file 23:32:31 number42, oops 23:32:41 [beos@dualP3 ~/Desktop/Factor] $ f 23:32:42 sh: ./f: Missing library 23:33:27 what function is it missing? 23:33:37 good question, that is all that came out 23:34:01 the error output from the build.sh was extensive. 23:34:15 tons of warnings 23:34:19 Forth can be considered as lexically scoped, right? 23:34:19 ignore the warnings 23:34:53 true redefined, false redefined, inline non ANSI, so forth 23:34:58 anyway, I'll ignore them. 23:35:06 "so forth", eheh 23:35:07 SDO, a lot of them are fixed in cvs. 23:35:09 But I'm wondering why when I type ./f I get that missing library. 23:35:15 SDO, i'll upload the latest zip 23:35:17 number42, hehehe. 23:35:33 slava, that would be nice, I'll delete this distro and await your upload, tell me when it is done. 23:35:48 Factor is now in the trash, Factor is now deleted... 23:36:12 i doubt it will fix the missing library error though. that sounds like beos is missing a libc function that I use 23:36:13 slava, I'll download it too, I think I'll try factor by writing a Scheme interpreter in it. 23:36:24 ok, new Factor.zip is now up. 23:36:28 number42, cancel your d/l and restart it:) 23:36:40 I haven't started it yet :) 23:36:51 SDO, can you try again, this time look for warnings regarding missing functions? 23:37:21 nice pipe you got slava 23:37:41 SDO, its sourceforge :) 23:37:46 ah, that is correct. 23:37:48 downloading now. 23:37:56 decompress, and so forth (hehehe) 23:38:48 SDO, the new one has less warnings than before 23:38:57 btw, how come you don't use a simple makefile? 23:40:19 slava, is it ok if I make some comments? 23:40:33 number42, sure 23:40:38 SDO, laziness 23:40:44 SDO, can you make one? :) 23:40:58 the "rm *.o" breaks straight away since I don't have any .o 23:41:04 it should be a rm -f *.o 23:41:17 Then I don't have anything like gcc34 23:41:23 I have not found 'missing' in the output from the build.sh 23:41:33 number42, yes, like i said, edit build.sh to taste :) 23:41:33 Also "pedantic" is really for pedant :p 23:41:43 Ok then 23:42:03 where is a pasteboard online that I can put this output from build.sh 23:42:09 that way slava can see it. 23:42:19 head 23:42:21 oops 23:42:24 http://paste.lisp.org/new/jedit 23:43:28 slava, 'terpri'! Noooo! ;) 23:43:32 lol, paste too large :( 23:44:43 SDO, email slava@jedit.org 23:45:08 slava, does this show you the build attempt... http://sdo.dyndns.org:8080/misc/FactorBuildAttempt.txt 23:45:28 I've had some problems with my webserver lately, sometimes the server dumps requests to the home page 23:45:44 I have to install apache one of these days, preferrably sooner than later. 23:46:07 yes it works 23:46:52 good, does it make sense to you, the output from the build.sh? 23:47:20 oh wait 23:47:23 are you runnign ./f factor.image 23:47:24 ok 23:47:24 or ./f 23:47:28 ./f is meant to print a usage message 23:47:30 just .f 23:47:32 ah 23:47:32 :) 23:47:37 but why won't it print? it uses printf 23:48:09 [beos@dualP3 ~/Desktop/Factor] $ ./f factor.image 23:48:09 sh: ./f: Missing library 23:48:31 is your image byte tokened? cross platform? 23:49:45 the shipped image is little endian 23:49:52 I'm on x86 23:49:56 me too 23:49:59 try nm f 23:50:04 and see if it has any unresolved symbols 23:50:14 maybe gcc needs some flags? 23:50:16 [beos@dualP3 ~/Desktop/Factor] $ nm f 23:50:17 /boot/develop/tools/gnupro/bin/nm: f: no symbols 23:50:24 SDO, remove the strip in the build.sh 23:50:48 rebuilding now 23:51:00 also linking against the libroot and libbe just in case. 23:51:18 $CC $CFLAGS -o f native/*.c -lroot -lbe 23:51:27 [beos@dualP3 ~/Desktop/Factor] $ nm f 23:51:28 /boot/develop/tools/gnupro/bin/nm: f: no symbols 23:51:32 # strip f 23:51:42 so, no strip, and it seems no unresolved symbols. 23:51:47 no symbols at all. 23:52:12 try without the fancy CFLAGS 23:52:13 hmm 23:52:17 slava: hey guy 23:52:37 slava: i'd be willing to rewrite factor to be 90% compatible....or your money back 23:52:44 cd 23:52:46 but it is also telling me that no .o files are being removed when I build. 23:52:46 oops 23:52:55 --- quit: proteusguy (Success) 23:52:59 SDO, remove the rm *.o line 23:53:26 ok, no rm *.o and no fancy CFLAG stuff, and no strip. 23:53:27 here goes 23:53:36 rebuilding 23:53:47 shouldn't I remove all the *.o files? 23:54:05 none get generated if you use the command line from build.sh 23:54:13 does beos have the bsd socket api? 23:54:42 SDO, btw you'll probably have to set the -g flag 23:54:46 (I had to) 23:54:47 [beos@dualP3 ~/Desktop/Factor] $ whereis socket.h 23:54:54 /boot/develop/headers/be/bone/sys/socket.h 23:55:10 bone is a new tcp/ip implementation, and I do believe sockets are supported 23:55:18 bone was what be last worked on before they went under. 23:55:27 number42, you had to? 23:55:29 number42, what OS? 23:55:36 to stabilize the tcp/ip stack and give morec compatability 23:55:48 slava, I mean I had to to use 'nm' 23:56:36 ok 23:57:24 anyway, it doesn't seem to work, hmmmmm :( 23:57:57 That's what you get for using a dead OS ;) 23:58:04 yes, that is true. 23:58:21 but the GUI and the media support is exceptional, and the GUI experience is WAY better than anything out there. 23:58:31 but you are right, it is dead, as a doornail 23:58:35 kinda like amiga 23:58:41 hard to let go once you get addicted 23:58:54 http://beforth.dyndns.org:8080/ 23:58:59 but I do support forth on it well :) 23:59:29 If I could get a FORTH implementation with a bridge to the BeOS API for the GUI, I would be in heaven 23:59:59 --- log: ended forth/04.08.03