00:00:00 --- log: started forth/02.08.16 02:07:58 --- join: Speuler (~l@p3E9B8EB9.dip.t-dialin.net) joined #forth 02:08:16 'morning 02:09:52 hi 02:10:11 hi 1tom 02:10:26 how's your bot doing ? 02:14:53 Morning 1tom, Speuler. ) 02:14:59 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 02:15:11 god dag the_rob 02:15:25 :) 02:15:40 good mood today ? 02:15:48 Just woke up :P 02:15:57 But yeah, I'm always in a good mood when I wake up. 02:18:06 * Speuler will turn to CaffeineJunkie mode shortly 02:20:29 also only awake for half an hour or so 02:21:12 :) 02:21:20 * Robert will go eat a bit. 02:25:35 * Speuler will go beat it 02:26:07 --- nick: Speuler -> CaffeineJunkie 02:45:39 --- quit: CaffeineJunkie (Operation timed out) 02:59:22 --- quit: futhin (Ping timeout: 14400 seconds) 03:21:14 --- quit: sif (sendak.openprojects.net irc.openprojects.net) 03:21:16 speuler: dont have time 2 have an eye on the bot 03:21:19 --- join: sif (~sifforth@ip68-14-9-225.ri.ri.cox.net) joined #forth 03:22:18 speuler: so ive stopped it. uknow our netconnection is so kludgy. 03:23:21 and if it parts from the net the bot eats up all the cpu cycles 03:52:39 --- quit: sif (sendak.openprojects.net irc.openprojects.net) 03:52:56 --- join: sif (~sifforth@ip68-14-9-225.ri.ri.cox.net) joined #forth 04:25:26 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 05:40:12 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 05:40:26 --- quit: Serg_penguin (Client Quit) 05:58:16 --- join: cleverdra (julianf@0-1pool37-37.nas2.florence1.sc.us.da.qwest.net) joined #forth 06:57:51 --- join: Serg_penguin (~Z@217.10.35.226) joined #forth 06:58:39 --- quit: Serg_penguin (Client Quit) 08:49:58 hi cleverdra 08:50:15 any news? 08:51:02 I've settled on a Scheme, I think. You? 09:08:57 A Scheme? cant understand that A 09:09:44 not much, coz i have 2 do the usual sysadmin tasks 09:09:58 seting up some backup mechanism 09:09:58 * cleverdra doesn't understand "can't understand that A" 09:10:25 writing some picture slicer script & the like 09:10:52 Slice pictures how? 09:11:09 ah, and the most boring stuff is playin ping-pong w huge movie files, recompress them & write them 2 cd 09:11:34 slice just along a grid into small pieces 09:11:52 i havent started it yet, but probably its not 09:12:01 as ez as i thought 4 the first time... 09:12:08 So what did you mean by "cant understand that A"? 09:12:30 coz the orig picture is a ~2000x2000pixels 1 09:12:46 Scheme is a lang, right? 09:13:07 then what does it mean: a Scheme? 09:13:25 A SPECIFIC Scheme? 09:13:30 A SPECIFIC Scheme implementation? 09:13:45 Yes, of course. 09:14:07 Well, yes anyway. Like 'a Forth'. 09:14:16 I have a Forth named IsForth =)\ 09:14:30 ahha :) 09:15:09 but u havent said any more specific after 09:15:27 like A Scheme VERSION/IMPLEMENTATION or the like 09:15:44 it has confused meg a bit :) 09:15:49 s/meg/me 09:18:34 on the other hand i still researching the possibilities of a forth os 09:19:29 eg, we have started an exploration w tcn on the topic "4th-vs-C execution cost" 09:20:27 but we still have 2 find a good example for proving 1is better that the other 09:20:38 What does proving that have to do with a Forth OS? 09:21:47 it could b an undoubtable prove that a 4thOS would b more effective (and so faster on the proper hw) than a C 09:22:08 --- join: futhin (~thin@h24-64-175-61.cg.shawcable.net) joined #forth 09:22:36 --- quit: futhin (Client Quit) 09:22:38 so not only the different ideology/methodology of forth makes the difference between the two 09:22:41 brb 09:23:18 * cleverdra shrugs. 09:50:21 --- join: I440r (~mark4@1Cust231.tnt1.bloomington.in.da.uu.net) joined #forth 10:03:23 Hey :) 10:04:45 hi 10:45:01 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 10:51:22 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 10:51:36 onetom: you there? 10:52:50 not all :) 10:54:53 i440r: are you spending lots of time with isforth or is your job keeping you busy? 10:55:54 no my job is semi finished, on hold till next month 10:56:20 im plodding my way thru reorganizing the opcode tables into a LOGICAL order 10:56:31 instead of having similar encoding scattered all over the place 10:57:50 are you happy that your job is on hold? :P 10:57:56 so that you can spend quality time with isforth 10:58:00 --- join: proteus (~irc@24-197-147-197.charterga.net) joined #forth 10:59:15 What kind of logical order? 10:59:15 Most commonly used instuctions first, to gain speed? 10:59:15 * Robert thinks he's lagged. 10:59:36 * futhin wonders if there are any instances where recursive algorithms are faster than iterative? and how do they compare on x86 and forthchips? 11:00:29 robert: yeah, you might be lagged.. i'll let you know when my ping gets back 11:00:57 or maybe they were swallowed up into the abyss! 11:01:04 robert no. all like opcoedes together instead of scattered all over the place 11:01:18 makes it simple for me to create a function to actually assemble LIKE opcodes 11:03:25 futhin - well, what do you mean by recursive? Recursive algorithms do not necessarily create recursive processes. Algorithms that generate linear recursive processes tend to be, anyway, easier to create and slower to run -- see Fibonacci numbers for a classic example. 11:04:01 okay, well then s/algorith/proccess 11:04:03 futhin ive NEvER seen a recursive fucntion that couldnt be coded better as an itterative function (ackerman doesnt count, it has NO useful purpose) 11:04:30 are recursive functions less costly on a forthchip because of the return stack ? 11:04:49 do iterative functions still beat out recursive functions on a forthchip 11:05:03 Why waste return stack space? 11:05:07 why do people code recursive functions? lazy bums 11:05:16 futhin - an iterative process would tend to beat a recursive process, because of what Robert just said. 11:05:54 futhin - not just stack space, but space. Iterative processes work in fixed memory. 11:06:44 why does anybody support recursive functions? :/ 11:07:55 futhin - because, again, 'recursive function' ne 'recursive process'; because recursion is useful, and sometimes less-costly for special cases -- say, one of the troff state-machines that I was going to send you. 11:08:03 futhin - BTW, what's your email? 11:08:51 cleverdra: jbrobey@yahoo.com 11:08:52 um, gcd in Forth, if you've seen it, is an nice recursive function that generates an iterative process. 11:09:07 Hrm.. How would I solve a = b^x, when I know a & b but not x? 11:09:13 Of course you need optimized tail-recursion. 11:09:19 --- quit: proteusguy (Read error: 110 (Connection timed out)) 11:09:25 er 11:09:30 Robert - logarithms 11:09:33 a = b^kx 11:09:38 Well, I can't get it to work. 11:09:38 cleverdra: do i recall you asking somebody on here for my email address a short while ago for sending me something else ? 11:09:59 I know a and b (a is below b), and a = b^8k 11:10:00 ln(a) = ln(b^kx) = ln(b)*ln(kx) ... or something like that. 11:10:06 So, k is negative. 11:10:15 Hrm... 11:10:18 futhin - yes. 11:10:27 I though ln(b) * 8k. 11:10:59 Robert - eventually you reach a point where you raise to a power of e, to 'undo' the ln() and get an answer. 11:11:22 ln(ax)=ln(a) + ln(x) 11:11:35 ln(a^x) = x*ln(a) .. ah, I'm remembering. 11:11:40 Yeah. 11:11:42 So... 11:11:50 ln(a) and ln(b) are both negative. 11:11:59 that's correct 11:12:09 So, ln(a) = 8*k*ln(b) 11:12:15 yeah 11:12:17 ln(a) = ln(b^kx) = ln(b)*kx => x = ln(a)/(ln(b)*k) -- which you can compute 11:12:19 But k has to be negative. 11:12:37 Hmm... 11:12:46 oh, you don't know k either? 11:12:55 Well, I know x, but not k. 11:12:59 Oh. 11:12:59 Well, same thing. 11:13:02 * cleverdra nods. 11:13:06 Anyway, x is 8. 11:13:11 I don't know k. 11:13:16 ln(a) and ln(b) are both negative. 11:13:16 k = ln(a)/(ln(b)*x) -- get a calculator =) 11:13:32 ln(a)/(ln(b)*8) <--- that would get positive. 11:13:39 But k should be negative. 11:13:45 * cleverdra nods. 11:13:46 a = f(8) 11:13:49 b = f(0) 11:13:53 Why should it be negative? 11:14:15 none of this is RPN - I'm ashamed of you all... 11:14:18 f(x) = b^kx 11:14:19 You said that a = b^kx, and that k must be negative. 11:14:35 proteus - because RPN is stupid, here. When I do the calculation I'll do it on my RPN calc. 11:14:36 a ln b ln x * / 11:14:38 Yeah, since a is below b. 11:14:43 :-) 11:14:47 :P 11:15:01 Robert - kx could be fractional 11:15:08 blame the education system for brainwashing cleverdra and robert ;) 11:15:08 If k was positive, a should be above b, right? Since a = f(8), and b = f(0), and f(x) = b^kx 11:15:19 proteus: RPN? 11:15:30 cleverdra: Fractional? :) 11:15:34 Mathematics is more concisely expressed in infix syntax. 11:15:36 Reverse Polish Notation - the forth way Robert... 11:15:42 proteus: Ah... Heh. 11:15:43 Robert - you know... square root of x is x^(1/2) 11:15:45 RPN is the natural way to do math! :P 11:15:53 it is indeed. 11:15:55 futhin - to *do* it, maybe, but not to express it. 11:16:08 :P 11:16:11 cleverdra: Well, hrm. 11:16:22 I'm dumb. 11:16:23 Well, brb. 11:16:29 cleverdra - depends on how deep your brain's stack is... mine's pretty shallow I'm afraid... 11:16:31 * Robert understands 'food'. 11:16:39 cleverdra: And yeah, it is fractional. 11:17:36 --- quit: proteus () 11:17:38 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 11:17:55 Robert - curiously, how did you come upon this problem? 11:18:06 yay proteusguy! your internet connection triumphs again! 11:18:11 yep... 11:18:17 bites 11:18:49 proteusguy: you could install linux :P 11:18:58 and use ircii or xchat in x win 11:20:30 Or connect to futhin's machine and use GNU screen with ircii 11:20:38 I have linux in dual boot on this box... just in something that requires Windows at this point. I do have cygwin running however... 11:20:47 cleverdra: heheh, i don't have linux installed on my comp currently 11:21:08 but i've actually been thinking of switching because nobody else is using my computer these days 11:21:21 * futhin is reading ESR's cathedral bazaar essay right now.. interesting :) 11:21:47 Funny thing, I am snarfing ESR's writings right now. 11:22:00 I read CatB a long time ago, but I'd like a refresher. 11:22:04 proteusguy: you use something that requires windows? games? watching videos? 11:22:16 ESR is a python guy... which is a cool language. I like his thoughts. 11:22:43 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 11:22:48 futhin - nope - no games or videos (can watch DVDs under linux better)... writing C++ code right now that has win32 target. 11:23:17 For a counter-Python view, see http://www.paulgraham.com/power.html "Succinctness is Power" 11:23:31 checking it out now... 11:24:27 if succintness is power, then forth is the most powerful language! :P 11:24:30 what the hell 11:24:48 if all coders were thinking "succintness is power" then wouldn't more look at forth? 11:24:58 forth is not just _succint_ 11:25:18 it also encourages succint (sp?) solutions 11:25:25 futhin - more might build large languages like Perl, or more specialized languages that are very concise for a particular field of tasks. 11:25:34 s/succint/succinct/ 11:25:52 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 11:25:54 cleverdra: forth is easily specializable tho :P 11:26:08 I describe that URL as counter-Python because it goes against popular Python rhetoric, not because it's counter-Python, even though it starts off with Python =) 11:26:10 futhin - true. 11:27:08 (well, not really goes against... Nevermind.) 11:27:37 futhin - sometimes Forth can be so specializable that you find yourself almost programming in another language =) 11:27:47 yes, exactly 11:29:03 this article has made me realize why i think that forth as a high level scripting/general purpose lang of an os would be very nice and hopefully easily usable by non-programmers 11:29:23 WHY.. the potential of forth to be succinct.. 11:29:39 kc5tja, if you're curious: http://www.paulgraham.com/power.html "Succinctness of Power" 11:29:45 also, hello kc5tja 11:29:56 i should probably finish the article before saying anything more heh 11:30:00 The article focuses solely on language and ignores environment. I find python very succinct for the applications I use it for. I like C++, Python, and FORTH very much. No one pays me for forth however... 11:30:55 pay yourself for forth 11:31:11 you'll get rich! 11:31:14 I intend to some day - maybe with a cool PDA project. 11:31:19 Paul is pretty much blinded by Lisp. While he's an intelligent writer and knows his stuff, he refuses to acknowledge the existance of any other language besides Lisp. I'd wager he feels threatened by Forth. 11:31:35 i'm blinded by forth 11:31:37 i freely admit that 11:31:52 i have grown increasingly bigotted against C coders and any other language 11:31:56 proteusguy - certainly. a library called 'a' that had a function called 'b' that, when invoked, ran a production server and juggled cakes would give Python a concise way to say "Run a production server and juggle cakes." 11:32:00 I've found lisp to be a generally useless language when it comes down to getting serious work done. 11:32:04 i still have _some_ respect for lisp 11:32:17 proteusguy - do you mean Scheme or Lisp? 11:32:29 proteusguy - and how familiar are you with Common Lisp propaganda? 11:32:43 Well both - a little more than I wanted to be. 11:33:00 kc5tja - oh, I got a response from Paul. Do you want me to forward it to you? 11:33:06 proteusguy: lisp has a fast development cylce like forth, and also has more high-level features and libraries and stuff 11:33:10 I've done lisp development in the past... always have to end up using another language to get the final bits done. 11:33:12 cleverdra: what kind of response ? 11:33:26 proteusguy: what kind of projects did you use lisp on? 11:33:28 Common Lisp is a huge language; I wonder how it could be generally useless. 11:33:31 If you wish. sfalvo at hifn dot com 11:33:39 jbrobey@yahoo.com 11:33:47 futhin - you mean its got a neat development environment. 11:34:01 futhin - an explanation. 11:34:01 kc5tja - OK. 11:34:39 It's useless in that it doesn't map well to the abstractions that my designs create. Takes too much effort for what I could accomplish in many other languages. 11:34:40 also, futhin, I'll send you that tiny (unfinished, but it allowed me to read some simple manpages) troff with its example state-machines 11:34:40 * futhin doesn't get much spam at all at his email account.. clog's logs have robots.txt so google doesn't surf clog's logs 11:35:15 proteusguy - well, OK. 11:36:36 cleverdra: what kind of response did you get from paul ? or forward it to me please, i'm interested 11:37:10 yeah, I just sent it to both of you. 11:38:07 Personally, I find that response unacceptable. 11:38:09 Hrm.. what is ln(a*b^(c*d)) ? 11:38:10 (futhin - this is for gforth, and its state-machines are implemented using CASE structures.) 11:38:21 kc5tja - how so? 11:38:22 But he does have a point. His code is, to a limited extent, polymorphic. 11:38:40 Robert - c*d*[ln(a)+ln(b)] 11:38:47 But he very clearly implied integers in his code. At least, that's how I understood it. 11:39:09 cleverdra: What do the [ and ] mean? 11:39:20 kc5tja - perhaps he did. At the top of his page he (now) says that he means 'numbers', not 'integers' 11:39:21 Outter parentheses 11:39:27 Oh. 11:39:29 Just for clearity? 11:39:32 Uhm 11:39:33 Robert - what kc5tja said. Yeah, for clarity. 11:39:34 Yes. 11:39:36 clearness* 11:39:37 Or something. 11:39:42 clarity. :) 11:39:43 forth doesn't do polymorphism ??? surely it does 11:39:43 Thanks. 11:39:46 cleverdra - I see. 11:40:02 Forth doesn't do polymorphism. Everything is bound as early as possible. 11:41:29 futhin - OK, sent the troff. 11:42:18 futhin - note the RECURSE in the second state-machine =) 11:43:18 cleverdra: does your smudcl do anything yet? like connect to another server? 11:43:44 kc5tja: forth _could_ do polymorphism right? "coding in forth is creating a new language" 11:43:51 futhin - hm? I stopped working on that. 11:44:15 cleverdra: yeah, because you are waiting for isforth to have dynamic memory management 11:44:48 Yes, but now you're not coding in Forth anymore; you're programming in some domain-specific language. And even so, will it be as concise as the Lisp equivalent? 11:45:34 probably not because you would have to include the code for making it polymorphistic in the first place? 11:45:46 unless you renamed the "language" to something other then forth :P 11:45:58 or called it ANS Forth ver. 2 11:46:33 futhin - connecting to another server is actually very very easy (caveat re hostnames); and my intended design for smudcl was so simple that there wasn't much else to it, either. The reason I stopped work is that I couldn't keep with the 'simple' requirement. 11:46:36 No, because your domain-specific language is almost certainly not nearly as concise as Lisp is. There are tons of OOFs around, and absolutely none of them can do run-time type checking for intrinsic types on the data stack. So you always have to qualify them. 11:46:56 futhin - and it's the non-simple mud client that I stopped work on because IsForth didn't have dynamic memory management. 11:47:35 You can make an everything an object, though, as in RPL. 11:49:29 I may fall off. There's a storm here. 11:53:29 cleverda: why not create a simple sockets package so that morons like me can use them to build the irc clients and mud clients and ftp clients ;P 11:55:05 futhin - why don't you write a quick networking program to show me the kind of interface you'd like? 'cause I was learning toward dumb-primitives and immediate specialization. 11:58:09 --- join: proteus (~irc@24-197-147-197.charterga.net) joined #forth 12:00:54 --- join: ayrnieu (julianf@0-1pool37-37.nas2.florence1.sc.us.da.qwest.net) joined #forth 12:00:59 futhin thats what im doing with isforth. sorta 12:01:02 --- quit: cleverdra (Read error: 104 (Connection reset by peer)) 12:01:07 i STILL need to fix dns queries tho 12:01:16 --- nick: ayrnieu -> cleverdra 12:03:35 I440r - ah, are you approaching that problem too? I think I detailed it in that smudcl source. Do you want some assembler for getaddrbyname? 12:06:59 cleverdra actually, i wouldnt mind it - but remember, ill be doing dns queries by formatting the query and transmitting it to the server via socketcall syscall. i WONT be using any LIBRARIES to do the dns queries 12:07:28 I440r - there's more to it than that; you want to look at /etc/hosts 12:08:59 i know 12:09:23 thats why ive not coded this yet hehe 12:09:55 (do a strace on a networking program) 12:10:05 --- quit: proteusguy (Read error: 110 (Connection timed out)) 12:11:28 actually, I can't find the assembler. Sorry. 12:11:47 --- nick: kc5tja -> kc-food 12:12:08 well if you find it send it to me :) 12:26:58 --- join: tcn (tcn@tc2-login6.megatrondata.com) joined #forth 12:27:04 hey 12:27:42 hello tcn 12:27:44 tcn! 12:29:05 --- quit: cleverdra ("Leaving") 12:32:24 don't everyone talk at once 12:33:34 lol 12:33:43 we were chatting but then you came in and it went quiet :) 12:35:14 u looked at that assembler ? 12:35:51 asm.f? yeah, it was only 1 page and it didn't do anything :) 12:36:05 it's a virtual assembler 12:36:17 it can assemble SOME instructions already 12:36:20 ohhh rite 12:36:26 i hadnt got that far when i sent that to you 12:36:29 dns me 12:36:34 look in my ftp 12:39:55 ok.. now write code for MOV and the ALU instructions 12:42:11 im working on that 12:42:29 im going through all the instruction encodings and reordering them into a more LOGICAL order 12:42:47 so that all similarly encoded opcodes are next to each other 12:43:32 but its taking time because its boring :P 12:45:52 i gotta take the siberian poodle for a walk :P 12:45:54 brb 13:09:56 --- quit: proteus (Read error: 110 (Connection timed out)) 13:09:57 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 13:12:44 the better example is: 13:14:04 x(a,b,c,d,e) { y(a,b,c); z(d,e); } 13:14:28 back 13:14:36 a b c d e x 13:14:48 : x z y ; 13:16:01 tcn: so, think about it hard! ;) 13:16:35 that's not realistic 13:16:48 i think u can save the extra preparation of the 2 stack frames 4 y & z 13:17:47 i would never pass so many parameters in an inner loop 13:18:03 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 13:18:03 just by using the proper execution/parameter order 13:18:09 loop? 13:18:14 who is talkin about a loop 13:18:15 ? 13:18:50 lets look 4 a similar but realistic example 13:20:03 graphics primitives would be a good test of the CPU design 13:23:29 k, got a 1st example 13:23:38 imagine an object oriented system 13:23:52 and lets take a look at constructors 13:24:36 init (attrib1, attrib2 .... :integer; newattrib:string) 13:24:37 begin 13:24:51 inherited init (attrib1m attirb2 ...); 13:25:11 _newattrib := newattrib; 13:25:16 end; 13:25:26 its a very common construct ithink... 13:25:36 but now i gotta go 13:25:43 ok, see ya 13:25:58 but plz explain that graphics primitive idea 13:26:14 im gonna read back the logs tomorrow (or 2 nite :) 13:26:23 circle drawing is sorta register-intensive.. 13:26:32 gotta make sure we have enough regs :) 13:26:33 --- nick: kc-food -> kc5tja 13:27:01 i tried writing a circle algorithm in forth and finally gave up! 13:27:10 in C, Asm, etc. it's easy 13:28:03 tcn show me the c and asm code 13:28:17 breshenham circle code ? 13:28:59 * tcn nods 13:29:18 show me the c code :) 13:29:23 email it to me 13:30:21 and also 2 me, plz :) 13:30:40 let us see how can we adapt it 2 4th 13:30:47 gnight 13:30:55 ok i'll dig it up 13:31:15 thx in advance 13:53:53 anyone got a forth 32 bit crc function ? 14:10:54 --- quit: proteusguy (Read error: 110 (Connection timed out)) 14:35:15 --- quit: tcn ("Leaving") 14:46:01 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 14:48:40 onetom: don't you think that even if C code is as efficient on x86 as Forth is on forthchips, forth still results in smaller solutions because it is a coding methodology and encourages simplicity? 15:50:23 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 15:50:24 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 15:51:31 --- quit: I440r () 16:12:00 --- quit: proteusguy (Connection timed out) 16:50:40 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 16:56:20 --- join: kp2 (kp2@salm-m2-21.wvi.com) joined #forth 16:56:23 hey all 16:58:36 re 17:22:32 --- quit: kp2 (Read error: 113 (No route to host)) 17:25:34 Off to aikido. 17:25:43 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 17:28:27 --- join: tcn (tcn@tc1-login10.megatrondata.com) joined #forth 17:43:31 --- join: tom (tcn@tc3-login8.megatrondata.com) joined #forth 18:04:24 --- quit: tcn (Read error: 110 (Connection timed out)) 18:09:16 --- quit: proteusguy (Connection timed out) 18:09:48 --- join: CrowKiller (punkrules@Ottawa-HSE-ppp3653644.sympatico.ca) joined #forth 18:11:33 * CrowKiller tried to flash his laptop's BIOS with a bootable cdrw, it failed miserably 18:12:42 killed it? 18:12:52 yes 18:13:15 I hope the flash isnt soldered into the motherboard 18:13:25 heh 18:13:34 I'll try to reprogram it myself with the specs 18:13:44 flash is a dumb idea 18:13:49 if I can find them ;p 18:14:24 tom: don't you think that even if C code is as efficient on x86 as Forth is on forthchips, forth still results in smaller solutions because it is a coding methodology and encourages simplicity? 18:15:22 in certain cases 18:15:35 in other cases it's just frustrating 18:15:51 I'll actually try to finish my Forth system on this machine (friend's computer) so I can program the flash using a 100% homemade solution 18:16:10 the frustrating part would be the fact that you are starting from low-level ? 18:17:04 no, being forced to use RPN 18:17:27 umm.. my perspective is that there isn't any RPN 18:17:44 CK: you'll have the kind of BIOS you ought to.. just a simple bootloader 18:18:03 but then, my perspective is that there isn't a data stack. 18:18:25 are you still talking about forth? 18:19:18 i think the whole point of the stack.. is not because it's there, but because it lets you do implicit data passing.. i think forthers are supposed to forget about the stack, and pretend that "implicit data passing" is the main feature, not the side effect 18:19:59 maybe I could hack myself a minimal BIOS that could fetch bytes in memory using the EPP Pport and then do a jump at the start when finished downlaoding 18:20:17 futhin: nameless data storage is crucial point in forth 18:20:46 RPN is really only occuring in isolated cases.. 1 2 + . with a different perspective (or a higher level one) you are able to create language close to english. 18:21:00 "over naming" is considered a bad programming practice as much as "over factoring" 18:21:07 yeah 18:21:13 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-149.vienna.va.fcc.net) joined #forth 18:21:18 hiya all 18:21:18 : WASHERMACHINE FILL SPIN EMPTY SPIN ; 18:21:20 hi TBW 18:21:21 or whatever 18:21:25 no I440r in sight.... 18:21:33 hiya CrowKiller 18:21:42 crowkiller: over factoring? wtf? 18:21:54 defining too much words 18:22:03 futhin: why the second SPIN in the definition? 18:22:09 i kinda like how C string operations, for example, are done with a few pointer operations, not a bunch of factored out words.. 18:22:18 thebluewizard: to dry it.. 18:22:33 ie, c = *p++; 18:22:35 thebluewizard: it spins a bit while hte water drains out 18:22:55 crowkiller: most forth coders under factor in the first place, over factoring is not a concern 18:23:06 crowkiller: i highly doubt theres any such thing as over factoring 18:23:15 factoring a lot is good programming 18:23:35 tom: do you know about the "A register"? 18:23:35 i know you hate C with a passion :) 18:23:45 yes CK 18:23:49 tom: me? :) 18:24:16 * tom nods 18:24:46 futhin: I see re: needing to spin a bit 18:25:29 --- join: skylan (sjh@Riverview35.tbaytel.net) joined #forth 18:25:36 I haven't "proven" it yet, but I have a hunch that Forth will lose because of DUP, SWAP, ROT, etc. 18:25:38 +! is the same thing as c = *p++ 18:25:55 tom: i haven't coded enough forth to determine how easy it is to get past the rought spots of forth.. 18:25:55 rot isnt needed 18:26:00 swap sometimes 18:26:07 put * and ++ can work on any variable not just the A register 18:26:15 s/put/but 18:26:15 tom: if everyone codes like chuck moore, is there any problem? 18:26:39 tom: its an abstraction 18:27:49 it makes it easier to read.. it's consistent 18:28:37 forthers should be pretending the stack doesn't exist 18:28:55 all begining forthers seem to try to treat it like an array or just put wayyy too many items on the stack 18:29:08 right 18:29:16 they should be using more variables 18:29:20 no! 18:29:21 eww 18:29:31 heh 18:29:42 no, they should be coding like chuck moore ;P 18:29:48 chuck moore sez: 18:29:48 "young" forthers need a lot of GOOD examples, and there's isnt any around usable enough 18:29:57 what are you gonna say, they should take shortcuts? 18:30:16 a) a word should be 2 lines of code or less 18:30:26 b) don't pass more than 2 parameters by stack 18:30:33 c) don't mess with more than 3 stack items at a time 18:31:04 i think forth had it's place, in machines with small RAM that had to be interactive 18:31:04 d) stack depth of 6 (or was it 8? or 16?) is effectively infinite 18:31:08 tom: I wrote a C18 virtual machine compiler for x86 with a footprint of 400 bytes, and it should be quite speedy 18:31:26 what's C18? 18:31:39 there are 25 C18 cores in a 25X forthchip 18:31:50 this is about 32 instructions 18:31:56 oh that :) 18:32:48 i'm thinking a single 100mhz CPU ought to be enough for anything if the software isn't bloated 18:32:58 i agree absolutely 18:33:04 my computer is a p133 mhz with 32 megs of ram 18:33:13 its intended to work in a "living" system, ex: compiling an interupt routine table each time its needed on the fly 18:33:24 and i think it's ridiculous when windows and i.e runs a little slowly slowly on it 18:33:34 my previous computer was a p75mhz with 16 megs of ram too 18:33:38 i don't see much reason for parallel processing.. i'm sure there are applications for it but there's not enough of a market for me to rack my brains messing with it :) 18:33:52 i have no passion for it :) 18:35:32 tom: for parallel stuff? well who really cares, the 25X chip is mostly in the "interesting" realm of things.. but it's got about 2500 mips available to it, so it might be useful somehow.. and a good performance for the price 18:35:41 heh.. i'd like to build a homebrew machine sometime, without surface-mount components.. that means, 16-bit.. 18:36:07 tom: yeah i've been talking with kc5tja about building a forthchip desktop computer 18:36:43 patriot science sells shboom chips (350 mips) for 15 bucks, so i was thinking it would be interesting to build a forthchip desktop computer using shboom chips.. 18:37:04 oh, the price has come down 18:37:21 can you get small lots for that price? 18:37:23 F21 chips are more expensive (100 bucks maybe) but they would be good for the video card :) 18:37:31 tom: small lots ? 18:37:52 less than say $100 worth of shbooms? 18:38:12 tom: yeah, they sell them individually, i emailed them asking about that 18:38:20 it's 15 bucks plus shipping and handling 18:38:24 sometimes prices are $5 ea for 1000, $500 ea for 1 18:38:37 naw, it's 15 bucks for 1 :) 18:38:42 direct or from a distributor? 18:38:45 direct 18:38:56 do they ship in canada? ;pp 18:39:01 --- quit: skylan (Connection reset by peer) 18:39:02 --- join: skylan (sjh@Rockcliffe83.tbaytel.net) joined #forth 18:39:08 crowkiller: they'll ship to canada, sure 18:39:13 15 bucks + shipping and handling costs 18:39:30 you send them your credit card number 18:39:40 thru fone or email 18:40:03 their web site sucks 18:40:10 yup :) 18:40:32 i wonder if there's a 16-bit 6502 descendant 18:41:05 there's also a 6816 which would be a good candidate.. 18:41:25 ? 18:41:35 for homebrew.. 18:41:43 tom: there is a 65816...a 16-bit chip 18:41:45 tom: so you built a 2 stack machine with 20 ttl parts ? 18:42:11 it is currently being made by Western Digital 18:42:39 i designed it 18:42:51 thanks tbw 18:43:16 np :) 18:43:49 but I am not exactly thrilled with 65816 architecture...well, google it and you can judge that for yourself :) 18:44:00 tom: is the design posted somewhere? 18:44:07 heh.. so that's what the IIgs and the SNES used 18:44:29 CK: nope.. but Brad Rodriguez posted a similar design, which he actually built :) 18:44:42 thanks 18:45:10 i think mine was a little simpler.. but would it work? ;) 18:46:26 heh.. that 65816 sounds like what the 386 is to the 8086 18:47:23 in some ways, yeah...though minus the protection stuff, of course 18:48:08 hmm.. 24 address lines.. that's enough 18:48:51 24 bits --> 16 meg 18:50:54 but w/ the 6502 you could use a little glue logic to do bank switching.. 18:52:46 yeah...kinda hackish...and is obviously design specific 19:02:58 heh.. i guess Small C looks more appealing after learning Forth 19:03:23 everything is an 'int' pretty much.. it doesn't check types 19:05:35 hehe...actually it supports two types: int and char (in one implementation [x86 I think] it has to distinguish between function and data pointers) 19:08:29 tom: how much coding have you done in forth? how big is retro and was it coded in forth? 19:09:34 i forget.. it was pretty small 19:09:47 gotta go...bye all 19:09:50 maybe a 20k kernel 19:09:51 see ya 19:09:54 tom: coded in forth or asm? 19:09:55 bye 19:10:00 bye tom 19:10:03 bye CrowKiller 19:10:04 bye tbw 19:10:12 bye futhin 19:10:26 --- part: TheBlueWizard left #forth 19:10:56 bah. there's an x86 Small C on sourceforge, with nothing released in over a year of existence 19:11:04 tom: coded in forth or asm? 19:11:13 i'm not trying to attack you here or anything 19:11:49 about half and half 19:11:56 what do you perceive as the problems with forth besides RPN? 19:12:44 the explicit stack is the main problem 19:13:17 it's only explicit if you think of the stack 19:13:24 i dunno 19:13:36 i think it's a matter of perspective :P 19:13:51 i mean, it works great for little things.. you get into modest sized programs and it's tough to manage 19:13:52 i try to avoid thinking about the stack, and just pretend implicit data passing is the main feature 19:14:05 but that's what factoring is for 19:14:15 what have YOU written in forth? 19:14:31 small crappy stuff hehe 19:14:46 my biggest project was in postscript 19:15:25 never actually finished it, but i was struggling with coming up with the simplest solution and factoring out all the words properly 19:15:35 it was quite hard to make small words 19:15:38 and factor everything out 19:15:48 i haven't mastered that yet 19:15:54 so i see :) 19:16:20 you should really try C again 19:17:08 or learn lisp :P 19:17:24 futhin: or write you own forth 19:17:41 and then code in it the way you like 19:17:52 yes 19:17:53 that too 19:18:04 i don't think i'm going to make much progress with forth until i code my own forth 19:20:22 start now ;p 19:20:27 well, it would teach you something about compilers without really dealing with parsing 19:20:50 maybe i should learn TCL too :P 19:21:15 tom: yeah, there's no parsing in forth.. i have no idea how to parse strings in forth.. 19:21:19 heh 19:21:21 if i hadn't written forth compilers i would never have thought about writing an incremental C compiler 19:21:29 suppose i have a string 19:21:37 how do i check that the first character of the string is a < 19:21:50 cmp ;p 19:21:56 and that there is an enclosing > somewhere down the string? 19:22:00 over c@ '< = if ... then 19:22:19 HTML parser? :) 19:22:24 nope 19:22:25 irc 19:23:52 what do you have OVER for heh 19:24:08 you are pedicting something about the items on the stack already? :P 19:24:18 you said there's a string.. 19:24:27 yeah ok 19:25:00 over c@ < = if "> then .. 19:25:01 hrm 19:25:03 what a pain 19:25:31 welcome to parsing 19:25:33 is there any forth libraries/code that provide enhanced parsing stuff :P 19:25:47 you might search for FTRAN 19:25:50 dont need to 19:26:21 crowkiller: ? 19:26:34 why would you need strings, even if you deal with the "outside world"? dont like strings, think of something better for YOUR application 19:27:11 crowkiller: lots of useful applications need to parse strings.. i need to parse strings for many reasons 19:27:31 they aren't avoidable unless perhaps EVERYTHING in the computer world was forth 19:27:39 from the irc servers to the os.. 19:27:42 perhaps 19:28:28 i need to parsing for an irc client, for a web browser, for other stuff.. 19:28:32 or if you do like Chuck, and deal with nothing but graphics 19:29:01 he didnt wanted to deal with ascii strings because he saw no sue for them 19:29:35 in HIS application, he didnt need them 19:29:45 my compielr dont do parsing 19:30:25 it process bytewide huffman encoded packets, or "tokens" 19:30:30 well.. for most real world tasks you need to deal with text 19:30:41 like what we're doing now, IRC 19:30:47 yes 19:31:06 it's one of forth's weak point 19:31:07 unless the protocol was radically different and supported forth ;) 19:31:27 tom: yeah, forth should come with parsing tools.. 19:31:35 you know, a lot of things are easier with 0-terminated strings 19:31:39 words that make parsing simple.. 19:31:51 what's wrong with strings & string lengths ? 19:32:05 in C you're only dealing with an address, not a count 19:32:07 not all strings are terminated with some character 19:32:30 pack the strings, count them, and you'll get something better; eliminate them you'll be in heaven ;p 19:32:34 in C all strings are 0-terminated ? 19:32:35 if it's < do this, " do that, 0 quit, anything else, print it.. 19:32:49 futhin: yes 19:33:01 they don't have to be but it's a convention 19:33:50 there's one thing where it's a drawback.. counting the string length 19:34:39 for most things, it's one less register you have to use in an inner loop 19:34:47 dont terminate it by zero, count it at the very begining instead 19:34:51 in ASM do you do 0-terminated strings? or is it easier to count string length? 19:35:13 i dunno.. people do both sometimes 19:35:21 i think i recall it's easier to count string length in asm 19:35:27 than to cmp all the time 19:35:37 you don't cmp.. 19:35:48 like for printing out the string, it's realy easy to just print out as many chars as the count is 19:35:49 the BIOS utilize 0 termianted strings in its display routines 19:36:02 futhin: LEARN ASM NOW ;p 19:36:03 tom: you have to cmp to find the end of the string.. 19:36:10 nope 19:36:11 crowkiller: i know some asm 19:36:18 just check the zero flag 19:36:19 it's a little rusty that's all 19:36:37 futhin: know it all, code your compiler, exercuise yourself, sharpen your brain 19:37:03 tom: you have to check the flag tho? 19:37:04 yeah, write a little forth compiler, even if C is better 19:37:38 in asm its much more common to have the string length, it makes it easier to display a string iirc 19:37:40 LODSB; OR AL,AL; JZ END 19:38:07 hmm 19:38:28 you'd put the string pointer in ESI, location on the screen in EDI.. 19:38:47 and color in AH.. then, 19:39:12 .1: LODSB; OR AL,AL; JZ END; STOSW; JMP .1 19:39:55 with counted strings you put the count in ECX and LOOP instead of JMP 19:39:57 on the pentium, test AL, AL gives a better pairing (faster) 19:40:07 oh 19:40:16 little parenthesis ;o) 19:40:21 thanks 19:41:35 I coded printf() in asm.. that was pretty fun 19:42:32 except i bet you'd get the same code writing it with a switch() in C 19:42:36 .1: movsb stosb loop .1 ?? 19:42:52 movsb = lodsb stosb 19:43:02 mov cx, stringlength 19:43:11 when I code in asm I almost always llok at this page and the overall site: http://www.quantasm.com/optxref.html 19:43:22 asm for x86, that is. 19:43:32 you use lodsb/stosb if you have to do something in between.. REP MOVSB to move a big chunk.. 19:43:39 jnz .1 19:44:15 mov cx, stringlength .1: lodsb stosb jz .1 19:44:25 is that analogous? 19:44:38 is that comparable to your 0-terminated code? 19:45:42 mov cx, stringlength rep movsb 19:46:18 (counted string) 19:46:44 how many lines of code do you think a quicksort in asm would be? 19:46:54 .1: lodsb test al,al jz .done stosb jmp .1 19:47:03 (0-terminated string) 19:47:25 looks like the counted string one is a little shorter :P 19:47:35 for the simplest case, yeah 19:47:40 counted strings rulez ;p 19:47:46 try parsing with them 19:47:52 packed+counted rulez even better 19:47:56 the count could be abstracted out in forth 19:48:13 you could have words dealing with the strings & count and you don't have to know about the count 19:48:21 you could abstract it out in parsing words 19:48:30 and the parsing stuff could be included with forth 19:48:37 and newbies could come along and see that parsing is easy 19:48:46 and the newbies take over the world! 19:49:26 parsing is dead easy already 19:49:39 depends on how much you want to hurt yourslef as a programmer ;p 19:50:55 heh.. just as I suspected.. LODSB etc is slower on the 486 & up.. these chips are becoming more RISC-like 19:51:10 slower but faster 19:51:26 doh 19:51:27 lol 19:51:29 if lodsb is slower, what instruction is used now ? 19:51:36 futhin 19:51:50 heh.. look at that web pages 19:52:01 the previous one I gave on the chan 19:52:03 http://www.quantasm.com/optxref.html 19:52:05 its all there 19:52:26 its one byte so its much better, you get 4-5x object code compression 19:53:51 personally, i never bother with pentium optimizations.. don't need the extra speed. 19:54:27 --- join: proteus (~irc@24-197-147-197.charterga.net) joined #forth 19:54:41 but I might make a compiler do some optimizations 19:56:57 oh well.. time for me to call it a night 19:57:20 tom: wait 19:57:36 tom: tell me what you think it would take for forth to make you happy? parsing? anything else? 19:57:45 do you really hate RPN and the stack that much? :P 19:59:00 yeah, it's a waste of time for "substantial sized" programs 19:59:17 makes a good programmable calculator though 20:00:00 :( 20:00:15 it encourages you to make small programs in fact, the stack is the ultimate multibitwide I/O component, but its small 20:00:39 tom: a CAD program has been coded in forth.. www.forthcad.com 20:01:05 crowkiller: yeah, substantial sized programs aren't supposed to exist in forth :P 20:01:22 crowkiller: i think you comment about "over factoring" is TOTAL PURE BULLSHIT :P 20:01:51 think of a system where the call/ret overhead slow down the program 20:02:04 that what I was refering to 20:02:12 bah, only losers use x86 20:02:16 real men use forthchips :P 20:02:32 the over head is less in forth anyways 20:02:36 forth has the return stack 20:02:42 that's how it tracks "calls" 20:02:43 i knwo all that, thanks ;p 20:02:47 it doesn't have to have call 20:02:49 it can use jmps 20:03:17 ? 20:03:50 call exist but take one "cycle" 20:04:07 indirect threading, direct threading, subroutine.. 20:04:27 some forths don't make "CALL" instructions at all.. 20:04:34 or rarely.. 20:04:42 they do calls 20:04:49 no, some do JMPs 20:05:08 they do pushRetStack Jumpafterwards 20:05:08 ITC does jumps i think.. 20:05:34 yeah, they aren't making x86 asm CALL 20:05:41 its the same as doing all the instruction of lodsb instead of using lodsb 20:06:06 the behavior is the same 20:07:01 CALL is more resource intensive than just JMPing i think 20:07:28 subroutine forth uses CALLs 20:07:38 : test dup blah ; 20:07:52 compile into test: CALL dup CALL blah 20:08:05 but ITC does JMP dup JMP blah or whatever 20:08:28 people should code editors in asm! 20:08:35 for fun 20:13:19 im coding an editor 20:13:22 in asm 20:13:28 its the second part of my system 20:13:33 code one for me 20:13:44 i have no idea how a good editor must be made lol 20:14:20 kc5tja's scene renderer could be the way to go 20:15:07 scene graph renderer 20:18:17 chuck didnt liekd the video hardware for text rendering so he wrote his own "virtual card" as a second task in his colorforth 20:18:39 --- quit: tom (Read error: 110 (Connection timed out)) 20:18:49 an editor that could use the textmode legacy device present in every pc would not be portable but would be very small 20:21:09 you know, i'm gonna learn lisp 20:21:22 i want to see what the hell lisp macros are all about 20:21:33 i suspect forth can do lisp macros 20:21:40 but i should learn lisp 20:29:02 A killer editor is what's needed to make my x86 forth popular 20:29:22 I think i'll write it in javascript or something trabslations will follow if tehre's enough interest 20:32:37 ?? 20:33:04 an editor in javascript? 20:33:14 running on top of your 400 byte forth compiler? 20:33:34 no the editor runs online 20:33:40 its completely parametrizable 20:33:45 usable from almost everywhere 20:33:52 even from a windows box 20:34:08 it outputs let say base64 chars 20:34:35 cut and paste into an hex editor and voila 20:34:47 i skipped a step here 20:34:59 anyway you get the point ;p 20:35:21 you can print your program for future use or anything i dont know 20:35:52 maybe a windows hack would be better 20:36:13 resizing an Edit box to accept "length of editor" bytes 20:36:24 paste it in there 20:36:40 send a timer message 20:36:48 that does calback and voila 20:37:18 i saw a paper on exploiting windows messages for privilege escalation on cracked systems or local systems 20:37:47 the guy used 4 or 5 widnwos message to implement the code 20:37:49 very small 20:42:20 I dont want to code the editor in asm, I'll try to come up with something 20:42:50 I dotn have any editor, so maybe i,ll consider writing the byte stream for the compielr myself ;p 20:43:23 keybaord handling is still a problem, i'll try to experiment with those 20:43:43 like a less than 1$ parallel port keyboard, if you already have the connector 20:45:17 made of a single pcb or maybe small diameter copper wires with a plate at the end, acting as a key, anyway i'm out to sleep 20:45:20 see ya everyone 20:45:43 --- quit: CrowKiller ("Bom bom gigolo") 21:11:30 --- quit: proteus (Connection timed out) 21:34:16 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 21:46:08 hello kc5tja :) 21:46:22 Hello 21:49:27 tcn doesn't like forth anymore.. because of RPN and lack of parsing it seems :( 21:50:04 Those are the very reasons to like it though. 21:51:16 really? 21:51:40 i was thinking that forth should have some parsing words to make it easier for people to parse strings.. 21:52:00 I like Forth because it is brutally simple. 21:52:04 like if a person wants to make a "useful" application, like an irc client or whatever.. chances are he's gonna need parsing 21:52:26 Well, C doesn't have any parsing facilities of its own either. 21:52:43 I'm not entirely too sure what is meant, in this context, by parsing. 21:54:41 he mentioned "c = *p++;" 21:54:45 me 21:54:51 OK. 21:54:56 I hardly consider that parsing though. 21:55:00 i'm just thinking of parsing a string and finding the first < and the enclosing > and the stuff in between 21:55:10 That's just iterating the characters of a string, which Forth can do just fine. 21:55:25 i'm not really sure of how to parse strings in forth.. 21:55:46 like finding the first "<" and the enclosing ">" and extracting the stuff in between 21:56:15 You'd have to do it in Forth the exact same way you would do it in C -- roll your own. 21:56:52 over c@ < = if begin over i + c@ > = if ..... then ..... then 21:56:54 ? 21:57:09 If you write code like that, you wil quickly get mired down. 21:57:36 DUP C@ '< = IF Found'<' ELSE ... THEN 21:57:49 s/DUP/OVER/ (sorry) 21:58:13 : Found'<' 2DUP '> PARSE HandleXMLTag ; 21:58:43 This is just one of a whole myriad of ways you can do this sort of thing in Forth. 22:01:13 forth could come with some parsing vocabulary to make things easier for us :P 22:01:36 But, what is parsing?? 22:01:46 Parsing is different depending on what you're trying to do. 22:01:46 well i mean, string handling 22:01:51 XML parsing is nothing like parsing a C program. 22:01:57 * kc5tja shrugs 22:02:02 I like it just the way it is. 22:02:14 At the most primitive level, it's not really any different from C. 22:02:28 If you want, you can make implementations of C's string handling functions for Forth. 22:03:03 what C string handling functions are you thinking of? 22:03:18 strtok() and stptok() 22:03:28 heh, i don't even know those 22:03:34 But even then, *none* of C's functions support "nesting" of things at all. 22:03:47 nesting is forth's advantage? 22:03:48 You need an abstract grammer of some kind, along with a tool like Bison or Flex. 22:03:54 Forth already has GREY. 22:04:09 No, Forth's primitives don't support nesting either. 22:04:11 GREY? hmm time for me to google for that 22:04:32 GREY is a parser generator along the same lines as Flex/Bison. 22:09:55 what do you mean about nesting? 22:10:33 btw, how do you recommend i handle a string where i want to find "<" and the next ">" and extract the stuff in between? 22:11:16 ( this is a ( valid comment ) BUT THIS ISN'T ) 22:11:27 ah 22:11:41 PARSE does that for you. 22:11:48 yeah 22:11:53 Given the start of a string, and a character to look for, it'll returning the containing string. 22:12:03 hrm? 22:12:24 Look up the ANSI Forth definition of PARSE. I can't explain it any more succinctly than I just have. 22:13:27 heh 22:14:03 okay.. so: over c@ < = if parse > then 22:14:07 something like that 22:14:22 OVER C@ '< = IF 2DUP '> PARSE ..etc.. THEN 22:14:33 PARSE is like WORD 22:14:46 Except it returns a real string, and doesn't modify the source string at all. 22:16:49 what's with the ' before the character ? 22:17:15 That's just my shorthand for [CHAR]. So if you have '> it's the same as [CHAR] > 22:17:22 Pygmy supports this style natively. 22:17:29 (Pygmy doesn't have PARSE, however) 22:18:15 so none of the forths support '> ? i have to type [char] > ? 22:18:38 I can't answer that; that's a Forth-specific issue. 22:18:55 All I know is that pygmy supports it; I have no idea if any other one does. 22:18:59 If you want, you can do this: 22:19:14 [CHAR] < CONSTANT '< 22:19:19 [CHAR] > CONSTANT '> 22:22:51 so pygmy defined a whole bunch of words '> 'a 'b 'c etc? 22:23:02 No. 22:23:22 I said Pygmy supported the 'A syntax natively. 22:23:33 I do not know if other Forths do or do not. 22:23:38 yeah 22:23:50 pygmy's parser supports that.. k 22:25:07 It's understood to be a special variant of a number. 22:28:18 Well, I think I'm going to hang with my roomie and watch a movie. 22:29:06 ok, ttyl 22:50:41 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 22:51:03 --- quit: skylan ("Reconnecting") 22:51:07 --- join: skylan (sjh@Riverview18.tbaytel.net) joined #forth 22:52:58 --- quit: kc5tja ("BitchX: TASTES GREAT! LESS FILLING! TASTES GREAT! LESS FILLING!") 23:14:46 anybody alive?! 23:59:59 --- log: ended forth/02.08.16