00:00:00 --- log: started forth/04.06.08 00:18:03 --- quit: Herkamire ("reconfiguring router") 00:19:26 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 00:59:01 --- quit: SDO (Ping timeout: 14400 seconds) 01:04:50 --- join: teehee (~arke@melrose-251-251.flexabit.net) joined #forth 01:22:19 --- quit: Herkamire ("off with her head!") 01:25:56 --- quit: teehee ("Lost terminal") 01:27:30 --- join: teehee (~arke@melrose-251-251.flexabit.net) joined #forth 01:27:58 --- join: Topaz (~top@exten-halls-131.soton.ac.uk) joined #forth 01:28:06 hello Topaz 01:28:10 hi 01:28:28 you a forther? :) 01:28:37 well, i like to think so ;) 01:28:40 ./dldd 01:28:42 though i'm still a total newbie 01:29:03 , 01:29:10 hmm, this 16-bit FORTH on an 8-bit proc isn't exactly efficient 01:29:29 i'm wondering whether i can achieve any optimisation by keeping some of the TOS in registers 01:29:44 (since this 8-bit proc is graced with 32 of the things ;) 01:34:39 you probably want to keep only one TOS in register 01:38:01 i just entertained the thought of my STC compiling routine using a number of registers as TOS, and keeping track of which register is actually TOS when it compiles things in 01:38:13 so that simple words could be inlined accordingly 01:38:25 (though it'd need to be restored to some sane state before invoking any other words) 01:52:29 --- join: Serg (~z@212.34.52.140) joined #forth 01:54:29 i wonder if it'd be possible to make most words only push/pop 8-bit things onto the stack 01:55:12 reserving 16-bit accesses for stuff which needs them (memory addresses) 01:56:06 make another stack for bytes ;)) 01:56:22 hmm 01:56:32 i had a wordset to do so: define custom stacks 02:04:50 it stored object size, so you can have stacks of XY pairs or even of matrices, and do operations on them 02:17:42 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 02:17:46 --- quit: arke (Read error: 104 (Connection reset by peer)) 02:19:55 so SLANTMAT MATX PUSH was pushing matrix SLANTMAT into stack MATX 02:20:14 taking number of bytes to push from MATX header 02:20:57 MMUL could multiply 2 matrices on top of MATX, leaving main stack clear 02:21:38 actually, it was written for coordinates only ;)) 02:21:42 XY 02:22:29 well, issue with this is code size and speed, really 02:22:42 just 16-bit operations with an 8-bit proc are very inefficient 02:23:07 size and speed -> ASM 02:24:38 well, i usually do code in ASM 02:24:46 just FORTH seems so much more exciting ;) 02:24:59 i think i'll just make my colon compiler perform lots of random optimisation 02:25:45 : C-> ( c stack ) swap over @ c! 1+! ; 02:25:58 variable CSTACK 02:26:05 32 ALLOT 02:26:18 10 CSTACK C-> 02:26:48 my FORTH currently contains a built-in assembler, heh 02:26:50 tis a bit weird 02:27:29 so code your inner loop in asm 02:29:02 i'll relegate performance a minute... how does 'IF/THEN' work? heh 02:30:51 does it push the current address onto the stack or something, such that THEN knows where to go back to and alter the branch? 02:31:43 wait' i;ll see DECOMP 02:32:31 'see' in gforth produces some typically concise yet meaningless FORTH ;) 02:33:44 Addr Call Word Operands . . . 02:33:44 --------------------------------------- 02:33:44 $496C: 0B71 ?BRANCH $497A 02:33:44 $4970: 0DDA LIT 1 (1) 02:33:44 $4974: 3FB7 . 02:33:44 $4976: 0B5F BRANCH $4980 02:33:46 $497A: 0DDA LIT 2 (2) 02:33:48 $497E: 3FB7 . 02:33:50 $4980: 0B4C EXIT 02:33:52 - Ok 02:34:50 hmm 02:35:06 --- quit: Klaw (calvino.freenode.net irc.freenode.net) 02:35:06 --- quit: lalalim_ (calvino.freenode.net irc.freenode.net) 02:35:06 --- quit: Fractal (calvino.freenode.net irc.freenode.net) 02:35:06 --- quit: mur (calvino.freenode.net irc.freenode.net) 02:35:06 --- quit: futhin (calvino.freenode.net irc.freenode.net) 02:36:06 u see, no stack use 02:36:17 ?BRANCH turned up in UNTIL too, but i wrote UNTIL in python instead of FORTH ;) 02:36:35 (what does ?BRANCH do?) 02:36:44 in GP-FORTH ;)) 02:37:58 --- quit: ChanServ (calvino.freenode.net irc.freenode.net) 02:37:58 --- quit: teehee (calvino.freenode.net irc.freenode.net) 02:38:01 --- quit: slava (calvino.freenode.net irc.freenode.net) 02:38:01 --- quit: Robert (calvino.freenode.net irc.freenode.net) 02:38:01 --- quit: Serg (calvino.freenode.net irc.freenode.net) 02:38:01 --- quit: kuvos (calvino.freenode.net irc.freenode.net) 02:38:03 --- quit: Topaz (calvino.freenode.net irc.freenode.net) 02:38:04 --- quit: cmeme (calvino.freenode.net irc.freenode.net) 02:38:06 --- quit: onetom (calvino.freenode.net irc.freenode.net) 02:38:06 --- quit: fridge (calvino.freenode.net irc.freenode.net) 02:38:06 --- quit: htp123 (calvino.freenode.net irc.freenode.net) 02:38:06 --- quit: arke_ (calvino.freenode.net irc.freenode.net) 02:38:07 --- quit: skylan (calvino.freenode.net irc.freenode.net) 02:38:38 --- join: futhin (thin@bespin.org) joined #forth 02:38:38 --- join: Klaw (chuck@ip68-225-243-23.oc.oc.cox.net) joined #forth 02:38:38 --- join: lalalim_ (~lalalim@p508AA79D.dip.t-dialin.net) joined #forth 02:38:38 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 02:38:38 --- join: mur (~mur@smtp.uiah.fi) joined #forth 02:38:38 --- mode: irc.freenode.net set +o futhin 02:43:17 --- join: ChanServ (ChanServ@services.) joined #forth 02:43:17 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 02:43:17 --- join: htp123 (~tehsux@S010600055d233ab7.gv.shawcable.net) joined #forth 02:43:17 --- join: fridge (~fridge@dsl-203-113-231-53.NSW.netspace.net.au) joined #forth 02:43:17 --- join: skylan (~sjh@vickesh01-4482.tbaytel.net) joined #forth 02:43:17 --- mode: irc.freenode.net set +o ChanServ 02:47:11 --- join: Serg (~z@212.34.52.140) joined #forth 02:47:11 --- join: Topaz (~top@exten-halls-131.soton.ac.uk) joined #forth 02:47:11 --- join: teehee (~arke@melrose-251-251.flexabit.net) joined #forth 02:47:11 --- join: kuvos (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 02:47:11 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 02:47:11 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 02:47:11 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 02:47:11 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 02:48:14 --- quit: slava (calvino.freenode.net irc.freenode.net) 02:48:14 --- quit: teehee (calvino.freenode.net irc.freenode.net) 02:48:14 --- quit: Robert (calvino.freenode.net irc.freenode.net) 02:48:15 --- quit: Serg (calvino.freenode.net irc.freenode.net) 02:48:15 --- quit: kuvos (calvino.freenode.net irc.freenode.net) 02:48:15 --- quit: Topaz (calvino.freenode.net irc.freenode.net) 02:48:17 --- quit: cmeme (calvino.freenode.net irc.freenode.net) 02:48:17 --- quit: onetom (calvino.freenode.net irc.freenode.net) 02:50:01 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 02:50:02 --- join: Serg (~z@212.34.52.140) joined #forth 02:50:02 --- join: kuvos (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 02:50:19 --- join: teehee (~arke@melrose-251-251.flexabit.net) joined #forth 02:50:19 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 02:50:19 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 02:51:15 --- join: Topaz (~top@exten-halls-131.soton.ac.uk) joined #forth 02:51:15 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 02:54:59 how can i hide joining/leaving messages in Mirc 02:55:26 split fllod is really annoying 02:55:27 irssi can usually bundle them nicely 03:20:59 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 03:23:23 --- join: aum (~hash@port-204-54-210.fastadsl.net.nz) joined #forth 04:08:14 --- join: crc (crc@0-1pool88-63.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 06:08:19 --- quit: crc (Read error: 104 (Connection reset by peer)) 06:41:46 --- quit: Serg () 07:16:41 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 07:23:01 I440r: needs more isforth 07:23:57 yes 07:23:58 i do 07:24:05 someone write some :) 07:32:59 you write some 07:33:03 threadsafe kernel plz 07:33:09 async i/o plz 07:35:17 how come i440r is writing everything and everyone else is just a greedy bastard? 07:35:34 whats with this stupid "write your own forth" culture? 07:35:37 fuck it! 07:35:38 :P 07:36:04 HUH 07:36:15 i don't have time to write my own forth 07:36:19 Its a test of manhood 07:36:31 hoho 07:36:43 i am too busy writing my own not forth 07:37:02 all those who have written their own forth please join #forth_elitists 07:39:32 plus 07:39:39 i doubt i could do much better than isforth 07:42:29 futhin lol 07:42:43 erm /me ponders joining #forth_elitists 07:43:02 Heh 07:43:14 hey I440r can i port it to ppc 07:43:19 Who in here has NOT written their own Forth (except futhin) ? 07:43:26 me 07:43:31 Oh. 07:43:49 im writing a language that is somewhat different 07:43:58 Just call it Forth. 07:44:42 it looks like lisp and forth kindof 07:44:44 warpzero, i dont know.... CAN you ? 07:44:49 but it doesn't really behave like either 07:44:55 I440r: probably yeah if i took the time 07:45:40 warp - go for it 07:45:55 i dont have time 07:46:14 :( 07:46:19 What's keeping you busy? 07:46:24 my language 07:48:55 school 07:48:58 webdesgin 07:49:00 etc. 07:49:19 Hehe 07:49:41 my language is pretty cool though 07:49:58 I got rid of the webdesign issue, all is explained in a rant that can be found on my site. 07:50:02 Nice. :) 07:50:27 well i do for other people mainly 07:50:53 Ah, need the cash? 07:51:24 yeah but i don't get paid :( 07:51:29 Heh 07:51:38 Why do you do it then? 07:51:41 shit i am going to be late 07:51:47 Well, see you later then 07:53:34 i have to sync my 'top 08:51:10 sounds painfull 08:51:47 --- quit: onetom (Read error: 104 (Connection reset by peer)) 08:53:15 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 09:23:40 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 10:36:32 --- join: Sonarman (~matt@adsl-64-160-164-105.dsl.snfc21.pacbell.net) joined #forth 10:39:03 webdesign can be fun 10:39:15 you get to be overly pretentious, and play with css ;) 10:39:22 If you're really bored... 10:39:40 I prefer to actually make some contents, but I'm usually too lazy for that, too. 10:40:53 http://www.soton.ac.uk/~jb1403/ was my last random concoction, although it's fairly content-free 10:41:24 doesn't look right on anything with greater than 1024x768 res, but that's another matter ;) 10:43:20 Cute. 10:44:20 heh i seem to have fucked up win32forth 10:44:31 code lit 0x0 --> unbug<- interpret error! 10:44:31 f<- interpret error! 10:44:31 f<- interpret error! 10:44:31 f<- interpret error! 10:44:31 for<- interpret error! 10:45:48 but i seem to have succesfully made a draw.text word for that bmp code 10:46:14 kinda primitive (drawing the letters "by hand"), but it works 10:58:18 "confusing people since 1985" :) heh 10:59:51 qFox: what do you mean by hand? 11:00:06 : draw.l.u ( x y -- width ) 11:00:06 2dup 1 4 1 8 +draw.line 11:00:06 2dup 2 3 3 3 +draw.line 11:00:06 2dup 5 3 5 8 +draw.line 11:00:06 4 4 +draw.pix 11:00:08 5 11:00:10 ; 11:00:19 by hand 11:00:27 making each letter out of lines? 11:00:29 Herkamire: apparently i use the word 'random' too often ;) 11:00:41 Herkamire> well, where applicable 11:01:15 Topaz: it is the header... 11:02:38 its also a lot of work to code, very boring. only have lowercase right now :p 11:03:48 qFox: it's probably easier to copy a bitmap font. 11:04:02 i've not come this far to throw it all away now :p 11:04:19 10 50 s" guesswhaticando" draw.text 11:05:28 * Herkamire misses his anaglyph glasses 11:05:34 your what? 11:05:49 red/blue 3D glasses 11:05:53 ah those 11:06:18 the line-drawing stuff I did in forth was for anaglyphs 11:06:32 line drawing is easy :) 11:06:49 i shud do a text based 3d engine and port my wmdots to isforth lol 11:06:55 easy and fun! you too can become a line drawer in 6 easy steps! 11:07:00 well i finally got it working properly (independent of the order of coordinates) 11:07:01 :) 11:07:34 its probably coded bad, but whatever. 11:08:17 qFox: did you use that cool method with ints and no multiplying or dividing? 11:08:27 of course not 11:08:28 :p 11:08:37 bummer 11:08:54 it's very cool, and simple 11:09:00 its uhm... well not pastable here ;) 11:09:29 ahwell, i can (and probably will, or not its not like its speed matters much) always change it 11:12:41 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 11:15:49 --- join: Serg[GPRS] (~z@193.201.231.126) joined #forth 11:18:16 hmm, i'm still not sure how IF/THEN work... does THEN look backwards for the corresponding IF to code the branch into? 11:18:38 no 11:18:41 if is immediate 11:18:47 it compiles a branch to address 0 11:18:51 aha 11:18:57 but pushes the address of the ZERO onto the stack 11:19:16 bingo 11:19:16 THEN just back patches the IF to be a branch to where HERE now points 11:19:16 cheers 11:19:27 :) 11:19:49 actually, i suppose it DOES look backwards at the if :) 11:20:16 thats how do/loop/begin/while/repeat/again etc all work 11:20:18 though via the stack... cool 11:20:27 this is forth :P 11:21:15 if you look at isforth.clss.net the help there might help you somewhat 11:21:27 its not complete tho, its a work in progress 11:21:42 here's my routines: http://herkamire.com/jason/drawlines.fs 11:23:26 that code looks kinda good actually :) 11:23:41 thanks :) 11:23:55 I wrote it a long time ago... 11:24:10 I wasn't sure it would be good. but it still works, and it looks clean so I posted it 11:24:13 i wrote my line drawing routines for forth YEARS ago 11:24:17 and they are in assembler 11:24:49 my vga mode 12 line drawing routines are very nice :) 11:24:57 vga mode 12 is weird :P 11:25:02 whatever font that page is using, is showing a really odd exclamation mark :p 11:25:03 I didn't think I could get fast blits anyway, so I just wrote nice readable code 11:25:49 http://herkamire.com/jason/style.css 11:25:53 change it if you like 11:25:55 at least you didnt use a recursive mid point algorithm :) 11:25:56 helvetica 11:26:11 but... it looks like it still uses the default fixed width font 11:26:31 recursive mid point? 11:26:34 that sounds scary 11:26:56 eye candy suxx, 'Elite' rulez ;) 11:27:23 herk can you guess how it works ??? :) 11:28:47 I440r: oh, god. I can 11:28:52 :) 11:28:55 exactly lol 11:29:16 I440r: calculate the midpoint. draw it, then pass it to two recursions (if there's any space on either side) 11:29:36 lol 11:29:42 yup :) 11:29:55 as far as I can tell, my algorithm is as acturate as possible 11:30:14 (without aa) 11:30:14 breshenhams algorithm is the best i think 11:30:19 is that what I use? 11:30:31 err i didnt study your code enough to see 11:31:26 for a horizontal line: each pixel you add the height to a variable. when that variable exceeds the width of the line, you move a pixel down/up. 11:31:31 http://galileo.phys.virginia.edu/classes/551.jvn.fall01/Midpt.f 11:31:52 that sounds like breshenham 11:31:58 Serg[GPRS]: I don't like using ugly toolkits like tcl/tk -- I'm not sure if that is the same as liking eye candy though 11:32:43 Herkamire: can you boot herkforth directly from OF ? 11:32:52 I think I've asked you before, can't remember the answer 11:33:08 fridge: not yet 11:33:15 well, here's the code i used... http://members.home.nl/qfox/coding/forth/bmp.f 11:34:21 fridge: the OF text input/output sucks. 11:34:31 it's very slow, and the text is tiny 11:35:26 I just recently got some simple example code that can read/write OF text 11:36:03 I'm trying to decide if I should use that, or if I should go graphical first 11:39:08 the console text is rather small 11:41:17 also, I haven't checked to see if it supports color 11:43:56 * Topaz notices that his IF doesn't actually check any conditions, just jumps by default ;) 11:44:41 ? 11:44:49 --- quit: Serg[GPRS] (Read error: 60 (Operation timed out)) 11:45:17 IF should jump only if TOS is zero 11:45:30 yeah 11:45:41 just atm it jumps anyway, because i forgot to add a check ;) 11:45:57 oh :) 11:46:07 I thought you were looking at someone elses forh 11:46:09 forth 12:30:59 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:32:07 --- nick: SDO -> SDO_ 12:34:24 --- nick: SDO_ -> SDO 12:41:58 ping warpzero 12:42:07 warpzero, you said above your language is like forth and lisp. can you elaborate? 12:43:18 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 12:43:26 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 13:05:31 --- quit: tathi ("leaving") 13:06:19 yay, my if/then works 13:19:31 --- join: arke__ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 13:19:34 --- quit: arke_ (Read error: 104 (Connection reset by peer)) 13:20:06 --- join: proteusguy (proteusguy@216-99-240-45-atl-01.cvx.algx.net) joined #forth 13:32:30 --- join: lalalim (~lalalim@pD95EA8D0.dip.t-dialin.net) joined #forth 13:42:12 you mean "if/else/then" yes ? 13:42:21 hi I440r 13:43:13 I440r: I don't use else alot, most of the time I just do if stuff exit then other-stuff 13:43:29 I440r: Which makes me annoyed because the word "exit" is so long ;) 13:43:39 But hi, slava + I440r 13:43:46 * Robert is reading about Forth again. 13:43:48 lol 13:43:51 I don't have else 13:44:02 Oh, and hi Herkamire. :) 13:44:07 i like my ?: word i invented for isforth 13:44:11 hi Robert :) 13:44:16 blah blah ?: true-word false-word blah blah 13:44:18 Was reading a LONG rant by orangetide on his page 13:44:40 I440r: Hey, that makes you look like a C spy. 13:44:54 lol i know 13:44:55 I440r: But I guess that's a good idea :) 13:45:01 Robert: I use ; as exit 13:45:07 * Robert adds it to the to-steal list. 13:45:16 Herkamire: Yes, so do I. That's why I miss it. 13:45:44 ; does more than exit, it switches state too 13:46:03 I make people switch state manually >:) 13:46:11 or how about: : ;then postpone exit postpone then ; 13:46:15 ] : stuff if bleh ; then blah ; [ 13:46:43 erm postpone is a blacklisted word for me 13:46:49 grrr 13:46:50 :) 13:46:51 Yes, I was thinking about something like that... But I haven't bothered to even test the Forth system I wrote for the AVR 13:46:58 I440r: Yes, we know that by now. :D 13:47:09 It's so long, hehe 13:47:12 well, however you write that. I don't have postpone in my fortheither 13:47:37 compile and [compile] do the job right :P 13:47:40 in herkforth it'd be: : ;then ,; ,then ; 13:48:18 Are ,; and ,then defined, or is the comma a magic symbol? 13:48:22 oops. in herkforth it'd be: : ,;then ,; ,then ; 13:48:33 both... 13:49:43 the only thing magic about , is that if you type the word without the , in green (compile mode) it will execute the , version 13:49:59 in practice it looks like an immediate when you don't put the comma on 13:50:41 --- quit: lalalim_ (Read error: 110 (Connection timed out)) 13:50:42 there can also be a word without the comma, that will be used in execute mode 13:51:08 example: : ,dup $95edfffc w, ; 13:52:03 when you enter: : square dup * ; the editor actually inserts this into the source: ] : square [ ,dup ] * [ ,; 13:52:22 So it's basically like immediate words? 13:52:31 the editor does the reverse translation to display the code, so you see: : square dup * ; 13:52:55 for just using them they have the convenience of immediate words. 13:53:17 but for compiling calls to them they are 100x better 13:54:03 you don't need [compile] you just enter a call to the compiler word 13:54:20 as in my example above: : ,;then ,; ,then ; 13:54:22 Yeah. But didn't you say your Forth used colors? 13:54:40 yes, it displays in color 13:54:57 Can't you edit in color? 13:55:00 when I go to true color, I'm going to make the "immediates" show in a slightly different shade of green 13:55:04 yes 13:55:11 it normally displays in color 13:55:35 I just wondered why you didn't just make people change color if they wanted to compile the immediate word. 13:55:39 I'm typing ascii versions of source in here because this is a text chat 13:55:43 --- join: dufus (ed@adsl-64-168-28-146.dsl.snfc21.pacbell.net) joined #forth 13:55:59 Hi dufus 13:56:11 Robert: I did. that's the way my forth was originally. but I found it tiresome to type, and ugly 13:56:13 hi ed - this is mark here :) 13:56:22 Herkamire: OK. :) 13:56:30 A friend of yours? 13:56:44 hi dufus :) 13:56:46 Hi MQRK 13:56:52 HI MARK 13:57:02 he is working on the same project i am working on at work :) 13:57:09 Gues dufus wasn't such a bad name afterall 13:57:10 Robert: another advantage of this is that it makes it easy to do optomizations, like dup above 13:57:22 lol 13:57:33 well if the shoe fits ???? 13:57:34 lol 13:57:35 * I440r ducks 13:57:39 and to make dup available at runtime (at runtime there is no translation, so "dup" would be a word-not-found error unless you actually define dup) 13:57:48 just do: : dup dup ; 13:57:54 colorforth does this btw 13:58:06 Hm, neat. 13:58:24 * Robert adds a few more things to the to-steal list. 13:58:28 the compiler actually sees: : dup [ ,dup ,; 13:58:35 hehe :) :) 13:58:40 i would do ' dup alias dup first 13:58:49 the alias takes up no space other than header 13:59:03 I440r: what would that do? 13:59:15 it would cretae a new header for dup 13:59:26 what for? 13:59:31 you dont usually have an alias of the same name but there are places where i do that 13:59:41 : dup dup ; <-- this takes up code space 13:59:44 I have two different words: ,dup and dup 14:00:01 ' dup alias dup <-- this only takes up head space 14:00:03 it must take up code space 14:00:04 oh 14:00:17 there must be code for dup that can be called at runtime. 14:00:17 why ? 14:00:38 so when you type dup on the command line it has a word to call 14:00:38 why do : xxx xxx ; ? 14:00:46 oh 14:00:57 because I have a word ,dup which compiles the dup instruction 14:00:57 and why cant they just type "dup" ? 14:01:02 I must also have a word with that instruction in it 14:01:08 then it should be 14:01:11 : dup ,dup ; 14:01:17 you could type dup if fup was defined. 14:01:31 no, it's : dup [ ,dup ] ; 14:01:36 ok 14:01:40 no immediates 14:02:01 ouch 14:02:05 why no immediates ? 14:02:33 what I was just explaining to Robert is that my editor allows you to type a word xxx in green (compile mode) and it will automatically replace it with [ ,xxx ] 14:02:43 oh 14:02:47 got ya 14:02:56 so you type : dup dup ; and the editor actually puts this in the source: : dup [ ,dup ,; 14:03:08 see.. its this whole color thing, i just dont see it as a plus 14:03:49 this method works fine without color 14:03:52 its added confusion factor, you have to learn what color means what 14:04:19 I440r: yeah, or you can turn it off 14:04:29 there's only 4 colors 14:04:41 5 14:04:41 i cant get my head arround colorforth AT ALL lol 14:05:09 I think define, compile and execute colors are pretty obvious 14:05:26 anyway it's irrelivant 14:05:35 but what do they give you that you dont already have ? 14:05:46 my source can easily be displayed without colors 14:05:59 but what do the colors give you ? 14:06:06 this is the part i dont get 14:06:11 I prefer colors, because I can more easily see what's going on. 14:06:23 maybe it's my dislexia, I don't know. 14:06:27 hehe 14:06:42 I recognize the colors long before the symbols 14:07:17 rest asured that it will be very easy (and documented) to switch it to displaying in standard ascii form 14:07:38 k 14:07:51 I already have the code do display in ascii 14:08:25 I think it needs one tweak, as the ascii output is now only used to export to files. 14:08:30 first Herkamire's doing color, next thing he's planning is using the APL character set :) 14:08:45 what's APL? 14:08:45 *scary* 14:09:07 Herkamire, programming language focused on arrays and matrices and such, has its own charset 14:09:25 does it start: 0123456789abcdef ? 14:10:32 I've toyed with the idea of having my own charset 14:10:39 but then I'd have to deal with having multiple charsets 14:10:47 and I'm not going to be ready for that for a long time 14:10:54 unicode? 14:13:58 I hate unicode 14:14:13 I'll make something better, and make something to translate to/from unicode 14:15:36 I don't want to have characters that are more than 8 bits long unless there are actually more that 256 different characters in the document 14:17:26 heh, you could have the equivalent of a palette for text files :) 14:17:52 this complicates things just to save a few bytes of memory 14:21:50 it's not bytes of memory I'm worried about. 14:22:04 it's dealing with the complexity of variable length characters 14:22:31 and the posibility of having an invalid string 14:22:41 I don't think it should be possible to have an invalid string 14:23:04 var length characters? 14:23:07 a string should be a series of bytes, with some context to give them meaning 14:23:13 basic unicode is 16 bit chars 14:23:30 no 14:23:34 maybe you mean utf8? 14:24:24 there is no @#(*@&$# way you can get all the characters supported by unicode into 16 bits 14:24:32 full unicode is 21 bits 14:24:34 there are some languages that themselves don't even fit in 16 bits 14:24:52 you can be like java and support the 16-bit subset only. most common stuff fits in it 14:25:23 why would I want to use 16 bit chars when 99.9% of my stuff fits in 7 bits? 14:25:44 what if some guy wants to write comments in greek in his herkforth source? 14:26:15 ... 14:26:38 I do plan on making other characters available 14:26:43 unicode is not the only way to do that. 14:26:56 any other way is just as complex and unicode is the standard 14:27:13 if I'm going to go to all the trouble of making other characters available, then I hope I would do something that would make ANY character available. 14:27:34 not just a bigger pool that's going to leave you in the same situation (having most, but not all the characters you want) 14:27:49 don't be such a pessimist 14:28:04 I'm going to make one that is less complex 14:28:26 just because it's a standard, doesn't mean it's the best way to do things. 14:28:39 take xml for example... 14:29:09 xml is suited for certain tasks. 14:29:20 xml can do some things 14:29:33 but it's unnessesarily complex in it's implementation 14:29:40 its implementation? 14:29:43 yes 14:29:44 its just a simple file format 14:29:57 it's not a simple file format at all 14:29:58 it's a complex file format 14:30:16 there's gotta be like 5 different delimiters 14:30:24 its easy to write a parser 14:30:28 plus every tag has it's own end marker 14:30:32 microstar xml is 5,000 lines of java 14:30:32 no it's not 14:30:50 and how much is the unicode in java that it uses? 14:31:18 its irrelevant, since its already been implemented and only needs to be implemetned once 14:31:37 BTW I don't consider a 5,000 line java program "easy to write" 14:31:42 i do :) 14:31:45 bullshit 14:31:50 about half is documentation comments. 14:31:51 1) it's slow 14:32:07 2) it needs to be written many times. most people will not use the java implementation 14:32:32 that java implementation does not make xml any easier for me to use 14:32:40 alot of people use jedit :) 14:32:46 i'm not saying you should use xml 14:32:54 i'm just saying, it has legitimate uses 14:32:59 yes it does. 14:33:03 if i'm trying to code something in 16kb of ram, no, i won't use xml 14:33:18 and I'm saying that those things that xml can do, could be done with much much less complexity 14:33:43 for example: Why do you have to name your end tags? 14:33:51 why isn't there just one end tag? 14:34:15 14:34:29 yeah, xml sucks, use asn.1 instead 14:34:33 that's not the point of xml. the point is that its *standard*, easy to parse, and *a lot* of libraries and tools understand it. 14:34:47 and my point is that it's not at all easy to parse 14:34:54 yes it's a standard. 14:34:57 in a limited langauge like forth, sure its hard 14:35:10 and there are some libraries to deal with it. but IMO not that many 14:35:21 it's harder in C 14:35:31 use libxml for C 14:35:49 shall we lookup how many thousands of lines libxml has? 14:35:56 does it matter? 14:36:08 is linux bad because its large? 14:36:10 your point seems to be that if there are libraries to handle it, then it doesn't matter how horrible the implementation is. 14:36:14 yes 14:36:15 code that's been written can be reused 14:36:18 the implementation of libxml is fine 14:36:48 i don't want to keep constantly rewriting stupid libraries and parsers, that's why i reuse other's code when appropriate 14:36:50 that is one of linux's major faults. You have the source, and you can change it, but that's useless to most people because it's so @#(*$&@# complex, that it's really really hard to find the bit that you want to change, let alone change it in a productive way 14:37:09 the linux kernel is CLOSED source 14:37:11 period 14:37:17 security through obscurity 14:37:21 not the implementation of libxml, I mean the implementation XML 14:37:32 if xml was any simpler it would be useless 14:37:42 you seem to be saying that it doesn't matter how complex the XML file format is, because there are libries to do it for you. 14:37:55 if it's so blinkin' simple, then why do you need libraries at all? 14:37:55 yes, i'm saying that, and i'm also saying its not *that* complex 14:38:12 because even 500 duplicated lines of code is unnecessary duplication 14:38:53 take gui toolkits for instance, should everybody be writing their own gtk+/qt/whatever when they can use the existing library? 14:39:15 sure its not *hard* to write all your own widgets... but why bother 14:39:24 if there is something good that suits their project, and doesn't introduce much additional complexity, then use something out there 14:39:52 the reason I am writing my own OS is that I think the options are shitty. 14:40:07 I think it should be much easier to roll your own widgets. 14:40:33 if everybody rolled their own, computing would still be in the 50's 14:40:33 and I think the existing widgets should be easier to take bits and peices from 14:40:47 whereas now computing is in the 70s? 14:40:48 sure, libraries can be improved in various ways 14:41:06 I don't know if you've noticed, but for the most part computers haven't gotten easier to use in the last 30 years 14:41:23 libraries smibaries 14:41:26 they're easy enough for me. 14:41:36 programmers should be working towards making things simpler 14:42:02 it's stupid to try to build a simple system on top of a complex file format 14:42:39 i agree 14:43:25 xml forces a certain level of complexity. 14:43:34 for most projects it's way to much. 14:44:00 and for some, xml does not do what they need (for example if you need some of your nodes/leaves to refer to eachother) 14:44:56 did i say that xml was the ultimate file format? 14:47:31 xml is the ultimate file format. 14:47:36 die. 14:47:49 a long horrible death. 14:48:01 Here's a file formate: type length data 14:48:11 type and length are integers 14:48:35 there's a whole lot more to xml then that :\ 14:48:53 perhaps there would be a list of types that you would be expected to know the lenth of (and they wouldn't have the length int there) 14:48:59 now witness the complex 1 million line of code app that has to read/write 1000 lame little file formats, when it could store everything in xml. 14:49:03 qFox: you could do anything xml does with that 14:49:07 there is actually a pretty nice svg part of it, which was about the only thing i played with during xml classes (our teacher was clueless about the whole thing, major suck) 14:49:49 svg is very handy 14:50:33 why not just use bnf 14:50:37 well, handy, its fun to play with, when bored, during xml classes, given by a teacher who is entirely clueless to xml in the first place 14:50:41 thats easier to understand than xml :) 14:50:46 other then that... 14:50:56 I440r, bnf has nothing to do with xml 14:51:05 he would download some instruction material from the web 14:51:11 and go thru it with a beamer 14:51:19 beamer? 14:51:26 and just go thru the pages "well we all know this, and this is pretty clear stuff, and.." 14:51:36 and just about the whole class was clueless 14:52:14 (unfortunatly most of my classmates of that school werent ... well i dont know what to call it really. they were good ppl nothing wrong...) 14:52:20 yeah 14:52:34 a computer's output was hooked up to a beamer, that beamed directly to a viewscreen 14:52:42 static beamer attached to the roof 14:52:51 ahh, a projector 14:52:55 hm yeah 14:53:00 gotcha 14:53:09 it was a nice thing, remote controlled 14:53:36 adds fun when a student has one of those remote control watches, that accidentally works on this beamer (and the light-dimmer of the classroom) 14:53:58 oh yes... fun at school... woohoo 14:54:16 it's best when it's a TV hooked to it and you can change the channel ;) 14:54:25 yeah, no cable there though 14:54:35 true 14:54:59 but there was a decent internet connection (and ... not so great sysadmins) so we pretty much had full internet acces 14:55:00 s 14:55:22 ohwell 14:55:49 svg was fun to play with, but other then that xml is not my format 15:07:21 --- join: warp0b00 (~warpzero@mi053.dn189.umontana.edu) joined #forth 15:16:27 --- join: blockhead (default@dialin-249-tnt.nyc.bestweb.net) joined #forth 15:27:38 quick question... how do you print float numbers? 15:27:57 there doesnt seem to be a F. word, and converting it to a double floors it 15:28:59 oh wait, its in the extended set 15:29:04 gah 15:29:16 evilish 15:29:49 i wish i could use isforth on here :( 15:30:39 looks like i finally got tail call optimization working :) 15:30:56 hot 15:31:19 warp0b00, are you warpzero? 15:31:31 o_0 my stat graph code works! 15:31:44 slava: yeah dude 15:31:59 after tail call optimization, next item on the list is type inference. 15:32:10 i need to adapt it slightly though. so it wont show percentage of 100% (one or two pixels are hard to spot when you have 256 items...), but a % of the max value 15:34:52 sweet. 15:34:53 works 15:34:54 :) 15:35:32 qFox: can I see an image? 15:35:39 --- join: MrReach (~spam@209.181.43.190) joined #forth 15:35:40 --- mode: ChanServ set +o MrReach 15:35:49 hold on, fixing the graph width 15:35:59 overdid that a bit for only 256 items 15:38:55 qFox, whacha hacking? 15:39:12 well i created code to count the frequency of bytes in a given file 15:39:18 huffman? :) 15:39:24 but the results printed on screen were pretty unclear to read 15:39:51 so i wanted a graph, however i cant work with graphics with win32forth (you can, but i cant) so i created a small bmp lib 15:40:12 and with that i created a freq table of the otehr code 15:40:15 fuck jikes 15:40:42 i need to add the numbers, going to do that now 15:40:55 ok 15:41:05 http://members.home.nl/qfox/output.bmp 15:41:35 (500k i know thats huge for this, but remember its zero compression, and 24bit :) 15:41:44 I440r: i see that NASM has resumed development ... did they ever fix the macro errors that caught you so bad? 15:42:17 that file is from a 1.6mb rarfile btw 15:42:40 qFox: I have to wonder ... is this an educational exercise for you? 15:42:55 curiosity really 15:43:09 I thought as much 15:43:41 and the challange of course 15:43:42 :) 15:44:00 ok, just wondering 15:44:03 :) 15:44:16 qFox: cool graph 15:44:33 the only thing more challenging than compression is encryption algorythms 15:44:34 looks pretty well distributed 15:44:35 slava> with this you can predict the compression of huffman encoding btw 15:45:05 a even frequency of all bytes means that huffman would be hardly worth it 15:45:28 where-as a peak will indicate that huffman will kick ass :p 15:45:44 yep 15:45:53 qFox: run stats on a big text file :) 15:46:19 now using this graph creating app, and some other apps i'm working on, i can see if i can change the look of a "random" file, to make it less evenly devided 15:46:21 i want to find a java curses library so i can ship my language as a gcj-compiled executable, and have it show a reasonably nice interpreter (with line editing etc) and not have people notice its java :) 15:46:30 note that the graph is from a compressed archive, so it had BETTER be close to even distribution 15:46:30 with the goal to make huffman once again usefull for the random file 15:46:42 right now its either dumb terminal interpreter or slow swing gui interpreter 15:46:42 MrReach> correct 15:47:02 --- nick: arke__ -> arke 15:48:06 the result of a huffman encoded file (and i'm still not sure, but fairly convinced rar and zip use huffman-like compression techniques, amongst others perhaps), should be a fairly straight line 15:49:00 at least when sorted hi-lo the line should be linear 15:49:14 qFox: they might be using modern variation of a non-huffman technique called LZW ( I forget what those letter stand for). 15:49:21 i read about it 15:49:25 slava: why fond of java? 15:49:27 dictionary technique 15:49:40 right..? 15:49:41 zip uses LZW? 15:49:52 Limpel-Zieve something 15:49:59 i read that page about compression hacks about halfway now 15:50:14 dynamically updated dictionary technique, so that it can react to changing file statistics and the dictionary does not have to be transmitted along with the compressed data stream 15:50:15 after that i got too curious to test some thoughts and started coding again :p 15:50:20 (LZW are my mother's initials. First few times I saw it I thought it was reffering to her) 15:50:26 is that compression hacks course nice? 15:50:40 lol 15:50:50 MrReach, because its nice 15:50:53 it starts out nice, at least explains those lzh and huffman techniques understandable enough for my taste 15:51:00 * MrReach laughs 15:51:21 it might be targeting a bit more of "specific data" to my taste (i want to focus on compressing random data) 15:51:44 :) 15:51:49 so dictionary techniques are not worth it on random data, huffman type of techniques are 15:51:52 truely random data can't be compressed 15:51:57 but you know that 15:52:07 well, thats what i'm looking into 15:52:27 "I like to start the show of by doing something that is impossible." 15:52:40 i believe that, since a file is all numbers, its appearance can be altered 15:52:44 "So now I'm going to suck this piano into my lungs." 15:52:52 heh 15:52:58 hehe, impossible and stuborn are a great match though 15:53:01 "...hhhhhhhhhchchchhh... ... There!" 15:53:48 see the guy that tried to suck the piano, knows firsthand that its quite difficult. anyone else just assumes its not ;) 15:54:02 there is a difference, imo 15:54:20 ohwell, i'm gonna add red dots to the tops now :p 15:54:26 that was Steve Martin, on an audio recording. 15:54:43 heh, BBC is reporting (again) that infant children can swim ... this seems to come up every 10 years or so 15:54:45 color! 15:54:46 --- quit: warp0b00 (Success) 15:55:03 hm lemme post the code so you can do that large file counting yourself btw 15:55:19 i suggest you get win32forth though. i dont know about portability 15:55:29 humph 15:55:35 I don't have windoze, or a computer it would run on 15:55:36 well you can TRY 15:55:37 :p 15:55:47 but something tells me that the floating part alone will screw up 15:56:02 or the file stuff 15:56:19 using non-standard floating point and file words+ 15:56:23 ? 15:56:32 hmm not afaik 15:56:43 most of my info on floats i got from the ansi specs anyhow 15:57:00 should port fairly easily, then 15:57:18 you need to support c! c@ and w! w@ (used for the header) 15:57:54 what are yo using for offsets/structures ?? 15:58:27 oh, .BMP ... that means just appending data 15:58:33 (LOTS of it) 15:58:38 well 15:58:48 i create a buffer 15:59:04 (the bmps it creates are 24bit 0compression, so 3bytes/px) 15:59:11 yup 15:59:13 and once done editing it dumps it to a file 16:00:03 the lib has a draw.pix draw.line draw.rect draw.rect.filled and (limited) draw.text 16:00:48 * MrReach nods 16:00:52 allright 16:00:53 brb ... making coffee 16:01:19 http://members.home.nl/qfox/coding/forth/ you need countbytes.f bmp.f and statimg.f 16:01:40 everything is lowercase, incase your forth (would you dare to try anyhow) is CS 16:02:46 if you hate rot, dont read the source. 16:02:51 hehe 16:16:52 back 16:18:29 Hi. :) 16:20:15 hihi 16:20:51 dont do that again unless you're a chick. 16:20:52 :p 16:21:04 :D 16:21:04 hihi is reserved for women imo 16:21:15 lol 16:22:00 come to hin kof it, I only ever heard one person say "hihi" and that person was a woman. :D 16:22:06 come to think of it 16:22:12 damn typos 16:22:19 maybe I should turn a light on :/ 16:22:29 lol 16:22:36 sheesh! touchy touchy! 16:22:53 rented fingers ... can't do a thing with them 16:22:57 watching a E3 review. pretty cool stuff 16:23:04 also pretty sucky stuff there 16:23:11 but some of the games look so slick 16:46:35 --- quit: MrReach () 16:50:36 --- quit: dufus ("Leaving") 16:51:48 --- quit: I440r (Read error: 60 (Operation timed out)) 17:21:07 i've seen at least 3 other guys say "hihi" on irc 17:21:14 so don't get on sexist 17:21:17 assholes! 17:22:27 hmm 17:22:28 ...? 17:22:45 Hams laugh like that. :) 17:23:20 Send "hi hi" in morse code and you'll know why. 17:28:58 --- join: default_ (default@dialin-813-tnt.nyc.bestweb.net) joined #forth 17:32:30 --- quit: blockhead (Nick collision from services.) 17:33:31 --- nick: default_ -> blockhead 17:34:20 important safety tip. don't accidently run your fax software while on-line already 17:41:30 --- quit: cmeme (calvino.freenode.net irc.freenode.net) 17:41:30 --- quit: Topaz (calvino.freenode.net irc.freenode.net) 17:43:22 even when not on dialup? :) 17:43:46 does faxing even work via nondialupinternet? 17:43:47 oh, well that's another thing entirely :D 17:44:15 no 17:44:23 faxing is via phone line 17:44:54 futhin> well, i still think "hihi" is a giggle, which should be reserved for girls only :p 17:44:54 to "fax" via internet, mail a gif :) 17:44:59 haha 17:45:28 * blockhead cares greatly baout this matter and will give it all the attnetion and thought that it deserves. :) 17:48:30 --- join: topher (~chris@lsanca1-ar42-4-61-175-184.lsanca1.dsl-verizon.net) joined #forth 17:48:45 --- quit: proteusguy (Connection timed out) 18:01:54 hi topher 18:09:40 hi arke 18:10:00 whats up? 18:10:08 * arke found my old favorite DOS game 18:10:20 ooh! what game! 18:10:55 Reader Rabbit II 18:11:43 * blockhead dunnos that one. sounds like an educational title 18:20:35 Ski or Die 18:20:46 the only difference is ... 18:21:01 now I understand the captions, instead of just seeing some words I know lol 18:28:27 --- join: proteusguy (proteusguy@216-99-240-47-atl-01.cvx.algx.net) joined #forth 18:39:33 i always wondered about the pronunctionation of that title... skai or die seems to have a better catch to it :p 18:39:55 also cos you could see it as sky or die 18:40:24 is there a word that converts a number to a string? 18:40:33 counted or not doesnt matter 18:40:58 itoa? :) 18:41:04 in forht? 18:41:05 qFox: it's easy to do actually. 18:41:13 qFox: to write your own, i mean 18:41:18 its easier if there was a word for it. 18:41:20 :) 18:42:27 --- quit: proteusguy (Operation timed out) 18:44:03 qFox: I could look that word up for you, but my book is vintage 1983 :( 18:44:15 pre-ansi 18:46:59 qFox: allocate a buffer of 8 bytes (9, if you want to support signedness) 18:47:15 hi 18:47:29 qFox: then, do a 10 mod, add it to the buffer, then do a 10 mul 18:47:32 repeat until done. 18:47:37 finally, reverse the buffer 18:47:39 slava: :) hi there 18:47:49 * teehee feels like such a nerd ... 18:48:02 * teehee is doing his enlgish poetry assignment in Vi 18:49:11 if you were *really* a nerd, youd'de write an algorithmic random poetry generator and then submit the output :D 18:49:28 i did all my highschool essays in jedit with html markup 18:50:08 so you;de print them with a browser?? 18:50:30 yes 18:51:19 slava: not quite nerdy enough. 18:51:30 i should've used tex huh? 18:51:35 * blockhead thinks. can you set margins that way? (to meet page requirements) 18:51:35 slava: if you formatted it using a custom written TeX macro, THEN you'd be a true nerd 18:53:43 are people still writing in Forth? 18:53:55 slava: and it would be even better if you did it in ed, running in screen in conjuction with every other app you have 18:53:59 I think mor people are writing forths :D 18:54:05 haha 18:54:21 aum: there's a high probability that your cell phone (if you have one) is coded in forth 18:54:23 speaking of ed, i'm going to write a structure editor which will be line-based like ed, but it will edit pre-parsed source 18:54:38 slava: interesitng .... tell me more 18:54:51 i dabbled in Forth a coupla years back, forked my own FICL-derived Forth 18:56:31 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 18:56:54 guess I'm not as at home with structured assembler these days 18:57:14 aum, forth is not 'structured assembler'. that's C 18:57:41 I am referring more to the low-level bit-bashing flavour of forth 18:57:44 * teehee was just about to say that :) 18:57:55 and the vast quantity of 'i's to dot and 't's to cross 18:58:00 i'm making a higher level language 18:58:13 slava: a forth-ish higher level lang? 18:58:20 watch out for cmeme! its a spy!!! 18:58:21 aum, yup 18:58:26 aum: you need to understand that Foorth is as low-level as assembly at the same time as it's as highlevel as SML or Lisp 18:58:26 slava: with OO? 18:58:49 aum, it runs on the JVM (or in GCJ etc), but its more functional than OO 18:58:49 aum: oop is trivial in forth 18:59:03 qFox: ^__^ 18:59:04 aum, you never declare classes etc 18:59:09 teehee: but making it fast and convenient is not always as trivial 18:59:17 its the truth! 18:59:34 aum: ever messed with CREATE/DOES> works? 18:59:37 words* 18:59:47 teehee: yes, i vaguely remember 19:00:04 my language doesn't have anything like CREATE/DOES> 19:00:07 i haven't felt the need for it 19:00:15 aum: that right there is OO. 19:00:22 * aum has sometimes felt tempted to write a forth called 'fython' - a totally OO forth which hooks into Python API 19:00:49 aum: multiple methods, inheritance, etc. are all trivially handled, and faster than you might think 19:00:50 slava: my forth doens't have creat/does either :D 19:01:05 blockhead: ack lol 19:01:05 qFox: in ANS, you can get a string from an integer with <# #S #> 19:01:24 teehee: yeah, my forth deviates from forth a bit 19:01:47 blockhead: well, so does mine, really 19:02:00 I think it's a common tendency 19:02:01 Sonarman> for example? 19:02:10 blockhead: for example, no looping contructs 19:02:14 Sonarman> i'm not getting a result that makes sense ;) 19:02:19 blockhead: no PICK, ROLL,et al 19:02:27 mine has branching and recursion only. 19:02:32 loops are implemented using this 19:02:39 it works out nicely, because of tail call optimization 19:02:44 qFox: the number to be converted needs to be a double, i think 19:02:45 slava: same here :) 19:02:49 oh 19:02:58 teehee: well, no pick and no roll is doable, but how do you not loop? 19:02:59 slava: what about things that need thousands/millions of iterations? 19:03:07 3. <# #S #> type 19:03:10 blockhead: see what slava wrote 19:03:12 doesn't that hammer the stack? 19:03:15 hmmmm he saves it as hex? 19:03:22 aum: no 19:03:27 aum, it compiles to JVM bytecode so its at least as fast as a direct-threaded forth 19:03:29 * blockhead faints at the though of the huge memory needed for the stacks 19:03:32 thought 19:03:35 aum: because it uses tailcalls (which aren't calls, but rather jumps) 19:03:46 qFox: what? 19:03:46 *sigh* 19:03:47 oh 19:03:54 * blockhead scratches his head 19:03:55 i'm getting weird results... 19:04:02 50 s>d <# #s #> ok.... 19:04:02 type 32 ok.. 19:04:22 what does 50 s>d .s say? 19:04:24 aum, when a thread of execution reaches its end, the last word is executed and its stack frame replaces the top of the call stack 19:04:43 aum, instead of being pushed, like words other than the last 19:04:44 50 s>d .s [2] 50 0 ok.. 19:05:28 weird. it works fine over here on gforth 19:05:33 hmmm 19:05:47 blockhead, aum: instead of the C-like call, it's actually a jumnp :) 19:05:51 3. <# #S #> results in 1 19:05:52 :\ 19:06:10 huh 19:06:16 and now it works properly 19:06:18 :s 19:06:21 lol 19:06:23 huh. wtf? 19:06:24 :) 19:06:27 brb, 0xf00d 19:06:32 euhr 19:06:41 3. <# #S #> type 3 ok 19:06:41 21. <# #S #> type 21 ok 19:06:41 543. <# #S #> ok.. 19:06:41 type 833 ok 19:06:55 looks like a win32forth bug 19:07:01 seems to be 19:07:05 543. <# #S #> type 543 ok 19:07:42 hm w/e 19:07:44 so sometimes a certain number works and sometimes it doesn't? 19:07:54 it seems to fail when i do the type on a new line 19:07:58 memory pointer bugs :-) 19:08:13 maybe CR does something to PAD 19:08:32 hmmm that wouldnt make sense, but everything is possible 19:11:12 it works. i can now add normal numbers to the bmp :p 19:11:48 dont suppose the same can be done with floats? 19:13:00 tehee: do you mean like this: http://c2.com/cgi/wiki?TailCallOptimization 19:15:23 actually, it's probably ACCEPT or EVAULATE or whatever word that's called when you press enter that screws up the pad 19:16:36 anyhow, it shouldn't be a problem when used inside word definitons 19:19:04 yeah its working fine now 19:19:13 : draw.number ( x y n -- ) s>d <# #S #> draw.text ; 19:22:04 hmmm floats are suckysucky 19:22:15 i guess i'll work around them 19:24:53 'nn all 19:24:59 --- quit: blockhead ("laugha while you can, monkey boy") 19:25:35 --- quit: aum () 19:48:54 --- quit: qFox ("this is mirc's last attempt of communication...") 19:51:15 --- quit: topher (Remote closed the connection) 19:52:14 --- join: topher (~chris@lsanca1-ar42-4-61-175-184.lsanca1.dsl-verizon.net) joined #forth 20:29:24 --- join: yeoh (~yeoh@219.95.3.38) joined #forth 20:39:48 --- join: Alcides (~webmaster@adsl-64-166-19-2.dsl.snfc21.pacbell.net) joined #forth 20:49:58 --- quit: yeoh ("User pushed the X - because it's Xtra, baby") 21:36:54 --- quit: slava ("Leaving") 22:16:16 --- quit: Sonarman ("goodnight") 22:21:32 --- join: Serg (~z@212.34.52.140) joined #forth 22:30:31 olsen twins are turning 18 this sunday. 22:30:31 expect LOTS of photoshopped olsen twin pr0n on kazaa by monday 22:39:45 what is olsen twins ? ;) 22:40:06 mary-kate and ashley olsen? 22:44:37 maybe 22:44:47 :) 22:49:15 do any of you program in python? 22:49:42 python ew 22:49:44 lool 22:49:53 * teehee was gonna learn it 22:50:39 --- quit: topher ("Client Exiting") 23:05:38 aaaaah 23:16:10 --- quit: SDO (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/04.06.08