00:00:00 --- log: started forth/03.04.12 00:41:38 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 03:19:21 --- quit: Fractal (sterling.freenode.net irc.freenode.net) 03:19:21 --- quit: TreyB (sterling.freenode.net irc.freenode.net) 03:20:36 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 03:20:36 --- join: Fractal (vyfgdkf@dont.try.configuring.openbsd.on.stronglsd.com) joined #forth 03:43:03 --- join: mur (ammu@baana-62-165-184-187.phnet.fi) joined #forth 06:16:48 --- join: PoppaVic (PoppaVic@tnt02-67-192.sfld.provide.net) joined #forth 06:53:51 --- quit: PoppaVic () 08:22:52 --- join: deluxe_ (~deluxe@pD950FE42.dip.t-dialin.net) joined #forth 08:27:46 --- nick: deluxe_ -> deluxe 09:19:39 --- join: Serg_Penguin (~z@ppp157-134.dialup.mtu-net.ru) joined #forth 09:22:16 --- quit: Serg_Penguin (Client Quit) 09:26:26 --- join: futhin (futhin@dial-187.ocis.net) joined #forth 09:55:01 --- join: divgrad7 (~wer@81.25.34.174) joined #forth 09:55:12 hey divgrad7 09:55:18 how does it go? 09:55:27 hi 09:55:36 goes as usual 09:55:44 how goes your forth coding? 09:56:11 im still accumulating courage for that 09:56:54 it takes years! :P 09:56:58 i tried to start coding a pair of time 09:57:15 but it made me sick 09:58:03 even coding elementary things brings an awful headache 09:58:03 coding a what? 09:58:10 show me your code 09:58:21 or tell me what you were trying to accomplish 09:58:33 i tried to code a GUI library for swuftforth 09:58:39 ew 09:58:39 swift 10:01:20 so as u see, you guys, masters of forth, real forthers, and me, hopeless coder - better show ur masterpieces 10:01:23 what kind of GUI ? 2d ? 10:01:45 yea, simple Windows/Control 10:01:54 i liked postscript, i've been thinking of coding a similar vocabulary in forth 10:02:10 all the words like MOVETO LINETO RLINETO GSAVE GRESTORE etc 10:02:29 Window 200 300 winPos Z" Hello" winTxt value W1 \ etc etc 10:02:40 er 10:02:49 oops, GUI != graphics 10:02:50 heh 10:02:56 nevermind about the postscript :P 10:05:11 * divgrad7 sighs 10:08:03 divgrad7: maybe code something more simple.. or code something immediately useful? 10:08:24 don't go around creating libraries :/ 10:08:46 the prob is not in GUI, but in the forth itself 10:08:55 no local vars 10:09:16 albeit i think i know how to implement em 10:09:49 aaaaaaaaaaaaa 10:09:56 forget it 10:12:06 --- part: divgrad7 left #forth 10:19:40 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 10:22:42 hey hey hey! :D 10:22:48 how's it going kc5tja :) 10:22:58 I'm in pain, but otherwise OK. 10:23:42 Lots of breakfalls yesterday in aikido. LOTS. 10:24:04 heh, don't you guys just practice punching instead of falling? :P 10:24:10 how long is a session? 10:24:17 An hour to an hour and a half. 10:24:29 Sure we practice punching. 10:24:35 He who punches ends up on the floor one way or another. 10:24:45 That's the point of aikido. 10:25:09 how often do you go to aikido? 10:25:14 Three times a week. 10:25:24 mwf ? 10:25:31 Yup 10:25:47 I could go as much as five times a week (MTWFS) 10:26:13 But three is enough, and that's what I built my schedule around. The Tuesday class is for beginners, and the Saturday class is just plain too early. 10:26:25 * kc5tja isn't even awake until .. oh ... about now actually. :) 10:27:41 heh 10:27:41 yeah 10:28:05 sounds better though. the gung fu classes are only on tuesdays and thursdays 10:28:08 not frequent enough :/ 10:28:13 * kc5tja nods 10:28:14 MWF is better 10:28:43 I don't know if I told you or not, but I got FS/Forth parsing words now. :) 10:28:55 I need to write a string compare routine and the interpretter next. 10:29:10 Then it'll at least be able to interpret text input on the command line. 10:29:16 are you coding in forth or is it still in asm? 10:29:30 FS/Forth is written in FS/Forth using a target compiler written in Pygmy Forth. :D 10:29:44 So it's not the perfect environment, but it's got a lot of potential. 10:29:59 The target compiler is very complete for what it is; I can use it to write any arbitrary software I want for DOS right now. 10:30:17 FS/Forth itself, however, is still very incomplete. 10:31:06 Currently for DOS, but it'll eventually appear for Linux and Win32 as well. 10:31:10 And yes, I am aware of isForth. :) 10:32:03 In fact, the native, Linux, and Win32 versions will be supported, but the DOS version won't be. After 1.3 is out, that's it -- the last DOS version ever to be released. 10:32:36 I will also write a version for the 65816 processor as well, so I can have a nice software development environment for my 65816-based computer that I want to build. 10:32:49 how is fs/forth written in fs/forth if fs/forth doesn't exist yet? 10:33:01 I bootstrap it in Pygmy Forth using the target compiler. 10:33:35 That is, the target compiler consists of words that exist in FS/Forth, but they're written in PygmyForth. 10:34:25 okay 10:34:39 did you write an assembler in pygmyforth ? 10:34:52 Yes. 10:34:52 or have you managed to avoid writing words in CODE ? 10:35:01 I don't have CODE. :) 10:35:18 My words are compiled subroutine threaded, which makes it trivial to inline raw assembly. So, a "code" word looks like this in FS/Forth: 10:35:44 : + ( a b -- a+b ) [ bp sp xchg, bx pop, bp sp xchg, bx ax add, ] ; 10:36:51 hm 10:37:00 Note that I go into interpret mode with [ to "immediately" assemble the instructions I need. 10:37:03 why does it have to be subroutine threaded to be able to do that? 10:37:27 Because direct threading and indirect threading store definitions in a form that is not directly CPU executable. 10:37:42 They consist of lists of addresses, not lists of actual instructions. 10:37:59 But remember, I can do things like this too: 10:39:04 crap. 10:39:07 I forgot my example. 10:39:09 I just had it. 10:39:25 But I can freely intermix assembly and Forth code at will. 10:39:34 so subroutine threaded = native threaded ? 10:39:45 subroutine threaded is when the following definition: 10:39:49 : FOO A B C D ; 10:39:54 expands to the following: 10:39:57 FOO: 10:39:59 CALL A 10:40:00 CALL B 10:40:02 CALL C 10:40:04 CALL D 10:40:05 RET 10:40:07 in assembly. 10:40:09 yes 10:40:23 Note that it's a sequence of instructions that can be *directly* executed by the CPU. 10:40:29 but when you do the [ asm code ] it doesn't call ? 10:40:32 No. 10:40:33 FOO: 10:40:37 ASM CODE 10:40:38 RET 10:40:40 : FOO A B [ ax inc, ] C D ; 10:40:43 expands to: 10:40:44 FOO: 10:40:46 CALL A 10:40:47 CALL B 10:40:52 INC AX 10:40:54 CALL C 10:40:56 CALL D 10:40:57 RET 10:42:16 Remember that [ and ] switch into and out of interpret mode while compiling. 10:42:17 yeah 10:42:36 --- join: divgrad7 (~wer@81.25.34.174) joined #forth 10:42:48 [ ] switch into compile mode when : FOO A B [ blah ] C D ; is being interpreted 10:42:51 By using subroutine threading, I can eliminate any special distinction between CODE and non-CODE words, and just interject raw assembly where appropriate. 10:43:02 Nope. 10:43:06 [ switches into interpret mode. 10:43:09 ] switches into compile mode. 10:43:19 yeah yeah yeah 10:43:21 mixed it up 10:43:30 Try this: : foo [ ." Hello world!" ] exit ; next time. :) 10:43:33 you can do the same thing with native forth right ? 10:43:49 Native forth is subroutine threaded forth with compiler optimizations. 10:43:59 I didn't bother with compiler optimizations yet. 10:44:05 I will, just not right now. 10:44:11 And especially NOT in 16-bit x86. 10:44:18 The instruction set just isn't regular enough. 10:44:21 ummm 10:44:23 i meant 10:44:28 : FOO A B C D ; 10:44:31 FOO: 10:44:34 A 10:44:35 B 10:44:38 C 10:44:39 D 10:44:40 ret 10:44:44 heh, no ret 10:44:46 jmp 10:44:54 Well, that's illegal. 10:45:00 no, that's native forth 10:45:01 Either you have a list of addresses, or you don't. 10:45:09 uh.. 10:45:21 ret and jmp are CPU instructions, right? 10:45:28 where A B C and D are addresses? 10:45:31 i think there's a kind of forth that compiles the code and stores the actual code in the CODE FIELD 10:45:34 rather than making any calls 10:45:42 no no no A B C D are not addresses 10:45:51 the actual code is compiled into the word 10:45:55 Yes. 10:45:56 I know. 10:46:00 Quartus Forth is an example. 10:46:01 FOO: 10:46:05 (code of A) 10:46:08 (code of B) 10:46:09 etc 10:46:21 But when you have: : FOO a b c d ; in such a Forth, the "code" will just be a set of CALL instructions. 10:46:43 Unless the compiler is smart enough to realize that a, b, c, and d are used just once or twice, and then will inline them automatically (I think SwiftForth does this). 10:47:02 Native-code Forths start their lives as subroutine threaded Forths. Always. 10:47:10 Because subroutine threading *IS* a form of native code generation. 10:47:24 Anything above that is considered an optimization. 10:47:45 For example, a lot of compilers can realize that 1 + is the same as "INC". 10:48:05 or that 4 * is the same as SHL r,2 or whatever (where r is some kind of register or stack location). 10:48:18 My compiler isn't that smart ... YET. 10:48:30 I am aiming specifically for correctness right now, not speed. 10:49:24 What gets compiled "inline" usually are primitives like +, -, *, /, etc. Conditionals and looping constructs of course (even in mine they do) get compiled inline as well. I also inline literals. 10:49:27 But that's it. 10:51:10 Still there? :) 10:52:34 yeah sorta 10:52:40 i'm multitasking a little bit sorry 10:52:47 heh 10:52:49 i started a bit of a flamewar on #osdev about forth 10:52:51 it died out 10:52:53 thankfully 10:53:01 and now it's some stupid argument about community and perfection 10:53:13 * futhin is a troll ;) 10:53:26 Well, when I write my native-hardware Forth implementation, I can assure you that many elements from Dolphin will make it in there, including the GUI concepts that I have in mind. 10:53:46 there CAN be a forth that inlines all code instead of making calls, that's what i call "native forth" :P 10:53:47 And preemptive multitasking, and ... 10:53:57 There is no such thing. 10:54:02 There can be no such thing. 10:54:07 heh 10:54:09 okay 10:54:14 what do you think about 1:1 compiling? 10:54:18 You'll run out of memory instantly as soon as you compile the definition for QUIT. :) 10:54:21 doesn't an optimizing compiler affect that? 10:54:27 heh 10:54:38 Well, define 1:1 compiling? 10:55:05 I want to make sure that your meaning and my interpretation are the same. 10:55:24 um.. i sorta forget .. it's where you can decompile and produces the same source i think 10:55:29 OK 10:55:34 or something else maybe? 10:55:37 i440r rants about it :P 10:55:38 : back ." re" ; back 10:55:56 OK, I know what you're talking about. 10:56:05 And I agree with I440r that 1:1 is a GOOD THING. 10:56:18 But I don't follow that precept to the exclusion of all other philosophies. 10:56:38 As I indicated earlier, I'm specifically targeting correctness for my FS/Forth compiler environment. That means, subroutine threading *ONLY* for the time being. 10:56:43 The code it produces is 1:1 with the source. 10:56:47 HOWEVER, ... 10:56:55 this is known to produce abhorently slow code. 10:57:09 At least in comparison with code that is hand-written in assembly language. 10:57:34 And especially in comparison with other compiled languages, like C, where they have a higher level view of the source code available to them. 10:57:58 if the coder is good, he can avoid doing things like "1 +" and instead use "1+" 10:58:03 One method Lisp uses to get around this is to take hints from the programmer. These hints are thoroughly ignored while interpreting the code directly, but they affect compilation. 10:58:13 Hold that thought. 10:59:12 Actually don't bother: the problem with using 1+ and such is that you have a HHUUGGEE proliferation of words that compile to definitions with only a few CPU instructions. The x86's subroutine call overhead (including that for RET instructions) is IMMENSE; quite often, it'll dwarf the execution time of the word's definition itself. 10:59:34 So, in FS/Forth, there are several ways around this today, but none are programmer friendly. 10:59:48 Instead of 1 + or 1+, you can write [ ax inc, ] and that'll increment the top of stack. 10:59:56 Ditto for 2* and 2/ and whatnot. 11:00:03 But this doesn't go far enough. 11:00:43 (Case in point: to implement the words < <= = => and >, I had to define a set of primitives: IF and >IF in the target compiler to produce code that was even half-way efficient) 11:01:11 maybe you could make 1+ immediate 11:01:19 Well, that's what you'd have to do. 11:01:21 so it acts like [ ax inc, ] 11:01:34 But that doesn't eliminate the *massive* proliferation of such words. 11:01:59 And it would be rather massive considering how rich the x86 instruction set is (especially in 32-bit mode). 11:02:14 yeah 11:02:19 less words is more 11:02:20 What optimizing compilers in Forth do is recognize patterns. 11:02:21 :D 11:02:46 i think it's important to separate words (not necessarily in forth, but in the mind of the coder) 11:02:59 And if it can detect a certain pattern of instructions that it knows it can replace with another sequence of instructions that fits a certain criteria (e.g., it's known to execute faster without taking much more space), then by all means, it should do this. 11:03:07 hey hey kc5tja 11:03:10 and to keep the core set of words small 11:03:34 The principle of concatenativity and the principle of referential transparency not only permit this, but even encourages it. These principles together combine to form another science which we're already familiar with: algebra. 11:03:39 re mur 11:04:07 So, if I were to add an optimized compiler to FS/Forth, I'd probably do it like this: 11:04:13 : FOO [Optimized] A B C D ; 11:04:41 The [Optimized] "flag" is really a word that subverts the "dumb" compiler, and proceeds to compile the definition as IT sees fit. 11:04:51 Without the [Optimized] flag, it'd be 1:1. 11:05:20 Again, the *user* is in full control. In order to optimize the definition, the user must consciously make the decision to write in the [Optimized] flag. 11:06:36 I think this is the best system available. 11:06:52 --- join: crc (12345678@AC937834.ipt.aol.com) joined #forth 11:06:54 coding the optimizing compiler must be quite tricky.. 11:06:54 The idea is to write the program without ever using [Optimized]. 11:06:58 Test it, profile it, etc. 11:06:58 hey crc 11:07:04 hello 11:07:13 Then for those words that look like they need speeding up, recompile them with the [Optimized] flag. 11:07:17 Test it, profile it, etc. 11:07:27 If any more speed up is necessary, then it's time to re-write in assembly. 11:07:28 crc: do you have a forth? 11:07:51 crc: i think i saw your nick on some site, but i forget 11:08:01 futhin: Tricky in that you need to remember a number of details, but it's actually relatively simple. At least in comparison to C's optimizers. :D 11:08:09 Yes, I develop RetroForth 11:08:14 --- quit: divgrad7 (Read error: 113 (No route to host)) 11:08:15 oh right yeah 11:08:32 crc: have you seen the cliki entry about "forth is NOT intrinsically slow" 11:08:33 --- join: kitsune (foxchip@adsl-209-182-168-45.value.net) joined #forth 11:08:46 Yes 11:08:52 recently? 11:08:55 i added an entry myself 11:09:07 hmm.... The iki implies a Wiki; what's the CL stand for? 11:09:14 Not recently 11:09:19 * kc5tja is thinking Common Lisp? 11:09:53 kc5tja: cliki.tunes.org . possibly common lisp i guess.. i'm curious what you think of cliki.tunes.org/Microkernel and cliki.tunes.org/Exokernel 11:10:06 I *LOVE* exokernels. 11:10:13 those entries seemed a little bit poor 11:10:16 I like microkernels, but exokernels have them beat soundly. 11:10:22 * kc5tja checks 11:10:39 maybe you could enter some entries if you don't like theirs ;) 11:10:50 the microkernel entry seemed to be wrong on some counts 11:12:20 --- quit: TreyB (Read error: 113 (No route to host)) 11:12:59 check out http://cliki.tunes.org/Forth%20is%20NOT%20intrinsically%20slow too. i'm particularly proud of my entry ;) 11:13:38 my 2nd entry anyways 11:20:37 you make some excellent points 11:21:19 thanks :) 11:27:04 kc5tja: hello there? what's up? :) 11:44:13 * kc5tja is writing a response. 11:45:04 yay :) 11:45:08 did you disagree with any of it? 11:45:15 Tons 11:45:32 yeah.. i thought so 11:45:54 and i'm sure you'll write an excellent write up :D 11:46:05 s/write up/response 11:46:10 Well, it'll take time. It's not really well written yet. 11:46:45 yeah took me an hour to write my response to the "forth is NOT intrinsically slow" one 11:46:52 i kept redoing it 11:47:05 even after i entered it 11:47:41 if you don't enter anything into the "summary of changes" it won't show up that you've been modifying it on the "recent changes" page 11:49:09 --- quit: deluxe (Read error: 54 (Connection reset by peer)) 11:49:28 --- join: deluxe (~deluxe@pD950FE42.dip.t-dialin.net) joined #forth 12:01:41 --- join: fridge (meldrum@zipperii.zip.com.au) joined #forth 12:05:20 That's fine. 12:05:23 I prefer that. 12:05:34 I'll edit the summary of changes when I have something that I'm happy with. 12:06:59 yep 12:08:08 what did you thhink about the microkernel entry.. it says a smaller kernel adds more overhead which seems a bit ridiculous.. 12:08:40 I just finished my response. Read it, let me know what you think. 12:09:04 Well, it sort of does, in a way, but if you stop thinking in the Unix-way of doing things, you can often circumvent such overheads. 12:09:12 yep reading now 12:09:20 In other words, if you take a Unix kernel and shrink it, it WILL be dominated by overheads. 12:09:27 And that's the basic problem with Mach. It's UNIX, but smaller. 12:09:34 NO! That's not how you write a microkernel! 12:10:43 Thats noot how you make porridge! 12:10:51 i recommend throwing in an
between your entry and the original 12:11:04 fridge: noot? is that an accent? 12:12:11 kc5tjas statement reminded me of an ad I saw when I was younger, some scottish lad saying "Thats noot how you make porridge" =) 12:12:42 heh :P 12:13:58 Where'd I wrote noot? 12:15:01 no, that's fridge 12:15:04 not you 12:15:07 ahh 12:15:10 --- join: deluxe_ (~deluxe@pD9E4E718.dip.t-dialin.net) joined #forth 12:15:17 Sorry. :) 12:15:26 I misread the name next to it. Same number of characters. 12:15:29 i like your entry :D 12:16:03 nicely concise, succint, gets the point across & demonstrates understanding of the subject :D 12:16:33 That's what I've been going to school for.. .:D 12:16:40 Now if only I can learn how to type... :D 12:20:04 seriously though, if you can write like that in the 30 minutes it took you, you should be writting articles for magazines and getting easy moola ;) 12:20:51 i might be wrong, but writing technical articles for magazines might be easy & good pay 12:22:11 You're wrong. 12:22:13 did you add anything to Exokernel ?? 12:22:19 It's both hard (DAMN hard) and you don't get paid very much. 12:22:21 Yes 12:22:22 i don't see anything different with Exokernel 12:22:27 Refresh. 12:22:35 I wrote that an exokernel is not a microkernel. 12:23:33 --- quit: deluxe (Read error: 60 (Operation timed out)) 12:24:10 i wonder who the author of the microkernel entry was 12:24:11 heh 12:24:29 did you see my entry with "forth is not intrinsically slower" ? 12:24:34 --- nick: deluxe_ -> deluxe 12:26:18 I don't know, but it's mostly an invalid argument. 12:26:25 The idea is right, but there's no supporting evidence. 12:26:30 Anyway, I gotta go -- getting some food. 12:28:22 my argument ? 12:28:24 or his argument? 12:31:01 --- quit: fridge ("http://lice.codehack.com") 12:34:13 i suppose i could've put more examples/supporting evidence for my arugment ?? 12:41:23 --- quit: kitsune () 12:48:06 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 12:57:30 --- quit: crc ("Leaving...") 13:06:25 --- join: bwb (~bwb@ip68-4-121-108.oc.oc.cox.net) joined #forth 13:06:46 kc5tja: hey... just got back.. seems my powersupply on my main computer died :( 13:08:02 --- quit: sifbot (Ping timeout: 14400 seconds) 13:08:42 kc5tja: and I need to go get something to eat and go drop off my sister some where.. So... I may be able to talk later... :/ 13:08:44 bbl 13:19:10 hi bwb 13:25:36 --- join: deluxe_ (~deluxe@pD9E4E718.dip.t-dialin.net) joined #forth 13:26:39 --- quit: deluxe (Killed (NickServ (Ghost: deluxe_!~deluxe@pD9E4E718.dip.t-dialin.net))) 13:26:43 bwb: do you do forth or turbines or what? :D 13:26:50 --- nick: deluxe_ -> deluxe 13:27:01 --- join: deluxe_ (~deluxe@pD9E4E718.dip.t-dialin.net) joined #forth 13:27:25 --- quit: deluxe_ (Client Quit) 13:29:13 --- join: ASau (~asau@158.250.48.197) joined #forth 13:29:36 hey asau :) 13:29:53 Good "late evening"! 13:30:00 :) 13:31:26 I've heard of a good proposal about how Gforth should be constructed in c.l.f. 13:31:58 constructed ? 13:32:04 tell me about it 13:32:05 Also there was Gforth EC referenced. WHere is it? Have you seen? 13:32:14 no idea 13:32:21 A proposal was approx this: 13:32:47 starting from debugger/assembler make small forth 13:33:01 based small version make more elaborate 13:33:25 at end make full-featured forth. 13:33:58 what assembler 13:34:02 gforth has an assembler? 13:35:04 Possible way is to define simple virtual machine and write a compiler for it 13:35:05 --- join: TheBlueWizard (TheBlueWiz@207.111.96.119) joined #forth 13:35:13 hiya all 13:35:27 hi TBW 13:35:32 THis VM should be very simple to code it in asm 13:35:44 Hello TBW! 13:35:55 hiya futhin 13:35:59 hiya ASau 13:36:06 asau: yes, this method for writing new forths is pretty simple and easy to understand, it's nothing new 13:36:18 terve TheBlueWizard 13:36:30 asau: i440r could've done that, but he doesn't like coding assembly in RPN 13:36:40 Of course, it is not new. 13:36:59 does gforth have an assembler? 13:37:02 But I have not seen it running. 13:37:49 kc5tja is writing FS/Forth in FS/Forth ontop of a target compiler in pygmy 13:38:13 terve ja hyvää päivää mur 13:38:21 Back 13:38:26 hiya kc5tja 13:38:31 heh, did it beep you ;) 13:38:48 s/;)/:) 13:39:02 * futhin seems to use emoticons randomly 13:39:44 * TheBlueWizard thinks random emoticons are a nice antidote against order ;) 13:39:48 more practise required for Master of Smileys! 13:39:49 gforth has several assemblers available for it. 13:39:53 However, it itself is written in C. 13:40:13 this is serious line ;) 13:40:18 and this happy :( 13:40:18 yeah, but it's possible to write a "pure" forth using an assembler in gforth 13:40:32 mur: heheh :( 13:40:44 hih :c 13:40:44 futhin: Absolutely. I intend on doing just that in writing FS/Forth for Linux. 13:40:51 it was not that funny :D 13:41:18 re TheBlueWizard 13:41:18 TheBlueWizard: Still back-reading.. :) 13:41:18 i know :*D 13:41:29 kc5tja: back-reading what? 13:41:37 quick, type lots so that kc5tja can't catch up! :D 13:41:37 I was away getting food. 13:41:47 back-reading the #forth talk 13:41:48 I'm catching up pretty fast. 13:41:52 oh, the conversations here :) 13:41:56 Yes. 13:42:17 kc5tja: were you talking about my argument being invalid? 13:42:18 still out of job? 13:42:36 futhin: No, the original author's argument. His point is valid, but offers no supporting evidence for it. 13:42:51 which point is valid ?? 13:42:55 I tried very, very hard not to attack the author in my message. I'm not sure how well I've succeeded. 13:42:56 * mur is planning to do some graphics now 13:43:01 That microkernels are inherently flawed. 13:43:01 i disagreed with almost everything 13:43:05 ohhh 13:43:06 From a performance perspective. 13:43:06 no 13:43:10 i was photoing a while ago. i'll maybe do next some art crafts :) 13:43:41 kc5tja: have you checked http://cliki.tunes.org/Forth%20is%20NOT%20intrinsically%20slow ? 13:43:42 I don't disagree with his point, but I must disagree with his assertion that *ALL* microkernels are bad. 13:43:54 futhin: Yes, I posted a small response. 13:43:59 Look for KC5TJA on the page. 13:44:01 what did you think of my entry? 13:44:13 I am not sure how it fit in with the original point. 13:44:28 Sorry, I'm back. 13:44:38 the 2nd entry 13:44:42 my 2nd entry 13:44:55 At the bottom of the page? 13:45:02 yes 13:45:14 you don't think it fit in with the original point ? 13:45:22 --- quit: deluxe (Read error: 104 (Connection reset by peer)) 13:45:55 * futhin will probably remove the 1st entry of his 13:46:02 since it's just noise heh 13:46:07 No, I thought you were talking about the one on Small C. 13:46:10 The bottom one is fine. 13:46:30 That Gforth is heavily C-based is very bad. 13:46:34 The deviation into 3D graphics is a bit non sequitor, but otherise, the remainder of the text is quite well done. 13:46:41 ASau: I disagree. 13:46:42 Because it is based on GNU C 13:46:45 It's just different. 13:46:58 Something based on C cannot be bad because it's based on C. 13:47:19 Forth is a widely adaptable language runtime environment. It doesn't care about how it's implemented. 13:47:20 * TheBlueWizard nods 13:47:28 nodditynod nod 13:47:37 hehe 13:47:50 If gforth is SLOW for you, then use BigForth instead. It's native code compiling. 13:47:57 But for quick stuff, gforth is plenty sufficient. 13:48:12 I cannot use Gforth at all, beacuse it is GNU C. 13:48:21 Well, that's your loss. 13:48:27 T'ain't my problem. 13:48:43 _GNU_ C base is the worst restriction known. 13:48:48 what did you mean by non sequitor about my 3d graphics example? 13:49:03 ASau: so what? it doesn't affect the FORTH because FORTH is a VM! 13:49:08 :D 13:49:27 ASau: I find that funny, considering GNU C is one of the best x86 code emitters in existance today, and as far as the C compiler architecture itself is concerned, is one of the most liberal (computed gotos to labels, nested function definitions, et. al.) 13:49:36 Better they wrote bootstrap started from small VM. 13:50:01 Not such big as to require heavy GNU C basement. 13:50:12 ASau: gforth is intended to be easily portable across the entire line of GNU-based operating systems, including BSD (which is often compiled with GNU C today), Linux, and QNX. 13:50:20 It isn't 13:50:38 OK, whatever. You know best. 13:50:57 8088 has no GNU C, but has pretty good forthes. 13:50:58 * futhin can't understand asau's english very well 13:51:17 Asau is from Russia; cut him some slack. 13:51:23 English is a hard language to master. 13:51:33 yes, sorry 13:51:51 8088 absolutely has a GNU C written for it. 13:51:59 That was my first time using GNU C! 13:52:02 ASau: are you trying to say you prefer pure ANSI C is preferable cuz it can be compiled using any compiler, and thus should eschew GNU C features? 13:52:35 kn5tja: I've not seen it. 13:52:50 * TheBlueWizard rereads his typing and realizes he mangled his English :-P 13:52:56 Just because YOU haven't seen it doesn't mean it DOESN'T exist. 13:53:06 URL? 13:53:11 google for it 13:53:47 If this was true, I've already found it. 13:54:53 After years of my acquaintance with GNU, I have heard nothing about GNU C for 8088. 13:55:27 The only possible thing is for 80386+ 13:56:50 Can you explain to me how the LInux kernel is ported to the 8086 processor then? 13:56:52 TBW: I prefer C, not GNU C, not MS C, not Borland C. 13:57:17 Oh, now you say that GNU C is for Linux only. 13:57:38 Then, what is it for? 13:57:55 World is not Linux. 13:58:05 The last I checked, nothing in my statement claimed that GCC was for Linux only. 13:58:29 But Linux is written in GNU C. 13:59:11 There are C compilers for DOS and for 8088. Why GNU C does not exist for 8088? Is it for Linux/BSD/*IX? 13:59:23 Then how can it be called portable? 13:59:25 ASau: ok....so which C? K&R C (this should have died out by now) or ANSI C? or what? 13:59:38 ASau: Your logic is severely flawed. 14:00:04 ANSI C is a standard. It is not "GNU C" or " C". 14:00:22 Like ANS Forth is not Gforth/PFE etc. 14:00:32 GNU C is portable by virtue of the fact that it is written in C, and C compilers exist for numerous platforms. GCC exists for x86, PowerPC, Alpha, VAX, S/360, S/370, 680x0, and many, many more. 14:00:38 GCC is not tied to any particular operating systems. 14:00:55 GCC do exist for x86... 14:01:04 where x is no less than 3. 14:01:07 :) 14:01:20 OK, for the moment, let's assume that to be the case. 14:01:29 * TheBlueWizard nods and points out that there are Win version of GCC compiler, Amiga version of GCC, .... 14:01:34 How, then, does this affect anything else? 14:01:53 Why is it so wrong for GForth to be written in C, GNU or otherwise? 14:02:29 The only GNU-specific feature they use, by the way, is the use of computed gotos to implement the inner interpretter efficiently (it's direct threaded usually, though a compiler option can make it indirect threaded). 14:02:36 kc5tja: you might be confusing GCC with BCC ? i've been looking but the closest compiler for 8088 seems to be BCC. even ELKS uses BCC 14:02:44 Literally *EVERYTHING* else is pure, unadulterated ANSI C. 14:02:53 I'm interested in case, where I could easily rebuild (G)forth on _any_ platform, not only GNU supported. 14:03:17 Systems based on 8088 have enough resources. 14:03:28 ASau: Sure they do. I am not contesting that. 14:03:29 But not for GNU C, it seems. 14:03:42 I'm willing to bet that you can at least port GCC to 8088. 14:03:49 Maybe nobody has. 14:03:54 What for? 14:04:06 To build Gforth? 14:04:09 That is a question only you can answer. 14:04:24 Ha! I better go and use another forth. 14:04:32 So do so. 14:04:36 Don't bug us about it though. 14:04:59 But after this authors of Gforth should stop call is "portable". ;) 14:04:59 This channel is here to discuss Forth. 14:05:12 Not whether GCC is superior or inferior for implementing Forth. 14:05:23 But it is portable. 14:05:27 This conversation started from Gforth. 14:05:42 The conversation started with you complaining that GForth sucked because it's written in GCC. 14:05:46 That's not quite the same thing. 14:07:04 :) I say, that Gforth if it wants be _self-hosted_ should be rebuildable from source at any machine with sufficient resources. 14:07:14 That's not GForth's goal. 14:07:21 It has never been self-hosted, nor will it ever be. 14:07:37 Hm. 14:07:46 people seem to easily get confused by what PORTABILITY is about 14:07:47 It *IS*, however, one of *MY* goals in writing FS/Forth. Hence, I'm writing it IN FORTH ITSELF, including its assembler. 14:08:09 Yes. This is why I stopped believing in portability a long time ago. 14:08:15 I agree with Chuck: portability *IS* a myth. 14:08:39 I think I missed underground things for this conversation be meaningful... 14:09:17 1. Forth has less points than C even in his domain. 14:09:17 yeah 14:09:30 Less "points"? 14:09:33 What do you mean by points? 14:09:42 of course when one needs to re-host a portable implementation, it is necessary to group platform dependent (be it machine or operating system) part together, so it would be easy to change them, I think 14:09:59 well, people, even skilled programmers hear "portability" and they seem to forget the definition of portability and seem to think that X will be instantly portable to all platforms with no work required whatsoever 14:10:00 TheBlueWizard: I do this. My assembler is 100% independent of the target compiler. 14:10:11 2. Domains of C and Forth are much the same, especially with ANS extensions appearance. 14:10:33 I'm still not satisfied with assertion 1 above. 14:10:40 I will agree vaguely with assertion 2. 14:10:52 and i will agree that ANS Forth sucks ;) 14:11:22 * TheBlueWizard nods re: kc5tja's reply to his comment 14:11:25 kc5tja: what about the hardware abstractions of FS/Forth? 14:11:26 * kc5tja agrees; ANS Forth is an abomination. Chuck was 100% correct in saying that we needed a publication standard, not an API standard. 14:11:36 3. We see dominance C, because much software is written in C, not in Forth. Even if someone could write it in Forth. 14:11:36 futhin: What hardware abstractions? 14:11:40 what is a publication standard? 14:11:53 futhin: I'll answer that question a bit later. 14:11:55 ( i need to be reminded.. ) 14:11:57 ok 14:12:37 C is dominant because the academic community adopted it overwhelmingly from AT&T. Forth was never actively distributed by anyone, let alone a big-name corporation. Hence, next to nobody has heard of Forth. 14:12:51 Therefore, one cannot use point 3 as an argument against Forth. 14:13:00 4. To correct it, Forth community should write _software_, to prove that Forth has not less abilities as a language. 14:13:15 So so far, I haven't yet seen any credible reason to not use Forth over C (or vice versa for that matter) in the general case. 14:13:26 Now *THIS* I will agree with. 14:13:31 Item 4 has long been neglected. 14:13:41 P.S. That is from SU.FORTH conference (RuFIG mostly). 14:13:47 supposing that FS/Forth might run on many different platforms in the future, with a full-fledged operating system.. aren't any hardware abstractions needed? 14:14:07 futhin: Yes, I'm sure there will be. 14:14:16 Most of my hardware abstractions will follow exokernel-like concepts though. 14:14:40 Thus, FS/Forth itself won't provide much of any abstraction, though it will offer protection. 14:14:48 The abstractions will come in the form of libraries of code. 14:14:56 kc: Forth is more like exokernel itself. 14:15:01 The libraries will be derived from major components found in my former Dolphin kernels. 14:15:25 ASau: Yes, I've noticed that after reading the Xok and related papers. I was very pleased to see the work of MIT vindicate Forth's basic architecture. 14:15:35 s/architecture/philosophy/ 14:15:40 Sorry -- got several things going at once here. 14:16:10 kc: Massive parallelism? ;) 14:16:18 I've been thinking of a name for my self-hosted, hardware-native FS/Forth environment, and I'm going to call it FS/OS. 14:16:36 ASau: I'm not sure what you mean by the word parallelism? 14:16:57 Shoot--I need to work up a sourcerer character for our D&D game before the DM gets here... 14:17:12 kc: I mean IRC is like a bus of massive parallel system. :) 14:17:14 D&D game? cool! 14:17:26 * TheBlueWizard hasn't played that in a long time :((( 14:17:29 * kc5tja nods -- to both. :) 14:17:39 kc: Drop it. 14:17:56 Drop what? The game? Can't. 14:17:57 It was good in youth, but not nowadays 14:18:23 3rd edition D&D is very much like 1st edition. 14:18:36 D&D is like a virus. There are fellows that can't stop. 14:18:37 The rules are greatly simplified, they brought back the monk, ... 14:18:47 Sorry -- got several things going at once here. 14:18:47 kc: Massive parallelism? ;) 14:18:51 if you mean not having time for it (cuz of job, family, ...), I can understand....still, one must have some enjoyment from time to time 14:19:08 ASau: For those who can't distinguish reality from virtuality, I would agree. I'm not one of those people, however. 14:19:14 Go here, write /join #forth :))) 14:19:27 IRC is just as addictive. 14:19:28 Everything'll be OK 14:19:34 Notice that I'm still on IRC WHILE I'm working up my character... :D 14:19:39 :P 14:19:51 It's like getting people off opium using heroin. :D 14:20:05 No need of dungeon. 14:20:06 i've never played D&D but my friends started doing that shortly after i moved back to kamloops.. how mean :P 14:20:12 Cut it off. 14:20:21 (Occam said.) 14:20:39 asau: no 14:20:56 asau: D&D is more important than IRC 14:21:16 kamloops? 14:21:31 yes, i moved from calgary, alberta to kamloops, bc 14:21:50 ah...a city (or town, whatever) 14:21:53 hopefully next semester i'll be in vancouver 14:22:06 futhin: You possibly don't know Russian and Vladimir Vysotsky poems/songs. :( 14:22:22 what are those? 14:22:36 kto eti? 14:22:37 :) 14:22:45 well 14:22:46 shto eto? 14:22:49 i really should get offline i guess 14:23:05 There is a good song, "Ballad about Struggle" 14:23:26 mur: "Ballada o bor'be." 14:23:31 is it about objectivism? 14:23:40 read Ayn Rand :P 14:23:54 No, it is about struggle ;) 14:24:52 ASau: Are you a member of the Forth FIG group? 14:24:59 s/Forth/Russian/ 14:25:08 No. 14:25:24 I have no reason to join for now. 14:26:25 * kc5tja was thinking of starting a San Diego Forth Interest Group, but it seems all the Forth users are up in San Jose/San Fransisco area. :/ 14:26:39 The SDFIG chapter would basically consist of me, Billy, and maybe one other person. D: 14:26:41 :D even 14:26:41 (I think I should join after something _real_ is done, but not before it is done.) 14:27:15 kc5tja: create an american anti-ans FIG :P 14:27:24 and i'll create the canadian counterpart 14:27:25 :D 14:27:26 lol :P 14:27:28 Would you be interested in a self-booting Forth-based operating system at all? 14:27:47 One based on Jef Raskin's Humane Interface? 14:27:57 Only in public domain. :) 14:28:01 i would absolutely be 100000% interested :D 14:28:07 I don't like licenses. 14:28:20 I'm interested in that...at least as long as it doesn't install onto HD....I don't have enough machines here to play around right now 14:28:26 ASau: This would be totally open source. 14:28:30 Of course I'm interested. 14:28:37 In fact, it wouldn't even be GNU licensed. It'd be zlib/libpng licensed. 14:28:51 Better public domain. 14:28:58 ASau: I was wondering, largely because at some point, I'll probably be needing people to write device drivers and stuff. 14:29:06 At most MIT or BSDm 14:29:15 zlib is more liberal than MIT or BSD. :) 14:29:16 * TheBlueWizard himself is a Free Software guy, but is cool with zlib/libpng license 14:29:46 Than public domain is better :) 14:29:50 The problem I have with GNU license is that it basically prevents even ME, the author, from using an identical copy of the program for commercial purposes. 14:30:06 i don't like how FSF defined "open source" in a way that doesn't mean "open" + "source" 14:30:45 kc, make it public domain. Then everyone can use it and noone can close it. 14:31:01 what does zlib/libpng do ? 14:31:08 compared to public domain anyways 14:31:15 After C.M. Forth is public domain. :) 14:31:17 The problem with PD is, here in America, a commercial corporation can just use the code verbatim, copyright/patent it, then come after *ME* as if I had infringed on their rights. 14:31:22 I cannot and will not do that. 14:31:40 Noone can patent public domain thing. 14:31:47 It is already public domain. 14:32:01 ASau: Are you aware that using the XOR function to draw into a bitmap is *patented* here in America? 14:32:11 kc5tja: it doesn't prevent you from commercializing GNU software...it merely prevent the proprietarizing of the software 14:32:16 ???????????????????????????????? 14:32:34 XOR is mathematical operation it can't be patented. 14:32:43 http://www.opensource.org/licenses/zlib-license.php 14:32:47 It is. 14:33:01 This nation is the *KING* when it comes to frivolous patents. 14:33:10 IIRC, it is BSDM w/o 3rd clause. AIR? 14:33:12 kc5tja is correct re: "land grab" on public domain stuff in America 14:33:56 Maybe it should be: 14:34:00 Yup. Both Microsoft and Commodore Business Machines were dinged because of that patent, because Windows 2.0 and earlier used XOR to highlight buttons, and AmigaOS used XOR to implement dragged window borders. 14:34:05 (C) Author, 2003 14:34:24 All rights are granted to public domain. 14:34:38 that doesn't help, unfortunately. :( 14:35:01 The problem is that the copyright is mutually exclusive with public domain (according to US law). Either it's copyrighted, or it isn't. 14:35:27 What the hell! 14:35:35 USA MUST DIE! :) 14:35:51 zlib is the smallest license :) 14:36:05 who owns xor patent? 14:36:10 i do 14:36:18 <:D 14:36:31 List zlib's conditions pp. 1 and 2 here, please 14:36:31 really? 14:36:56 I think Intergraph does today. Not sure though. 14:36:58 mur: no :-{ 14:37:07 ASau: the root of the problem lies with US Congress...for example it keeps extending the copyright terms, and US Supreme Court basically lets it do that indefinitely 14:37:14 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 14:37:14 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 14:37:14 3. This notice may not be removed or altered from any source distribution. 14:37:20 ^ -- zlib license. 14:37:24 has it ever been charged (xor) ? 14:37:37 what is happening with the GIF license? wasn't the owner going to start suing people ? 14:37:41 Yes. Commodore got dinged for violating that patent because of AmigaOS. 14:37:54 kc: OK, I agree. 14:37:56 Unisys owns the GIF patent, and yes, they sued a lot of people. 14:38:16 Better go here in Russia :) 14:38:32 * kc5tja would like to visit Russia some day. I hear that Moscow is a *gorgeous* city to visit. 14:38:38 and Unisys does charge people...US$5000 a pop 14:38:47 We have better relations with laws ;) 14:38:50 I'd also like to visit Germany, Japan, and Italy. 14:39:08 tbw: if i put a gif picture on my site, can i get charged? 14:39:33 and greece, and new zealand 14:39:53 Hi kc5tja :) 14:39:54 Nina Sorotokina: "What for do laws exist? Only for we'd be happy not to obey them if they are bad." 14:40:08 Heh. 14:40:18 terve Robert 14:40:27 Privet, Robert! 14:41:11 futhin: if you bought a gif creating program, some of that money goes to Unisys's pocket, thus you are ok...but if you write up a gif creating program yourself, you can get sued by Unisys 14:41:22 salut i privet, ASau 14:41:23 I've heard GIF patent ended. 14:41:34 Not sure. 14:43:24 back 14:43:28 Terve, mur 14:44:37 ASau: not yet...but it will....fairly soon (this August, I think) 14:44:51 bye mur :) 14:45:05 TBW, If a Congress don't extend it? 14:45:15 Well, I have to go. 14:45:18 Game is about to start. 14:45:40 leaving already tbw? 14:45:45 ASau: It'll be a bit before I get FS/OS up and running, but it will get there, slowly. Going to school takes much of my resources. 14:45:47 kc5tja: good timing ;) 14:45:51 okay cya later kc5tja 14:45:57 bwb: gahh!! I told you when I'd be on... ;D 14:46:03 I'm right on schedule. :D 14:46:12 15 minutes early :P 14:46:15 bwb: do you code forth? 14:46:32 ASau: it is possible that Congress will cook up a bill and pass it, though I haven't heard of it yet...but I am not surprised that Congress is capable of sneaking a bill .... 14:46:33 ASau: Are you an amateur radio operator by any chance? (Just wondering) 14:46:34 futhin: not activly 14:46:52 futhin: I did sorta make a forth for TI-85 calc (was only about 20% complete tho) 14:46:54 kc, no. 14:46:55 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 14:47:01 kc5tja: I need to install the new PS anyway so 14:47:08 Hello, gilbert! 14:47:11 The new copyright law that is in effect effectively extends copyrights to infinity. Damn assholes... :( 14:47:27 ANyway, I gotta go. 14:47:31 later 14:47:37 Bye, kc! 14:47:39 hi ASau 14:47:41 --- quit: kc5tja ("THX WSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 14:47:49 bin hidin? 14:48:08 gilbert, why have you changed your BSD? 14:48:12 bwb: i think trans also made a forth for his ti calculator 14:48:26 he doesn't hang on this channel though 14:48:30 bsd betrayed me :( 14:48:32 but he's on here 14:48:34 on irc 14:48:44 bbl (power supply) 14:48:51 --- quit: bwb ("[BX] You can breathe without BitchX, but I wouldn't recommend it") 14:49:03 --- quit: futhin ("bye") 14:49:32 ASau: I couldn't get bsd to boot on this machine so I got seduced by debian ... 14:49:45 And why debian? 14:49:55 one word: apt-get 14:49:56 Slack would be better for forther? 14:50:03 how so? 14:50:21 O, sancta simplicitas ;) 14:51:29 babelfish doesn't know what that is. 14:52:03 Latin, in Eng. should be: "Oh, saint simplicity." 14:53:00 how is slack simpler than debian? 14:53:04 does it emulate apt-get ? 14:53:13 hiya gilbertdeb 14:53:20 hi blue wizard 14:53:41 how goes it? 14:55:08 Among linux distros slack seems to be the simplest yet powerful. 14:55:32 hmmm. debian hasn't been too bad so far. 14:55:46 I haven't touched slackware since zipslack '98 :D 14:56:05 I am tempted nevertheless. 14:56:08 --- join: Herkamire (~jason@ip68-9-68-123.ri.ri.cox.net) joined #forth 14:56:48 hiya Herkamire 14:57:14 gilbertdeb: busy!!! :( 14:57:34 Oh. c'est la vie. 14:58:33 hi TheBlueWizard gilbertdeb :) 14:58:40 terve Herkamire 14:58:45 hi mur :) 14:59:02 gilbertdeb: yup 15:00:13 Hello, Herkamire! 15:02:47 hi ASau :) 15:02:54 wow, look at all these non-idlers :) 15:03:10 and we all have so much to say ;) 15:03:15 Yep. 15:03:28 another word: rebol 15:03:29 :D 15:05:52 Herk, do you want to say something to us ;) 15:06:46 i want i want i want iwant 15:06:50 tell me what i say! 15:07:17 i want to say something! tellmetellme! 15:07:33 hmm? 15:07:39 :)))))))) 15:08:00 actually I do. is there a way to compute the min of two numbers without logic/comparison? 15:08:22 like with just + - * / & | << etc 15:08:34 there _has_ to be a comparison ... 15:08:49 or subtract the two and check for a negation flag. 15:10:16 Herkamire: I think so! 15:10:32 TheBlueWizard: cool :) .... how? :) 15:10:54 aren't & | and << logic thingies? 15:10:56 I'll have to research hehe...or run a superopt program :P 15:11:21 gilbertdeb: what he is looking for is a branchless selection of two numbers 15:11:51 branchless? 15:12:05 max(a,b)=(a-b)*(a>b)+b 15:12:19 --- quit: mur (Read error: 104 (Connection reset by peer)) 15:12:19 provided (a>b) returns 1 or 0. 15:13:01 exacly. I don't want to do a conditional branch. I'm writing IF and I need a min for the cache flushing stuff. 15:13:38 looks like ASau's solution will work, provided there is a sequence of instruction to generate 0 or 1 based on < 15:13:53 - 0< 15:13:55 I would need a conditional branch to write < 15:14:00 maybe followed by invert 15:14:21 Herkamire: context? 15:14:22 * ASau already have done such things 15:14:37 I thought branching was available even on the single instruction computer!!! 15:14:52 in 80x86 one can use SUB followed by CWD trick to get at 0 or -1 stuff 15:15:34 sub implies some sort of looping and comparison ... 15:16:33 gilbertdeb: I'm trying to write the code for a conditional branch. I need a MIN word first, so I can define IF. 15:16:48 ah. 15:16:57 : MIN OVER - DUP 0< MINUS AND + ; 15:17:01 gilbertdeb: no...SUB is a 80x86 subtraction instruction 15:17:04 I think I wrote something like this down. 15:17:10 My 0< produces 0 or 1. 15:17:16 TheBlueWizard: I know it is, but the logic of it involves comparison. 15:17:59 ASau: I don't have any logical compare words. those would have a conditional branch in them. 15:19:06 Herkamire: from what I know, p->q == ~(p xor q) V p 15:19:07 In 386 there is SALC, IIRC 15:19:09 gilbertdeb: nope...it doesn't...in fact subtraction on numbers can simply be defined as addition of two numbers with the second one negated, and negation of a number is trivial to code 15:19:32 --- join: mur (ammu@baana-62-165-184-187.phnet.fi) joined #forth 15:19:36 : 0< 15 >> 1 AND ; 15:19:44 in other words, p implies q is equivalent (logically) to negation (p xor q) or p 15:19:50 ASau: STOP. I don't have 0< or < or > or = 15:20:00 or : 0< 31 >> 1 AND ; for 32-bit 15:20:08 ASau: NOOOOO 15:20:22 >> is bit shift 15:20:23 TheBlueWizard: ah I see what you mean. 15:20:51 gilbertdeb: I don't understand you're code. what's the -> and the V? 15:21:09 V == or 15:21:14 and -> == implies 15:21:21 My 0< is x86: ROL AX,1 ; AND AX,1 ; PUSH AX; NEXT 15:21:28 * TheBlueWizard smiles, and notes that negation of a number in two complement system is just bitwise inverting then add one...that's it! 15:21:30 do you have xor and or ? 15:22:16 Herkamire: gilbertdeb is writing in an ASCII-ified math notation 15:22:18 TBW, I thought it's obvious... 15:22:26 : MINUS INVERT 1+ ; 15:22:35 yup :) 15:22:35 xor 15:24:33 --- quit: mur (Read error: 104 (Connection reset by peer)) 15:27:20 --- join: KOHTPA (~asau@158.250.48.197) joined #forth 15:27:20 --- quit: ASau (Read error: 104 (Connection reset by peer)) 15:27:26 --- nick: KOHTPA -> ASau 15:27:40 It seems you've not understand me. 15:27:52 0< does not contain branches. 15:28:04 ASau: how does it behave? 15:28:25 --- join: mur (ammu@baana-62-165-184-187.phnet.fi) joined #forth 15:28:30 if TOP is negative, replace with 1 15:28:42 otherwise, replace with 0 15:28:45 but isn't that branching already? 15:28:52 NO! 15:28:56 terve mur tassa 15:28:57 One more time: 15:28:59 the word 'if'. 15:29:27 terve taas, tbw 15:29:36 CODE 0< ROL AX,1 AND AX,1 NEXT END-CODE 15:30:01 Rotate TOP left 15:30:08 And TOP with 1 15:30:16 (end) 15:30:19 oops...taas, not tassa (don't have the dictionary at hand at the moment :) 15:30:42 ok 0< dosn't require brach. it is just : 0< 31 << ; 15:30:53 ( "1 and" is totally redundant) 15:31:03 tässä = here 15:31:18 no....you need to get the most significant bit 15:31:37 I use "rotate left", you may use 31 >> 15:31:42 gilbertdeb: ~ is bitwise not? 15:31:47 * TheBlueWizard absently nods re: tässä 15:32:06 tässä on tassu (here is paw) :) 15:32:42 tassu == paw...hehe....nice pattern to remember, seeing that you're a bear :) 15:33:34 * TheBlueWizard notes that ASau's assembly code assumes 16-bit code, due to AX, not EAX...trivial to change though 15:33:38 Herkamire: yes. 15:33:58 mur: "terve" is "hello"/"zdravstvuj". AIR? 15:35:07 TBW, I'm 16 bit dragon. :) 15:35:38 ASau eto pravda 15:35:46 ASau: ah...hence your grousing about no GCC for 8086 15:36:21 Oh, you are right now. :) 15:37:01 ASau ne snaesh kto eto AIR ti skashali 15:37:18 AIR = Am I right? 15:37:23 ah :) 15:37:38 da da 15:39:14 mur snaesh chut chut russkij :) 15:39:25 "Ÿ ­¥ ¯à ¢?" in Russian 15:39:37 CP866 encoded 15:39:42 latin-1 chest 15:40:18 That is to demonstrate that your accented letters are not shown properly everywhere. ;) 15:42:28 There is fun story about dragon. 15:42:57 Prince Ivan started to fight a dragon. 15:43:17 Not Igor the poor? 15:43:25 He'd cut dragon's head, but another 2 had grown. 15:43:38 head of medusa. 15:43:39 farmers woudl be delighted 15:43:52 He'd cut 2 heads, another 4 had grown. 15:44:05 He'd cut 4 heads ... 15:44:07 ... 15:44:11 n * 2 15:44:12 8 had grown? 15:44:25 He'd cut 32768 heads... 15:44:42 32k? 15:44:45 And killed the dragon, 'cause this dragon was 16 bit. 15:44:52 :) 15:44:53 har har har har har 15:44:56 haha 15:44:58 :D 15:45:00 if you put that to meat mill it woudl produce endlessly food for everyone. altohugh it woudl not be very ethically right. 15:45:01 lol! 15:45:47 mur: not ethically right? was dragon supposed to be evil? 15:46:07 killing is not right 15:46:25 nothing is bad or good entrieoly 15:46:29 entirely 15:46:38 * gilbertdeb rolls his eyes. 15:46:48 'right' does not compute. 15:46:49 Stop, guys. Relax. 15:46:59 Have fun! 15:47:13 yes 15:47:14 :) 15:47:50 * TheBlueWizard realizes he has hit a raw nerve 15:47:54 do you know if i can transfer files via ssh connection? 15:48:04 man scp? 15:48:32 hm? 15:48:51 localhost$ man scp 15:49:12 --- join: sifbot (~sifforth@ip68-9-68-123.ri.ri.cox.net) joined #forth 15:49:12 Type sifbot: (or /msg sifbot to play in private) 15:49:27 bash$ man scp 15:49:33 sifbot: : min over - dup 15 >> * + ; 100 4 min . 4 100 min . 15:49:34 to be more clear 15:49:34 Herkamire: 4 4 15:49:44 no unix here :( 15:49:59 Ah... 15:50:35 sifbot: 4 5 min . 15:50:37 TheBlueWizard: Word not found: min 15:50:45 hmm 15:51:16 sifbot: : min over - dup 15 >> * + ; 4 5 min . 15:51:17 Herkamire: 4 15:51:21 sifbot: 1 15 << . 15:51:23 ASau: 32768 15:51:27 sifbot is not persistant 15:51:32 sifbot: 1 16 << . 15:51:33 ASau: 0 15:51:48 Wah! 16-bit dragon! 15:51:55 dragon? 15:52:04 it involves Ivan. 15:52:06 long story. 15:52:06 :) 15:52:14 how many bit was ivan? :) 15:52:24 1 bit if he has one head not replacable? 15:52:28 prolly had energy > 16bits 15:52:29 ASau: I didn't think many people would need 32 bits for one-liners 15:52:31 sifbot: words 15:52:32 TheBlueWizard: ." .( : if then do loop repeat until exit ... 15:52:45 * TheBlueWizard smiles 15:55:19 mur: Ivan was analog. ;) 15:55:29 bad for him 15:56:20 If he was digital, hardly he was lucky. 15:56:30 Fairies tell he was. 15:56:57 sifbot: dp @ . 15:56:58 TheBlueWizard: Word not found: dp 15:57:00 ;) 15:57:13 sifbot: hex here . 15:57:14 ASau: Word not found: hex 15:57:16 what's dp? 15:57:18 hmm...just poking around...I'll take it into /msg then 15:57:25 dictionary pointer 16:03:58 Anoyone thought about or wrote a compiler? 16:04:53 which kind asau? 16:05:10 Forth -> native, no matter. 16:05:33 there are such compilers 16:05:54 Names, please. 16:06:04 Pygmy,.. 16:08:36 I can't decide which way to go... 16:08:47 There are alternatives. 16:09:03 not that I can recall off my head..... 16:09:06 sorry! 16:09:08 1. Write self-compiling code. 16:09:19 but I know Pygmy is threaded 16:10:00 --- quit: ASau (Read error: 104 (Connection reset by peer)) 16:10:05 --- join: KOHTPA (~asau@158.250.48.197) joined #forth 16:10:11 --- nick: KOHTPA -> ASau 16:10:30 KontrA! 16:10:41 I mean code, that produces and writes native code. 16:11:08 This simplifies compiler itself 16:11:21 if it does not avoid compiler. 16:11:41 2. Write a compiler, that manages different words 16:12:01 with compiling semantics and executing semantics. 16:15:28 If anyone decide to write a compiler, I'd like to speak with him about such a thing. 16:16:50 It seems I am to leave you. 16:17:05 Do svidanija! 16:17:19 --- quit: ASau () 16:17:19 Bye ASau :) 16:18:26 laeving soon 16:18:41 fyi: the '->' or ifthen truthtable is equivalent to: if(a,b)=(a and b) or (not(a) and b) or (not(a) and (not(b)) 16:18:51 I should try using it myself. 16:18:57 anyway I have a date. 16:19:01 Yes a girl not a machine :D 16:19:03 gotta go. 16:19:19 * gilbertdeb biiig smile. 16:19:21 --- quit: gilbertdeb ("Monk has left the building") 16:20:52 --- join: ASau (~asau@158.250.48.197) joined #forth 16:21:00 wb 16:21:01 :) 16:21:01 BTW, I've forgotten. 16:21:19 About Forth OS 16:21:36 See http://retro.tunes.org/ for details. 16:21:58 Maybe it'd be good to help them and take an OS. 16:22:08 Or, even, range of OSes. 16:23:00 Tell futhin to place it in motd, maybe it would be useful for others. 16:23:02 Bye! 16:23:04 --- quit: ASau (Client Quit) 16:25:54 --- quit: Herkamire ("leaving") 16:44:06 gotta zip...bye all! 16:44:11 Bye 16:44:17 bye Robert :) 16:44:28 terve mur :) 16:44:43 --- part: TheBlueWizard left #forth 16:45:38 hups 16:45:40 no moivaan 16:51:10 --- join: Herkamire (~jason@ip68-9-68-123.ri.ri.cox.net) joined #forth 16:52:49 re herke 16:53:04 re :) 16:56:21 in a sec gone 17:04:50 good night 17:05:20 --- quit: mur ("MURR!") 17:27:30 --- join: deluxe (~deluxe@p50804F69.dip.t-dialin.net) joined #forth 17:44:35 hi deluxe :) 17:44:47 Hi 17:55:24 salut :-) 17:58:48 I'm mad 17:59:46 echo "3 . bye" > bla ; cat bla - | gforth 18:00:09 that should exit right away, but it doesn't. it waits for you to press a key, then exits. 19:00:17 * Herkamire gets =if and then to work :) 19:15:07 * Herkamire accidently writes 0if 19:15:53 --- quit: deluxe (Read error: 104 (Connection reset by peer)) 19:40:18 * Herkamire writes if 19:40:22 and it works too! 21:20:50 --- join: Speuler (~Speuler@mnch-d9ba42f0.pool.mediaWays.net) joined #forth 21:21:00 'morning 21:21:04 Morning, Speuler 21:21:11 Up late or early? 21:21:23 still 21:21:34 party 21:21:55 not mine 21:22:07 gatecrashed 21:22:34 well 21:22:38 not exactly 21:22:51 just went in 21:23:02 wanted to tell something about linux :) 21:23:27 to the lad renting out the place where the party was 21:23:44 the party goers i didn't know at all 21:23:51 but there it was 21:24:24 (lad renting out the place was serving at the bar during party) 21:25:49 useful to have party-lounge hiring people using linux :) 21:26:43 was good to visit indeed 21:27:15 need to know how much i'd charge for installing linux on 10 office pcs 21:27:35 company of his sister wants to trash windows 21:28:25 and good cheese they had there at the party 21:28:51 how's life ? 21:47:17 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 22:07:55 --- quit: Herkamire ("Yay! I found my bug. now I can go to sleep :)") 22:20:40 --- quit: Speuler ("exit error: no error") 22:39:21 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 22:48:39 --- quit: gilbertdeb ("Monk has left the building") 23:17:05 --- join: krish (KRISHNAKUM@61.1.220.248) joined #forth 23:59:16 --- quit: krish (Read error: 113 (No route to host)) 23:59:59 --- log: ended forth/03.04.12