00:00:00 --- log: started forth/04.09.03 00:00:25 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 00:01:09 --- join: tgunr (~davec@A17-205-43-45.apple.com) joined #forth 00:01:32 hi ! 00:01:50 mur: i recently watched rally in Finland - nice ! 00:01:58 --- join: snoopy_1611 (snoopy_161@p50817EAC.dip.t-dialin.net) joined #forth 00:03:16 --- join: fridge (~fridge@dsl-220-253-73-190.NSW.netspace.net.au) joined #forth 00:05:13 --- quit: tgunr (Client Quit) 00:06:21 --- join: tgunr (~davec@A17-205-43-45.apple.com) joined #forth 01:54:18 --- join: Klaw (~anonymous@ip68-228-92-218.oc.oc.cox.net) joined #forth 01:54:18 --- quit: madwork (Read error: 54 (Connection reset by peer)) 02:08:08 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 02:14:04 --- quit: mur (Read error: 110 (Connection timed out)) 02:31:01 --- quit: Serg_penguin () 02:32:22 --- quit: tgunr (Remote closed the connection) 03:02:22 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 03:03:29 --- join: snoopy_17 (snoopy_161@p50817EAC.dip.t-dialin.net) joined #forth 03:04:05 --- quit: snoopy_1611 (burroughs.freenode.net irc.freenode.net) 03:04:06 --- quit: OrngeTide (burroughs.freenode.net irc.freenode.net) 03:04:06 --- quit: lyca (burroughs.freenode.net irc.freenode.net) 03:04:06 --- quit: Robert (burroughs.freenode.net irc.freenode.net) 03:05:31 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 03:05:31 --- quit: mur_ (Read error: 60 (Operation timed out)) 03:05:35 --- join: OrngeTide (orange@rm-f.net) joined #forth 03:05:35 --- join: snoopy_1611 (snoopy_161@p50817EAC.dip.t-dialin.net) joined #forth 03:05:35 --- join: lyca (alycat@rasterburn.org) joined #forth 03:06:07 --- quit: snoopy_1611 (Read error: 104 (Connection reset by peer)) 03:49:30 --- join: crc (crc@21-pool1.ras11.nynyc-t.alerondial.net) joined #forth 04:09:33 --- quit: mur (Read error: 54 (Connection reset by peer)) 04:09:45 --- join: mur (~mur@smtp.uiah.fi) joined #forth 04:53:12 --- join: crc_ (crc@185-pool1.ras11.nynyc-t.alerondial.net) joined #forth 04:53:13 --- quit: crc (Client Quit) 04:53:32 --- nick: crc_ -> crc 05:49:26 OrngeTide, do you have Allegro installed? 05:55:48 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 06:05:30 --- quit: crc (Client Quit) 06:26:40 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 06:34:51 --- join: zruty (~chuck@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 06:34:58 --- quit: FlamingRain (Read error: 60 (Operation timed out)) 06:40:11 --- join: snoopy_1611 (snoopy_161@p54852CF4.dip.t-dialin.net) joined #forth 06:49:55 --- join: madwork_ (~madgarden@derby.metrics.com) joined #forth 06:50:25 Should put a link to the #forth logs in the topic. 06:53:18 --- join: wossname (wossname@HSE-MTL-ppp77956.qc.sympatico.ca) joined #forth 06:54:00 do a /whois on clog :) 06:54:11 who is snoopy ? 06:54:12 a bot ? 06:58:56 A bot on dial-up? 06:59:00 --- nick: madwork_ -> madwork 07:00:07 hah, it used to be that those who could afford used broadband and others used modem, nowdays everyone has broadband, and who can afford use modem 07:00:08 --- quit: warpzero (Client Quit) 07:03:54 --- quit: snoopy_17 (Read error: 110 (Connection timed out)) 07:16:21 --- quit: wossname ("mr. push up") 07:38:24 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 08:13:26 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 08:13:44 hi 08:16:18 --- quit: arke (Client Quit) 08:17:38 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 08:25:42 hyi 08:27:27 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 08:29:43 --- quit: zruty ("leaving") 08:29:47 hi tathi 08:33:55 hi arke 08:34:08 * arke is in drafting class :) 08:34:29 :) 08:35:49 hehe 08:36:04 we were suposed to draw coords on paper then he would tell us how to enter them into autocad 08:36:18 most people are still drawing, while i already hae it entered in autocad 08:36:19 bah 08:36:20 :) 08:36:25 autocad is pretty easy. 08:36:29 --- quit: snoopy_1611 (Read error: 110 (Connection timed out)) 08:36:31 what version? 08:38:14 autocad lt 2002 education 08:38:21 err, 2000 08:38:21 not 2002 08:41:05 I think that's the version one of my brothers has. 08:41:51 :) 08:42:26 have you done any drafting before? 08:48:38 not in a CAD program 08:48:43 and not in a classroom either 08:48:53 (except for a bit in woodshop 4 years ago) 08:56:26 --- quit: I440r_ ("Leaving") 08:56:40 --- join: I440r_ (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 09:01:30 --- quit: arke ("later :) (probably will talk in about 3 hours)") 09:49:27 Ahh, I love the simplicity... 09:49:27 : enum 09:49:27 dup constant 1+ 09:49:27 ; 09:59:11 eh 09:59:22 ah right 09:59:31 0 enum foo enum bar enum baz 09:59:32 right? 09:59:41 yea, followed by drop 09:59:47 right. that's slick 10:00:05 or you can have 0 enum: xxx yyy zzz ;enum 10:00:09 or something like that 10:00:34 Yep, could do that too. More work, less typing. ;) 10:00:42 I440r_, that'd require a fancier definition. 10:00:54 Hey, but I'll just have to try that one now. 10:01:10 Maybe: 10:01:10 0 enum{ foo bar baz } 10:01:20 OrngeTide, speech synth stuff: http://www3.sympatico.ca/ppridham/misc/sounds/ 10:01:42 hey. neat:) 10:01:42 It's really cheap and dirty, but hey. 10:01:59 It's built for Allegro, but you could easily adapt it for some other sound lib. 10:02:57 --- quit: FlamingRain ("Leaving") 10:03:01 is it using diphonemes? 10:03:14 Not even... just simple allophones. 10:03:24 oh i see all the .wav files 10:03:29 Though, I was going to expand the SAM set eventually. 10:03:50 Yea, like I said... cheap and dirty. ;) But hey, robot voice is kinda cool. 10:04:07 is sam your voice? 10:05:18 Nope, it's taken from the old C64 SAM synth. 10:05:20 ehhe.. sounds neat:) 10:06:05 I will eventually make a more diphonal set by sampling more inter-phoneme transitions (or whatever the devil you want to call it) 10:06:11 i can make out about 70% of what it's saying:) 10:07:00 basically you want to cut every phoneme in half. and then make a sample of every half with every other half. 10:07:40 WE CONTROL THE UNIVERSE 10:07:41 Yep, that's the long way about it. 10:07:44 Hehe. ;) 10:08:13 The shorter way would be to just sample the most unique-sounding transitions. 10:11:32 rsynth uses a bunch of waveforms rather than recorded files. free data from some research project. so it's pretty compact and makes it easy to tweak transitions to provide varying amounts of stress 10:12:33 Yea, cool... so, formant then? They are the ultimate IMO. There's some code for the speech synth from Gauntlet in the MAME source... gonna have to adapt that to my evil purposes some day. 10:13:20 hrm. i just compiled rsynth. it actually sounds a bit flat compared to yours. although it is easier to understand. 10:14:40 There's probably a lot of parametric config you need to do to get it to have some colour. 10:14:58 yea. 10:29:00 Whee! 10:29:00 : enum{ ( n -- n+1 ) 10:29:00 begin 10:29:00 token dup "}" $= 0= 10:29:00 while 10:29:00 " constant " swap $cat over swap $cat evaluate 1+ 10:29:02 repeat 10:29:04 2drop 10:29:06 ; 10:29:54 hm wait 10:30:01 : token bl word here count ; ? 10:30:03 that word is way larger then it was last time i saw it :p 10:30:33 qfox is the new IMPROVED version :) 10:30:37 ahhh 10:31:16 My "token" is basically like "bl word" but handles the other whitespace as well. 10:31:41 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 10:31:42 --- mode: ChanServ set +o Herkamire 10:32:31 Works spiffily, too. :D 10:32:31 0 enum{ INVALID NOT_TESTED OK ERROR FATAL PASS FAIL SYNC_WAIT 10:32:31 STOP } 10:32:54 Oh, the joys of EVALUATE. I don't know how I lived without it before. 10:35:26 i hate evaluate lol 10:36:46 why cant the above simply be : emum{ being token dho '}' $= NOT ( note 0= is not NOT) while dup constant 1+ repeat drop ; 10:36:59 why the hell do you need to " constant" evaluate 10:37:15 thats an extra step i can see no purpose for 10:37:27 token parses the word out, then constant can't find it. 10:37:29 never leave till run time what can be done at compile time 10:37:49 though you could put it back in, presumably. 10:37:57 true 10:39:20 but undoing a parse is not easy i guess 10:39:42 err, I thought that even in ANS you're supposed to be able to just set >IN back where it was. 10:40:02 not if the parse had to refill 10:44:08 ah. 10:44:17 ANS says the parsing words aren't allowed to refill. 10:44:33 that's why they can do that. 10:46:26 Yea, I pretty much have to evaluate to get stuff parsed. 10:47:12 madwork: Forthy is your project? That's what you're doing this under? 10:47:16 Yea. 10:47:41 just wanted to be sure I wasn't mixing you up with someone else :) 10:48:08 :) 10:48:57 Anyway, this evaluate method works. Hmm, actually, I probably *could* do it I440r_'s way. I'd just need to export another primitive for loading input only. 10:49:05 Should work then. 10:49:12 preparse ? :) 10:49:15 parse-ahead 10:49:16 hehe 10:49:53 Or how about $-> just to be really cryptic and cool. ;) 10:49:59 I don't see any problem with using evaluate. 10:50:04 I mean, it's your language. 10:50:10 Yea, it works. 10:50:44 But, with Forthy, I could just as easily create a language that does it the other way. I am just working with a certain set of primitives that I've created on the application side. 10:50:50 yeah. 10:51:09 If I were doing it in gforth (which is ANS), I'd probably just save and restore >IN 10:51:14 I *think* that would be shorter. 10:51:26 but then, I guess you'd have to check if you needed to refill, so maybe not. 10:55:41 tathi you cant do that 10:55:41 lets say your input buffer is " ..........XXXXX " 10:55:41 and you have parsed all the dots 10:55:41 you parse XXXX and now tib is EMPTY 10:55:41 oh maybe you can 10:55:41 it wont refill till you try parse again so you can still backtrack >in 10:55:41 nevermind :) 10:55:41 yes. 10:55:41 exactly. :) 10:55:41 I assume that's why the ANS guys added that requirement. 10:55:41 it isnt an ans thing 10:55:41 its an 83 standard thing 10:55:41 oh, ok. 10:55:41 bbl 10:55:41 phood 10:55:41 I thought you took your parsing stuff from an F83 system. 10:55:41 i did 10:55:41 f83/fpc 10:55:41 but 10:55:41 And you refill in parse-word, don't you? 10:55:41 i could never figure out their refill shit 10:55:41 i refill from within word itself 10:55:41 bbl 10:55:44 :) 10:59:29 I just do: fs_load_input(sys, string); 10:59:30 :P 10:59:41 :) 11:04:04 :> 1 2 f+ 2.2 f* 11:04:04 ok. 11:04:04 :> .6.600000000000001 ok 11:04:04 GAH! 11:06:35 thatll teach ya to use floats 11:07:41 :> 1 2 + 2.2 * 11:07:42 ok. 11:07:42 :> . 11:07:42 6 ok 11:07:42 Take that, you float muthasucka! 11:13:42 Ooh... how about a one.of{ word? ie. 11:13:42 status @ one.of{ OK FAIL FATAL } if foo then 11:32:46 thats like my either/neither words 11:32:59 but extends further :) 11:41:06 Good name for a word that creates and assignes a value to a variable? (ie. CONSTANT) >var ? 11:44:44 i called it var 11:44:47 i have var and const 11:44:58 const creats a state smart immediate word 11:45:04 0 const foo 11:45:15 when you execute foo in interpret mode it returns 0 11:45:23 when you execute it in compile mode it compiles a literal 11:45:42 imho thats the way variable and constant should have worked from day 1 11:46:08 It's unforthish! 11:46:18 (OK, that was a troll, but some people think so) 11:48:10 it would be forthish if it was like that from day 1 11:50:17 Hey, that's a good point though. 11:50:26 OK, I'll just call it var, anyway. 11:51:39 :) 11:52:01 and invention IS forthish :P 11:53:09 Damn skippy. That's why you can all take a hike if you don't like my $cat evaluate stuff. ;) 11:55:58 hehe 11:56:02 * I440r_ takes a hile 11:56:05 hiKe even 11:56:11 man i wish i could type 11:56:57 Hiking's good for you. I'm sure to send you on many more of them with my wacky Forthy antics. ;) 11:57:37 We should arrange forth hikes. 11:57:48 With portable Kestrels! 11:58:37 Wearable Forth pedometers... sweet! 11:58:56 We could hike back and Forth, it would be great fun. 11:59:52 X-D 12:02:47 0x d $chr 0x a $chr $cat constant crlf 12:02:48 Blargh. 12:04:21 --- join: TheBlueWizard (TheBlueWiz@modem-036.nyc-tc03a.FCC.NET) joined #forth 12:04:21 --- mode: ChanServ set +o TheBlueWizard 12:25:32 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 12:26:50 madwork, looking at your float experiments above 12:27:02 madwork, i have a problem where -1.1 3 ^ (^ is power of) returns a complex number :) 12:27:13 ( 0 ) -1.1 3 ^ . 12:27:13 #{ -1.3310000000000004 4.890014668995383E-16 } 12:27:31 horray for inaccuracy 12:27:47 slava ./isforth runs and gets past the sys brk now but it segfaults in the header unpack code 12:28:00 ok 12:31:11 --- quit: tathi ("poof") 12:31:31 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 12:31:58 hi 12:31:58 hi TheBlueWizard 12:32:00 :) 12:32:55 arke hiya (said weakly) 12:33:17 :/ 12:33:19 whats wrong? 12:33:50 still depressed 12:34:52 Yea, gotta love it. 12:35:03 Well, I won't really be using floats anyway. 12:35:26 madwork, i can use rational numbers instead of floats in some situations to have perfect accuracy 12:37:38 screw floats 12:37:41 use ibntegers 12:37:45 two of them 12:37:51 MUCH more acurate 12:38:26 that's what i have 12:38:26 Yes, I like ibntegers. 12:38:52 but its not two integers on the stack, but a special 'ratio' type 12:39:06 ibnt foo=10; // Good! 12:39:06 fbloat bar=10; // Bad! 12:40:12 indeed. 12:40:36 typedef __ratio_s { int num; int den; } ratio_t 12:40:57 ratio_t baz = fraction(10, 1); 12:41:34 in factor the numerator/denominator can be bignums too 12:42:52 so you can represent any number as accurately as you want, provided you have enough memory 12:45:25 gotta go...all bye 12:45:33 ciao 12:46:58 bye TheBlueWizard 12:47:51 --- part: TheBlueWizard left #forth 12:49:00 If I'm at compile-time, I should expect EVALUATE to compile said string contents as code, yes? 12:50:20 err 12:50:34 at compile time, EVALUATE shoul at run-time evaluate the code 12:51:14 Hmm. 12:53:16 Hmm, 't'ain't what I'm doing. My evaluate is more like feeding input. 12:55:16 bye 12:55:22 wrong winow 12:55:23 lol 12:55:31 bye! X-D 12:55:38 lol 12:55:58 :) 12:56:37 I think it makes sense to compile the input during compilation. 12:57:46 --- quit: arke ("brb, econ class") 13:04:24 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 13:05:12 back :) 13:05:13 ho 13:05:17 hi 13:05:18 :P 13:12:40 --- join: madwork_ (~madgarden@derby.metrics.com) joined #forth 13:12:40 --- quit: madwork (Read error: 232 (Connection reset by peer)) 13:20:55 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 13:25:22 --- quit: arke ("CGI:IRC (EOF)") 13:28:14 HAH!! 13:28:19 I was right, then. 13:28:34 Where's that arke? I can't even gloat if he's not here... 13:28:47 --- nick: madwork_ -> madwork 13:29:51 This is what Win32Forth does when evaluating at compile-time: 13:29:54 : test : 13:29:54 s" 123 ." evaluate 13:29:54 ; ok 13:29:54 ok 13:29:55 test foo 13:29:57 ; ok 13:29:59 foo 123 ok 13:30:23 *compiles* the evaluated code, doesn't evaluate it. 13:35:00 --- join: Topaz (jonny@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 13:35:07 thats because s" is an immediate 13:35:20 That's not what I'm talking about though. 13:35:23 oh 13:35:56 the evaluate doesn't execute the 123 . at compile time... it compiles 123 . into the current definition. 13:36:18 (which is what it does in Forthy too) 13:36:22 arke had me scared. ;) 14:10:48 --- quit: FlamingRain ("Leaving") 14:14:27 ok, where the hell does fbsd store its terminfo files? 14:14:34 they arent in /usr/share/terminfo 14:14:53 /usr/compat/linux/usr/share/terminfo/z/z8001 14:14:54 grrr 14:15:05 fsck 14:15:18 that screws me over BIG TIME 14:15:46 i dont want one set of freekin extensions for linux and another for fbsd 14:15:56 no 14:15:57 you're wrong 14:16:00 there's terminfo elsewhere 14:16:19 oh i don't have terminfo instlaled even 14:16:22 THE standard place for it is in either /usr/share/terminfo or in ~/terminfo 14:16:29 you have ncurses 14:16:32 no ? 14:16:48 don't use /usr/compat/linux 14:16:55 im not about to 14:17:05 holy crap do i hate ncurses. 14:17:12 i have ncurses but i think it uses termcap 14:17:36 isforth needs terminfo files :/ 14:17:42 ncurses can only use terminfo. there is a termcap compatibility layer in it, which translates terminfo to a libtermcap api 14:18:31 are you sure you have ncurses installed ? 14:18:33 terminfo is not not too bad. i'm just annoyed that on my system i'm required to link to ncurses to use terminfo library. 14:18:50 terminfo is SERIOUSLY broken 14:18:51 oir 14:18:51 I440r, its part of the base system 14:18:51 or 14:18:55 maybe he just has bsd curses installed and has a ncurses symbolic link? 14:18:55 I440r, so yes its installed 14:18:59 rather all terminfo database files are braindead 14:18:59 I440r, but it uses termcap not terminfo files 14:19:10 /usr/lib/libncurses.so 14:19:10 /usr/lib/libncurses.so.5 14:19:13 slava isforth requires terminfo files :( 14:19:21 or 14:19:25 I440r, make the terminfo file path configurable 14:19:26 I440r_, the data in terminfo is the broken part. yes:) 14:19:28 I440r, hard-coded paths suck 14:19:28 some of its extensions do 14:19:38 in general unix has terrible terminals. 14:19:52 slava terminfo itself hardcodes it to /usr/share/termino or ~/.terminfo 14:20:05 that is THE accepted standard for the terminfo database 14:20:21 well bsd uses termcap and always has 14:20:34 termcap is like so last century lol 14:20:38 termios, allocation pseudoterminals, termcap, terminfo, ncurses, etc. all have been a massive pain in the ass. 14:20:41 but its more powerfull in some ways 14:20:54 parsing terminfo and termcap database files is VERY VERY forthlike 14:20:56 I440r, well, if you used libc and libncurses it would Just Work :-P 14:21:13 it's *easier* to write an X11 program or an OpenGL program than it is to write a program that can reliably draw something on an old terminal 14:21:16 slava no. i wont use ANY external libs in isforth 14:21:32 slava can you install terminfo ? 14:21:47 isforth is running in fbsd 14:21:48 I440r_, yea. i think the file format for termcap/terminfo isn't too shabby. i like stuff that takes little effort to parse. 14:21:51 YAY! 14:21:56 I440r, there is no terminfo 14:21:59 i thought you would never support fbsd? 14:22:02 > locate terminfo | grep ports 14:22:02 yes there is 14:22:05 gives nothing useful 14:22:17 im supporting slava 14:22:19 best i can do is symlink /compat/linux/usr/share/terminfo to /usr/share/terminfo 14:22:36 try that 14:22:44 im not sure if thats how your expected to do it tho 14:23:06 * OrngeTide wonders why he has /etc/terminfo/ and /usr/share/terminfo/ 14:23:22 because 14:23:30 oh. /etc is for apps that might be on / 14:23:43 right 14:23:45 hrm 14:23:45 much more limited database. but at least i can run vi 14:23:52 maybe isforth should use that then 14:24:29 I440r, done 14:24:37 i have no /etc/terminfo/ 14:24:44 if you didn't need it to work in telnet/ssh/xterm you should have use /dev/vcsa 14:25:00 fbsd doesn't have that either ;) 14:25:08 ok the terminfo stuff segfaults hehe 14:25:08 does fbsd have anything? 14:25:47 it has no useless junk 14:31:33 whats the default terminal in fbsd ? 14:31:38 in linux its "Linux" 14:31:48 vt100 ? 14:32:03 lemme chec 14:32:14 cons25 14:32:25 i presume it will be cons50 etc depending on rows of your console 14:33:10 ca you cd into my ~/isforth and run ./isforth ? 14:34:00 ok 14:34:21 > ./isforth 14:34:21 Bad system call (core dumped) 14:34:32 oh wait 14:34:34 bad system call ??? 14:34:36 cool! 14:34:42 that means its fixable hehe 14:34:43 let me do that agian 14:35:00 there must be some syscalls in the extensions 14:35:06 oh shit thats problematical 14:35:11 > ./isforth 14:35:11 Segmentation fault 14:35:21 i ran the wrong isforth 14:35:26 because i copy your dir to my home dir and run it there 14:35:37 oh hehe 14:35:47 want to see a copy that DOESNT segfault ? 14:36:02 because usr 'slava' doesn't have access to /home/i440r and i never run other ppl's stuff as root :-P 14:36:55 makes perfect sense to me 14:37:11 copy it out of my ~ as root to ~/slava and chown it :) 14:37:30 run this one - it works 14:37:35 but it has no terminal stuff in it 14:38:08 cool 14:38:39 your .s is wrong order :) 14:38:46 i need to get that terminal stuff working in BOTH linux and fbsd with IDENTICAL extensions 14:38:50 what does .r do? 14:38:58 right aligned 14:39:06 it prints an endless loop of spaces with an empty stack :) 14:39:09 what order should .s be? i've been both 14:39:29 1 2 3 .s 1 2 3 ok IMHO 14:39:49 that's hard to do in machineforth... 14:40:00 thats hard to do PERIOD hehe 14:40:14 when does it do an endless stream of spaces 14:40:15 but i guess a regular forth you can just address the stack directly. 14:40:39 (by hard i mean under no circumstance should you attempt to do it) 14:40:48 who cares about machineforth :) 14:40:53 give me my p4 2.8 ghz dammit :) 14:41:02 a p4 running machineforth vm? :) 14:41:08 no 14:41:13 a p4 running a BLOATED fbsd with gui :-P 14:41:15 oh lol 14:41:21 .r takes a parameter lol 14:41:24 a width 14:41:31 I440r, why don't you use a guard page to detect underflow? 14:41:37 i should write machineforth for java. then i can run a vm in a vm. 14:41:39 n width .r displays n right aligned to width chars 14:41:49 ( 0 ) drop 14:41:49 ERROR: Operating system signal 10 14:41:56 slava ill put signals in there eventually 14:42:15 .s ok 14:42:15 drop Stack Underflow 14:42:32 yes but your underflow check is in the outer interpreter 14:42:36 man im soooooo freekin glad i got this runnin 14:42:44 eg, it won't due with 'drop 2' :-) 14:42:45 but i have to get it working with the terminal shit too! 14:42:48 yup 14:47:21 --- join: ADD-101 (~ADD-101@12-222-128-22.client.insightBB.com) joined #forth 14:47:36 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 14:48:00 whose bit is add-101 ? 14:48:08 i have to assume its a bot cuz it never talks 14:48:28 Either that or he's very shy. 14:49:26 :) 14:50:14 my forth will only support framebuffer devices. then i can nicely side-step all this terminal crap. it will be easier and I can pretend it's a feature rather than me just being lazy. 14:53:10 OrngeTide, heh 14:53:13 OrngeTide, SDL? 14:55:46 --- quit: ADD-101 (Remote closed the connection) 15:00:50 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 15:04:20 ( 1 ) 2 2 * . 15:04:20 0 15:04:23 hrrmmph err... 15:04:29 err where u get that ? 15:04:32 in factor 15:04:35 oh hehe 15:04:36 phew 15:04:37 i'm working on some changes to the C code 15:04:42 to get it 64-bit clean 15:04:53 define clean ? 15:05:05 working on a 64-bit arch 15:05:09 OH FUCK look at this 15:05:12 CORRECT: ((xprod << HALF_WORD_SIZE) + lprod); 15:05:18 BEFORE: (xprod << HALF_WORD_SIZE + lprod); 15:05:24 hehe 15:05:30 precedence of << 15:05:33 i hate this infix math bullshit 15:05:39 ya 15:05:46 neway time to disappear for home 15:05:49 brb 15:05:53 --- quit: I440r_ ("gone home") 15:17:10 slava, nah. i'd just use a real framebuffer and avoid too many library depedencies. 15:17:33 (like i said. i'm lazy) 15:17:46 --- quit: OrngeTide ("time to go") 15:19:21 --- quit: FlamingRain ("Leaving") 15:57:47 --- quit: Topaz ("Leaving") 17:02:15 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 17:02:15 --- mode: ChanServ set +o kc5tja 17:06:42 Well, this just sucks. Starting September 13th, I am going on graveyard shift. 17:06:44 >:/ 17:07:10 Maybe if I'm lucky, I can do some coding on FTS/Forth from remote, but still, it also means I won't have anyone to talk to on IRC, and nobody to talk to via e-mail either. *sigh* 17:08:06 hi kc5tja 17:11:46 * kc5tja sighs -- brb -- gotta reboot a server 17:11:50 * kc5tja is still at work. 17:15:23 That was easy. The server apparently was being rebooted by another technician. Joy. 17:16:16 kc5tja: what hours? like 11pm-7am? 17:17:36 kc5tja: bad time for irc 17:17:43 kc5tja: does it pay more that way? 17:17:57 --- join: Sonarman (~matt@adsl-64-169-94-26.dsl.snfc21.pacbell.net) joined #forth 17:22:15 10PM to 7AM. 17:22:21 No, same pay. 17:22:40 Also, only two days off instead of three. Pissy!! 17:22:50 But, at least I can SSH into my box at home and hack on stuff. 17:23:07 Even if I can't reboot the server into L4. :) 17:23:26 Although, if someone were to donate a nice laptop capable of running Linux, I could definitely work on the L4 version of FTS/Forth then. 17:23:42 (don't do that until I'm ready for it though. And it won't be ready at least until FTS/Forth for Linux is running.) 17:23:44 :) 17:24:16 you expect to have lots of free time on that shift? 17:24:21 Damn, my lunch hour is now over. *sigh* 17:24:26 I know I will. 17:24:29 Especially over the weekends. 17:24:32 well that's cool 17:24:53 If the day shift does their job, the case board will typically only have 5 or so cases, and we can blow through them really easily. 17:24:55 I do 17:25:05 I hate interruptions though 17:25:11 Me too. 17:25:30 fridge: you do what? 17:25:38 nightshifty type work 17:25:49 playing mr fix it in the wee hours 17:25:59 fridge: So you're available to chat in IRC during graveyard hours? 17:26:13 get some stretches of free time, but it seems whenever I start to get involved with something interesting 17:26:21 something work related will catch on fire 17:26:34 kc5tja: not your graveyard hours 17:26:35 I know the feeling. 17:29:06 11:48:18 on the plus-side, we have complete freedom (of course this is useless, at least for me, working on a mac) 17:29:09 11:54:19 qFox, Ircle used to be popular. 17:29:11 sorry 17:29:12 MMB 17:29:21 first time in months. i'm getting better! 17:29:48 lol 17:34:51 Heheh 18:04:41 --- join: TheBlueWizard (TheBlueWiz@modem-129.nyc-tc03b.FCC.NET) joined #forth 18:04:41 --- mode: ChanServ set +o TheBlueWizard 18:05:11 re TheBlueWizard 18:05:34 kc5tja hiya 18:07:40 TheBlueWizard: Still at work. 18:07:54 Going to go graveyard starting on 2004sep13. 18:08:11 ugh 18:08:35 In many ways, I agree with you. 18:09:04 OTOH, and almost certainly for the weekends, it also means up to six hours a night just hacking on my FTS/Forth for Linux implementation too. 18:09:07 :) 18:09:39 * slava is splitting a 7k line java file into manageable chunks 18:09:48 i hate this 18:09:50 That is probably a good idea. :) 18:10:20 hmm...I never have done a graveyard shift, so I can't say... :-P 18:11:53 In this industry, MOST people that late at night won't flood our phones with actual work to do. 18:13:50 heh...point 18:34:46 slava: there are Java refactoring toolkits...have you checked them out? 18:35:30 * TheBlueWizard hasn't looked at any of those refactoring toolkits though :) 18:35:30 nah i do it by hand :) 18:35:44 heh...ya macho guy :) 18:36:00 TheBlueWizard, i'm going to be making some automatic refactoring tools for factor though 18:36:41 "factor" is some new language? 18:37:12 factor.sf.net 18:37:23 ah ok 18:58:05 one good entry in the irct animation contest: http://www.irtc.org/ftp/pub/anims/2004-07-15/dlights.mpg 19:10:51 I love it when our customers get the following error message: 19:10:52 The system cannot boot because the following file is missing: 19:10:52 \system32\ntoskrnl.exe 19:10:55 Please install a copy of this file and try again. 19:11:13 well, you know, windows sucks... :) 19:11:30 oh nice...ha ha ha! 19:11:54 Yeah. :D 19:14:41 * TheBlueWizard laughs...he has seen some weird Winblows behaviors at work...though for the most part it's surprisingly stable (contrary to hearing stories of Windows constantly crashing on Slashdot, etc.) 19:14:57 the big problem with windows now is not stability but security 19:15:05 an unpatched windows box lasts 20 mins on broadband 19:16:23 yup...that's a big problem....and I'm the security guy for Winblows at work (at the moment anyway...) 19:16:29 --- nick: Tomasu -> TomasuDlrrp 19:17:07 That's because Slashdotters (a) are a bunch of new-age crybaby freaks of nature that don't know a fuckin' server from a hole in the ground, and (b) they have no freaking clue how to manage a Windows box to save their life. 19:17:18 My complaints against Windows are purely technical, reaching deep down into the kernel level. 19:17:45 * TheBlueWizard nods 19:17:53 But many of the complaints of other /.ers is rediculously skin-deep -- hardly kernel-level issues, and quite often, these same people are those who have HIGHLY customized desktops with specialized shells that completely replace explorer.exe, etc. 19:18:03 Gee, I wonder why everything is so damn unstable. Freaking morons. 19:18:21 there are so many wrong things with Winblows...a real pain to maintain 19:22:09 Well, take it from me, a similar case can be made for Linux too. 19:22:42 * kc5tja has yet to touch a BSD box except to reboot it though (and the reboots are necessary only because the cage it's in is something close to 80 to 85 degrees consistently.) 19:23:15 yeah...it can be hard to figure out which file govern the settings, for example (they are scattered all over :P) 19:29:23 linux isn't very approachable 19:29:46 hi Herkamire 19:29:49 you can't turn it on, and poke around to try to figure out how to use it 19:29:52 hi slava :) 19:31:04 I split some blocks, and rewrote some of herkforth 19:31:12 cool 19:31:22 i'm working on 64-bit cpu support in factor 19:31:22 now it will fit on a 40 line terminal 19:31:27 :) 19:33:12 eurika! 19:34:24 "eureka" is the correct spelling :) 19:34:49 Heheh -- 40 line terminal. :) 19:35:06 TheBlueWizard: thanks. didn't look right 19:35:09 kc5tja: what? 19:35:56 kc5tja: do you work in 80x25? 19:36:32 Many times, yes. 19:38:21 I'd love to have the source split up better, but it's only recently that I've improved the ascii import/export so that I can LOAD blocks out of order 19:38:33 Hehe :D 19:38:41 so until recently, if I wanted to add something, I had to make blocks bigger 19:38:42 Herkamire, you're talking to a man who used to write 7000 line java files in a past life 19:38:53 Herkamire, so don't tell me YOU need to split your sources better :) 19:39:08 * kc5tja would like to have a more logical organization, that approaches the simplicity of straight-up blocks, but still gives me additional capabilities without much expense.s 19:39:16 slava: I need to split my sources better 19:39:43 kc5tja, its called files 19:39:57 slava: Files do not approach the simplicity of blocks. 19:39:58 most of the big blocks I have, have stuff that I would put in different catagories. they would be easy to split logically. 19:40:08 Also, files must be explicitly opened, closed, seeked through, etc. 19:40:21 files are a PITA 19:40:21 You just can't use them like you can blocks, which mimicks virtual memory in its usage. 19:40:34 PITA, perhaps, but nonetheless a necessary evil. 19:40:44 I like having source in small, manageable bits that fit on the screen 19:40:53 Files == objects, btw. And a flat organization is very doable. 19:41:14 I'm not with you on FILES==object 19:41:15 s 19:41:24 A file is just a chunk of bytes. 19:41:25 files have an API I don't like 19:41:30 They can be referenced by number only. 19:41:38 There is no need to reference them by name all the time. 19:41:43 kc5tja, write words to load/save entire files as strings... 19:41:46 they are referenced by name/path 19:42:05 Herkamire: Not *always*. 19:42:16 Even Unix references files by inode number. 19:42:24 Don't believe me? Do an ls -i some day. :) 19:42:39 kc5tja: neat 19:42:45 The filename/directory thing is just a user interface issue. 19:42:48 It's not a strict necessity. 19:43:02 kc5tja, you can't open a file by inode # for security reasons 19:43:24 I don't like the open(append/clear/overwrite)/close/read/write/seek API 19:43:24 Folks, please stop confusing little, insignificant details with the core concepts. 19:43:38 You can't do this...you can't do that...files are references by....who cares? 19:43:46 The point is, it doesn't HAVE to be that way. 19:44:45 Herkamire, why not? 19:45:09 slava: Because it gets in the way of getting real work done. 19:45:32 i've never had a problem coding with file apis in java or unix libc 19:45:40 yeah. indeed, at least in the past one can literally treat the directory as if it were a file, and read the content, which looked something like this: a sequence of (filename: 14 chars) (inode number) 19:45:42 I hate it. 19:46:00 I've never "had a problem" either, but it ... is ... just ... such ... a .... CHORE! 19:46:11 kc5tja: exactly 19:46:31 Blocks are damn sweet because, like I said, it actually has virtual memory semantics. 19:46:42 i still don't see why its a chore 19:46:51 int fd; 19:46:52 you can wrap file streams in higher level abstractions 19:46:57 123 BLOCK returns the in-memory address of block 123. If it's not there, it loads it. If it has to evict another block to do so, it does. Etc. 19:47:08 Herkamire: what do you think of REBOL's approach to file I/O? 19:47:09 fd open( bla blabla bla, bla, bla); 19:47:12 slava: Abstractions, on top of abstractions, on top of abstractions . . . where does it stop? 19:47:21 if(fd == -1) { bla bla bla } 19:47:31 char* buff; 19:47:32 Herkamire, the thing is you only write that once if you wanted to 19:47:44 nobody is forcing you to duplicate your code 19:47:54 buff = malloc(...how do you get the size of a file?); 19:48:30 /* FIXME: check for error */ read(fb, buff, SIZE_OF_FILE); 19:48:35 close(fd); 19:48:36 no, you use a growable buffer 19:48:56 or you use stat() 19:49:08 growable buffers arent supported in 2.2 kernels i dont believe 19:49:15 I440r, its not a kernel thing 19:49:17 if you want backwards compat yer secrewed 19:49:17 you read some bytes 19:49:19 append to your buffer 19:49:23 oh 19:49:26 if its not big enough, allocate a new one 19:49:30 etc 19:49:33 i thunked you meant grows down buffers for stacks :) 19:49:46 my point is it's 5 lines of code, just to get access to the data in a file, and it's still crappy code. does not do full error checking etc. 19:49:53 I get the size of a file by seeking to the end, and then seeking to the beginning of the file again. 19:50:39 Herkamire, its 10 lines if you do it properly, and its 10 lines that you only write once 19:50:54 slava: bull 19:51:07 Once per program, maybe. 19:51:17 then make a library 19:51:37 slava: You gave me an idea which I'm going to play with, earlier up. 19:51:42 how about I make an OS? 19:52:01 slava: The idea is that blocks are fixed in size. Files aren't. But if I reference a file by number too, then it can still have cache-like semantics. 19:52:12 I'm not sure how I'd be able to grow the file, I'll get to that later. 19:52:15 still i wouldn't bother caching file contents 19:52:19 the kernel does it for you 19:52:27 or just mmap your files 19:52:36 But, that being said, I can say something like, "123 FILE" and have it return the base address of the file. I can then use @ and ! to update the contents of the file, and use UPDATE-FILE or something to mark it as dirty. 19:53:23 data that changes length can be tricky 19:53:27 because then it must be able to move 19:53:38 seems like that will be a bit of a pain. 19:53:43 but not too bad I think 19:53:44 memcpy() 19:53:45 I'll get to that later 19:53:47 realloc() 19:53:49 trivial 19:53:56 talking about in herkforth. sorry I didn't specify 19:54:00 oh :) 19:54:05 brb -- have to do facilities monitoring now. 19:54:40 I haven't totally figured out how I'm storing data 19:55:35 there will certainly have to be some additions when I start having large/many data files 19:56:21 but that might be as simple as making it so bootstrapping/saving doesn't make a complete copy of _everything_ 19:57:09 i'm kind of stuck on some memory management details 19:57:22 when i start having compiled code, i'd like to keep it in a separate heap, to help the cpu cache 19:57:39 but this causes complications if the compiled code refers to objects in the data heap 19:57:45 eg, if you compile a word that has a literal string in it 19:58:00 since objects in the data heap can move around 19:58:26 either i'd have to use a non-moving collector, or store a separate table of offsets in the compiled code where pointers to the data heap are 20:03:31 how can they move around? 20:03:38 you must keep track of them somehow 20:04:11 compiled code would use the same system to keep track of them 20:04:35 well, right now the gc knows the structure of all heap objects since there's only a handful of cases 20:04:43 eg instead of a direct literal, it'd contain a painter to a pointer to where the data currently is, and would dereference at runtime 20:04:44 but for compiled code, you can't really have the gc do disassembly ;) 20:04:51 that's possible 20:05:01 have compiled code reference a table, and the gc treats the table entries as roots 20:06:34 well, gotta go...all bye! 20:06:49 --- part: TheBlueWizard left #forth 20:14:57 back 20:17:46 slava: That is essentially what Smalltalk does. 20:29:31 Also MacOS does the same thing, although it doesn't do garbage collection. 20:30:25 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 20:30:44 hi arke 20:30:51 hi kc5tja :) 20:31:43 --- quit: arke (Client Quit) 20:36:10 ahhhhh that bath felt good 20:38:20 Wow. 20:38:24 Arke really needs to learn patience. 20:39:31 lol 20:48:51 --- quit: Herkamire ("leaving") 20:53:11 --- join: snowrichard (~richard@adsl-068-209-159-248.sip.shv.bellsouth.net) joined #forth 21:23:16 re snow 21:23:21 re snowrichard 21:23:22 rather 21:23:23 :) 21:23:36 * I440r is making 223's with a lee loader lol 21:23:48 like one eveyy minute or so 21:23:57 What? 21:24:02 You totally lost me on that. 21:24:15 ammo for my ar-15 21:24:52 oh. 22:01:18 --- quit: TomasuDlrrp (Read error: 110 (Connection timed out)) 22:04:41 Hey, I'm going home. I'll log in in about a half hour to an hour or so, depending on how fast I can wrap things up in the office. 22:05:06 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:54:04 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 22:54:04 --- mode: ChanServ set +o kc5tja 22:54:21 hey kc5tja 22:55:29 slava im 99% posative i know how to fix isforth in fbsd :) 22:55:43 its not the terminal stuff. its the mmap syscall my memory manager makes 22:55:48 it uses the LINUX method lol 22:55:55 not the fbsd method/ 23:04:00 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 23:55:56 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 23:59:59 --- log: ended forth/04.09.03