00:00:00 --- log: started forth/04.09.07 00:00:03 i dont have cable or satelite or whatever 01:15:06 --- quit: wossname (Read error: 242 (No route to host)) 01:55:46 wow its all quiet all of a sudden 01:56:03 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 01:56:06 for the last 3 hours anwyways 02:27:35 --- nick: cduce -> futhin 02:29:06 --- nick: futhin -> blahblah 02:29:49 --- quit: wossname (Read error: 110 (Connection timed out)) 02:29:52 --- nick: blahblah -> futhin 02:33:14 --- nick: futhin -> thin 02:48:50 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 03:41:30 --- quit: wossname (Read error: 113 (No route to host)) 03:51:12 --- join: crc (crc@52-pool1.ras11.nynyc-t.alerondial.net) joined #forth 03:53:12 --- quit: ChanServ (Shutting Down) 03:53:28 --- join: ChanServ (ChanServ@services.) joined #forth 03:53:28 --- mode: irc.freenode.net set +o ChanServ 04:06:22 --- quit: ChanServ (Shutting Down) 04:06:38 --- join: ChanServ (ChanServ@services.) joined #forth 04:06:38 --- mode: irc.freenode.net set +o ChanServ 04:07:33 hi crc ! 04:07:55 Hi 04:07:59 do u know any more J2ME mail client ? 04:08:08 No 04:08:10 Mail4ME is _bad_ 04:08:14 :-( 04:08:28 There don't seem to be many free mail clients in Java 04:09:17 it shows setup screen at start, has damn long latency and shows only FROM field from MSG's - then i ask it to read, it constantly says 'network down' 04:22:50 --- quit: ChanServ (Shutting Down) 04:23:05 --- join: ChanServ (ChanServ@services.) joined #forth 04:23:05 --- mode: irc.freenode.net set +o ChanServ 04:34:40 * Serg_penguin is browsing ASCII ART sites 04:37:59 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 05:16:31 --- quit: tgunr ("Leaving") 05:16:44 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 05:25:21 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 05:27:10 --- quit: mur (Read error: 110 (Connection timed out)) 05:57:39 * crc hates 16-bit assembly 06:15:52 --- quit: arke (Read error: 110 (Connection timed out)) 06:21:49 --- quit: crc ("Time for bed... Goodnight!") 06:24:38 --- quit: tgunr ("Leaving") 06:27:52 --- join: arke (~Chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 06:28:27 it would really be nice if there was an SDL binding for ficl 06:28:47 its not hard to do, its just busy work 06:29:50 --- join: I440r_ (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 06:31:56 --- join: mur (~mur@smtp.uiah.fi) joined #forth 06:33:36 --- quit: I440r_ (Client Quit) 06:36:02 --- join: LuckyPhil (~phowlett@CPE-141-168-97-228.qld.bigpond.net.au) joined #forth 06:38:51 --- quit: mur_ (Read error: 60 (Operation timed out)) 06:43:52 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 06:43:52 --- mode: ChanServ set +o Herkamire 06:51:01 --- quit: Serg_penguin () 06:58:10 * arke is away: school --- anybody want to ... uuum ... create ficl SDL bindings? :) 07:01:24 --- part: LuckyPhil left #forth 07:49:22 --- join: mur_ (~mur@uiah.fi) joined #forth 07:57:27 --- join: arke-school (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 07:57:46 hiya 07:57:50 who's awake? :) 07:57:59 --- quit: mur (Read error: 110 (Connection timed out)) 07:59:34 #define AWAKE 08:00:12 yay 08:00:22 madwork: whats up? 08:00:55 Just workin'. Writing a bunch of Forthy scripts. 08:02:36 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 08:05:36 madwork: i get to write a ficl-SDL binding 08:05:46 nobody else has done that 08:05:49 :/ 08:05:57 what a pain 08:08:27 I'm not sure how FICL's user interface is. 08:11:29 its not bad, the only problem is that its horribly documented 08:11:38 you cant get _anything_ done unless you scan ficl.h 08:11:54 but on top of that, it provides an ANS forth 08:12:01 and you can add C functions 08:12:47 Yep. 08:13:10 JAVA 08:13:11 I think Forthy would be easier to interface to SDL. 08:13:31 But at this point, it's even more horribly documented. ;) 08:13:38 well, SDL has lots of functions etc. 08:13:39 :) 08:13:40 hehe 08:13:56 the guy who did ficl came in here once or twice, i think i annoyed him and he never came bacl lol 08:13:57 oopts 08:14:10 Sure. Forthy is all about exporting the C functions to the VM. 08:15:12 in ficl, you have to write wrapper functios 08:15:53 Yes, this is the case for most scripting systems. Mine follows a method similar to Lua's. 08:16:10 void _f_SDL_Init(ficlVm *vm) { ficlVmPush(vm, (ficlCell) SDL_Init(ficlVmPop(vm).i)); } 08:16:41 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 08:16:46 ficlDictionarySetPrimitive(dict, "SDL_Init", _f_SDL_Init, 0); 08:16:49 hi wossname 08:17:13 hi arke 08:18:44 static void word_fsub(FSYSTEM *sys) 08:18:44 { 08:18:44 double result; 08:18:44 08:18:44 result=fs_get_float(sys, -2)-fs_get_float(sys, -1); 08:18:46 fs_remove(sys, 2); 08:18:47 fs_push_float(sys, result); 08:18:49 } 08:18:54 fs_register_func(sys, "f-", word_fsub, FS_DEFAULT); 08:19:40 :/ 08:20:17 Same kinda deal, really. 08:24:42 yeah 08:30:38 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 08:30:45 oh well. just busy work 08:30:49 hi onetom 08:34:52 --- quit: onetom_ (Read error: 110 (Connection timed out)) 08:48:45 --- join: crc (crc@53-pool2.ras11.nynyc-t.alerondial.net) joined #forth 08:49:35 hi crc 08:51:15 Hi arke 08:51:37 * crc is exploring the mysteries of 16-bit x86 assembly language 08:51:55 I haven't used 16-bit assembly for anything other than a boot sector in years 08:51:57 hehe 08:52:06 ask me for help if you need it :) 08:52:10 16-bit is fun 08:52:13 Help! 08:52:21 * crc is doing a 16-bit version of RetroForth 08:52:26 crc: whats teh problem? :) 08:52:29 hehe 08:52:30 it doesn't work 08:52:39 I *think* it's PARSE or QUERY 08:52:42 But I'm not sure 08:53:05 /msg me 08:53:07 :) 08:53:09 l 08:53:11 ok 08:55:18 --- join: randolm (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 08:57:12 --- quit: mur_ (Remote closed the connection) 08:57:47 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 08:57:51 hi randolm 08:58:31 hoy 08:58:43 :) 09:02:31 --- quit: arke-school ("be back in a few hours") 09:10:43 --- quit: wossname (Read error: 110 (Connection timed out)) 09:19:56 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 09:25:00 --- join: FlamingRain_ (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 09:25:13 --- quit: FlamingRain_ (Read error: 104 (Connection reset by peer)) 09:30:35 --- quit: crc (Client Quit) 09:35:28 morning 09:36:48 --- quit: I440r (Nick collision from services.) 09:36:50 --- nick: I440r_ -> I440r 09:36:53 --- mode: ChanServ set +o I440r 09:36:59 --- join: I440r_ (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 09:44:51 --- nick: saon -> saon|other_compu 09:50:00 --- join: mur_ (~mur@uiah.fi) joined #forth 09:57:31 --- nick: saon|other_compu -> saon 09:58:36 good morning kc5tja 10:01:05 --- quit: mur (Read error: 110 (Connection timed out)) 10:01:41 --- join: Murrlin (murr@dialup-207-218-213-125.ev1.net) joined #forth 10:03:17 --- quit: Robert ("MONEY") 10:03:25 --- quit: Murrlin (Client Quit) 10:05:53 --- join: t35t0r (~xsc@cookeville-24-158-168-215.midtn.chartertn.net) joined #forth 10:06:02 " if the linux kernel was coded in forth my compiler would compile it in 3 seconds FLAT on an amd k6-3/550" heh can i quote you on that? 10:06:13 i'm gonna email it to torvalds 10:06:25 t35t0r, ive already talked to linus. he KNOWS forth 10:06:35 so why doesn't he make everyone use forth? 10:06:44 but he doesnt like languages without datatypes 10:06:54 no datatypes!!! 10:06:59 so its' like perl1 10:07:00 datatypes is the compilers way of playing mommy and holding the coders hand 10:07:06 err no way 10:07:13 perl has no datatypes 10:07:17 "typing is a crutch for poor programmers" 10:07:19 -- chuck moore 10:07:26 not explicit ones 10:07:33 any 10:08:01 "im sorry but im NOT going to allow you to store that CHARACTER in that memory cell because its reserved for BYTE info" 10:08:02 bleh 10:08:04 lol 10:08:20 well maybe the compile process is ridiculously fast as you stated, but how's the performance? 10:08:42 download the compiler and build it and see for yourself 10:08:59 try ./isforth -fload src/examples/window.f 10:10:05 datatypes are helpers for poor programmers? heh 10:10:11 crutches 10:10:18 same thing 10:10:22 ok lol 10:10:33 its the compiler being mommy 10:10:40 i'll just have ridiculously large variable names 10:10:41 and protecting the little children from themselves 10:11:01 intVar1, stringVar2 ? 10:11:35 anyways i'll go look for a win forth compiler 10:11:40 i don't have a nix computer 10:11:49 lol thats like verbose hungarian notation ??? :) 10:11:54 oh 10:12:00 well there are other forths for windows :) 10:12:12 but they arent as good as isforth *snicker* 10:12:23 i'm anti-variables 10:12:36 yea me too 10:12:36 fight the war against variables! 10:12:45 that's why i do most evertyhign in perl but its slow 10:12:50 really slow 10:14:39 why perl? use forth.. :) 10:14:42 t35t0r: I don't use windows, but winforth (and bigforth) run under windows 10:15:02 yea i will check out forth 10:15:02 gforth too if you have the cgi-win or whatever it's called 10:15:11 yea i have cygwin 10:15:28 cygwin, that's it 10:15:35 i just keep win around for matlab/maple/pspice/labview 10:16:15 isforth wont run in windows 10:16:20 not even in cygwin 10:16:38 yea cygwin only runs pcode 10:16:50 same as win binaries 10:16:59 with cygwin.dll layer 10:18:42 i wonder have some of the fft libraries and other number crunching libraries been converted to forth and if so how are the benchmarks? 10:19:23 google for iforth or marcel hendrics - if anyones done that he has :) 10:30:55 forth doesn't do so well in the shootout 10:33:07 because they used crap forths 10:33:30 i bet iforth would be at the VERY top of that list on most benchmarks 10:33:38 pcode? 10:34:35 Forth will never be as fast as raw C in performance. Most Forth implementations do not keep anywhere enough state information to enable processor-specific optimizations. 10:34:53 does iforth ? 10:36:08 iForth and bigForth both keep colon definitions in a DTC-like representation, which allows them to do high-level code optimizations (see the paper on RAFTS, by Ertl and Paysan). This is why I said *most* Forth compilers. 10:36:31 However, even true, native-code Forth compilers can't match the performance of C because, well, C is typed. 10:36:54 There are many optimizations you can do to boost execution speed if you have type information. 10:37:04 brb 10:38:13 --- join: mur (~mur@smtp.uiah.fi) joined #forth 10:40:13 the processors in our computers are designed for C 10:40:23 they don't really work the same way forth does 10:40:45 so optomizing forth to the extent that gcc optomizes C is a big job, and not always feasable 10:41:37 It is feasible. 10:41:39 ML proves that. 10:42:22 With Forth, it is trivially possible to perform what's called "type inferencing," which lets you deduce/infer the proper types the program deals with without having to explicitly declare or cast types all over the place. 10:42:56 But there has to exist a root-set of objects which are explicitly given types so that the inferencer doesn't wander off into space (and if it does, then you get a type error). 10:43:27 The thing is, in order for a type inferencer to work, you cannot support variable-length arguments (which, true, Chuck doesn't like at all either -- nonetheless, they're damn handy to have). 10:43:54 kc5 you mean things like foo ( ... ) ? 10:44:04 variable NUMBER of parameters ? 10:44:05 Now, the number of arguments a word takes can also be inferred (since it's a kind of type information) 10:44:30 I440r: Your example is meaningless. What doyou mean "things like foo ( ... ) ?" 10:44:50 ... is used in c to say an unknown number of other parameters 10:45:01 look at printf 10:45:06 Yes. 10:45:11 Forth fully supports varargs. 10:45:19 It also supports something C doesn't -- varresults. 10:45:25 yup :) 10:45:25 Consider FIND in most Forths. 10:45:48 ( n1 --- n2 true | false ) 10:45:51 All that goes away if you want type inferencing, static type checking, and therefore, the performance optimizations that such things enables. 10:46:01 returns n2 true or it returns a JUST a false 10:46:06 thats not for find tho lol 10:46:27 that would be ( a1 --- [ a2 t | 1 ] | false ) 10:46:45 ?? 10:47:12 FIND ( naddr -- xt 1 | xt -1 | 0 ) 10:47:26 if find finds what your searching for it returns the CFA of the word plus a flag which will be either true or 1 depending on weather or not the word is immediate 10:47:33 my notation says exactly what yours does 10:48:00 No; if you flatten it out, it reads a2 t | 1 | false. 10:48:01 [ maybe these ] | this 10:48:24 it will return everything between the [ ] or the other singele item 10:48:30 I think you probably meant: [ a2 [ t | 1 ] ] | false ] 10:48:33 its a standard notation 10:48:43 So standard I've never seen it. 10:48:44 ugh. why wrap everything in [ ] 10:48:52 kmc5 is simply splitting hairs 10:48:57 kc5 even 10:49:10 Because [a2 t | 1] is no different from ( xt t | f ) 10:49:22 If you're going to follow a syntactical rule, follow the rule consistently. 10:49:23 who cares about optimizing forth, its already blazing fast ;) 10:49:30 correct but thers ANOTERH OR OPERATION THERE 10:49:43 you dont want ( --- a | b | c ) 10:50:10 I440r: Yes, there is another OR operation. That is precisely the source of the error: AND binds higher than OR. 10:50:17 And binds to the left, not the right. 10:50:23 err no it doesnt 10:50:28 thers no presidence at all 10:50:31 OK, whatever. You keep on dreaming. 10:50:42 thin: That's a provable fallacy. 10:50:44 --- quit: mur_ (Connection timed out) 10:50:46 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 10:51:00 ( a1 --- [ if we return an address we also return one or other flat ] otherwise we reutn just a flag 10:51:14 kc5tja: well i was talking more in the sense of a forth program vs a c program if both are large nontrivial programs 10:51:18 your simply being arguementative 10:51:29 my notation is correct 10:51:37 I440r: Says who? 10:51:41 I don't see how type checking helps optomization 10:52:02 kc5 who says its wrong 10:52:03 you ? 10:52:04 fine 10:52:22 Herkamire: Type checking imposes guarantees on how values are used. You can't add two pointers, for example. That enables the optimizer to make assumptions about how code will be used 10:52:33 sounds logical to me 10:52:45 so type checking has to be done at compiler time 10:52:50 I440r: says me and the rest of the computer programming world, that's who. C'mon man. Get a clue for a change, and stop being different for the sake of being different, then claiming we're so damn argumentative. 10:53:34 hahaha 10:53:42 kc5tja: I don't see how that would help. are you trying to use special purpose registers or something? 10:54:11 I440r: can you code in x86 asm? 10:54:30 Herkamire: no 10:55:05 Herkamire: If you can guarantee invariants about how data is going to be used statically at compile-time, like I said, you can make assumptions about how to re-organize code. 10:55:08 I don't see how it helps to know that two things won't be added together 10:55:24 yeah, I guess 10:55:41 it's just that as far as I'm concerned they are all integers. 10:56:00 But pointers are not integers. 10:56:06 They can be represented as such inside the computer. 10:56:16 But from a logical perspective, they're references. 10:56:22 the only thing I can think of that that sort of information would be useful, is for special registers. eg r0 on ppc behaves differently for a few instructions. 10:56:40 you can subtract pointers 10:57:34 --- join: Topaz (jonny@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 10:58:24 You can subtract pointers only if (1) they point to the same kinds of objects, and (2) they both point inside an array of said objects. If they don't, the result is completely and utterly meaningless. And even then, you still need to divide by the size of the object to get a delta index. (I can't conceive of any other reason why you'd want to subtract pointers otherwise.) 10:59:10 generally to see how much is between them 10:59:28 Look, I'm neither arguing for or against pointers. I'm just saying that there exists a set of optimizations which are enabled by the knowledge of types. 10:59:30 eg subtract the bigining of the dictionary from the end to get the size 10:59:44 s/pointers/types/ 11:00:14 I'm sure you're right in general. 11:00:19 t35t0r, yes 11:00:23 The biggest advantage to types is knowing how big they are at compile-time, so you can pre-allocate space on the stack frame, or whatnot. 11:00:46 assumptions (correct ones) tend to lead to optimizations. 11:00:57 unfortunately, I've had way to many experiences where typing got in my way 11:01:13 herkamire: yeah? how did they get in the way 11:01:21 I'm happy to have a programming environment that has no concept of a type-error 11:01:23 Reading Baker's document on lazy allocation, for example, where *ALL* program objects are allocated on the stack, but moved to the (garbage collected) heap only when absolutely necessary is a brilliant example. It's just not possible to do in Forth because, in Forth, structures are just arbitrary bags of cells. There's no innate way to determine the size of a structure. 11:02:00 couldn't you determine the size of a structure by looking at the forth code? :) 11:02:12 yeah, I can see it would be hard to optomize forth because it would be hard to tell what stuff is 11:02:24 thin: That is type inferencing. You're still statically typed even if you don't explicitly give a type. 11:03:37 I want to point out that ML uses type inferencing to also perform memory usage inferencing too! As a result, ML-compiled programs run very fast, and actually have only moderate memory requirements, since the overwhelming majority of space allocated never needs to be garbage collected all that often. 11:04:10 But then, ML performs something like 24 passes over the compiled source code too. Compilation is very slow, but the results are outstanding. 11:04:46 do you happen to be familiar with smalltalk too? 11:04:46 ml sounds pretty cool 11:04:51 i wonder how smalltalk & ml compare 11:05:03 thin: They don't. 11:05:07 i still haven't got the hang of ;s in ML 11:05:14 I had a friend telling me how wonderful ml was, and I read about it. seemed pretty cool. but I couldn't get it to run 11:05:18 Smalltalk is like Forth -- typeless, or more accurately, dynamically typed. 11:05:25 ML is very rigid, strongly typed, etc. 11:05:36 if there's an open source ml that would run under ppc linux I'd like to hear about it. 11:05:39 Smalltalk is object oriented, ML is functional, etc. 11:06:01 Herkamire: There isn't? 11:06:09 there might be now. 11:06:17 I didn't have luck finding one a couple years ago 11:06:20 I thought stuff like SML/NJ runs everywhere. 11:06:29 or I found one and it didn't work... I forget 11:06:39 http://caml.inria.fr/ -- I suspect that if you'll find it, it'll be here. 11:06:41 I'm pretty sure I tried that 11:06:57 (sml/nj 11:07:09 Personally I'm using OCaml, but I don't know about PPC support... 11:07:46 Google for PowerPC site:caml.inria.fr -- the results indicates that PPC is supported. 11:08:06 i tried ocaml, but my inability to understand where to put the ;s stumped me slightly... heh 11:08:18 Topaz: :D 11:08:32 i did write a semi-functional IRC server in it though 11:08:36 a strange first-project, admittedly 11:08:44 Hehe. 11:08:55 but my trying to keep the compiler happy descended into randomly putting ;s in until it stopped complaining 11:09:07 Good method. :) 11:09:36 most OCaml tutorials seem to subconciously assume a familiarity with ML 11:09:52 (ML programmers probably can't understand how people can possibly find it confusing ;) 11:14:33 --- quit: randolm (Read error: 60 (Operation timed out)) 11:15:10 Forth programmers can't find any reason why it's confusing to others either. 11:16:26 It isn't. 11:17:19 :D 11:17:38 C is confusing :P 11:17:46 Nahhh 11:17:47 c is write only :) 11:17:48 "why is C so stupid??" :P 11:18:32 i feel bad for people that learn the imperative paradigm before learning forth or lisp 11:18:33 Hey, I'll be right back. I have to talk to the landlords about renewing my lease. 11:22:10 ugh 11:22:23 can someone read man tzfile and tell me if THEY understand it ? 11:22:54 haha 11:22:55 it took like two reads of man terminfo to understand that enough to start parsing terminfo files... i dont understand how to parse timezone files at all 11:22:59 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 11:24:46 where can i get the source file for time ? 11:24:54 cuz that man page is next to useless to me lol 11:27:27 still don't understand what exactly you are trying to do 11:27:35 are you looking for header files 11:28:05 --- quit: mur (Read error: 60 (Operation timed out)) 11:28:25 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 11:30:38 cool. caml-light installed fine. 11:30:51 now I need to learn a bit of ml again :) 11:31:20 well, I'm back to werk. bbl 11:36:55 no. im trying to figure out how to interpret /etc/localtime 11:36:56 --- quit: arke (Read error: 54 (Connection reset by peer)) 11:37:08 so i can get the local offset from gmt 11:37:41 --- join: arke (~Chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 11:42:15 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 11:43:30 I440r: maybe you should look up the program which creates those files 11:43:35 i forget its name 11:43:46 look up its code 11:44:02 but its in one of the man pages 11:44:32 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 11:46:03 I440r: man tzfile 11:52:25 --- quit: saon ("Leaving") 11:52:38 --- quit: t35t0r ("ircN 7.27 + 7.0 for mIRC (2002/01/10 00.00)") 11:56:31 --- join: warpzero (~warpzero@mi018.dn178.umontana.edu) joined #forth 12:09:02 kc5tja, the xp ebook kept mentioning CRC, is that cyclic redundancy code ? 12:09:53 thin, yes 12:10:27 slava, what does it mean? 12:13:02 thin: No. It's something meaning "Code ???? Card". I don't know what ??? means though. I forgot. It's on the C2 Wiki somewhere though. 12:13:36 here i go, confusing people again :) 12:13:43 Anyway, I have to get to cleaning the house and all, so I will be afk for most of today. 12:15:30 now, the fun challenge of installing Gentoo/MIPS on a SGI O2 12:15:45 "class-responsibilty-collaboration" apparently 12:19:33 hmm cypress hill rocks 12:34:52 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:39:07 --- quit: tathi (Client Quit) 12:43:36 --- join: mur_ (~mur@uiah.fi) joined #forth 12:55:23 --- quit: mur (Read error: 110 (Connection timed out)) 13:00:25 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 13:00:44 hi saon 13:01:28 hello slava 13:07:34 good morning slava 13:07:43 and saon 13:09:59 man tzfile seems readable to me 13:10:22 subversion is the highest ideal! 13:10:30 subversion is nice 13:10:34 ok. how do i extract the local offset from gmt ? 13:10:37 i dont get it 13:10:45 it's sometimes quite annoying to install though 13:11:09 i did find a bug in the fbsd version of the man page tho :) 13:12:42 I440r: it's not that simple 13:12:47 there's daylight savings time 13:13:02 the offset depends on what time of year it is 13:14:24 ok. so - that man page isnt very helpfull is it 13:15:35 :/ 13:17:46 so i guess i better go dig out the sources to localtime() 13:17:47 ugh 13:19:07 --- quit: saon ("Leaving") 13:29:49 ok - i think ive got a better chance of becoming the POPE than i do over ever understanding THAT mess 13:32:05 dammit i need to write a proper assembler instead of this ad-hoc mess 13:32:14 i have like 5 words for outputting different forms of MOV 13:32:17 so do i 13:32:22 and one of them is broken 13:32:26 i'm not sure which :) 13:34:37 I440r, do you know of any tool that i can run my program under, and then disassemble arbitrary memory regions that i specify 13:34:40 could gdb do this 13:34:57 yes it can! 13:35:04 gdb wont disassemble arbitary addresses - unless they just happen to belong to your process 13:35:10 --- quit: mur_ (Remote closed the connection) 13:35:24 under windows i would say use softice :) 13:35:33 that will disassemble ANY address in memory 13:35:42 --- join: mur (~mur@smtp.uiah.fi) joined #forth 13:41:28 I440r, look at my bizarro assembler syntax: 13:41:29 ( cell -- ) ECX [I]>R 13:41:29 DATASTACK EAX [I]>R 13:41:29 ECX EAX R>[R] 13:41:29 4 DATASTACK I+[I] 13:45:11 --- join: arke|school (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 13:45:16 hi 13:45:17 :) 13:45:22 hi arke 13:45:41 arke, can you recommend a very very simple x86 assembler in forth i can study? 13:46:28 pygmyforth 13:46:29 :) 13:46:34 that's 16 bit 13:47:44 yep 13:47:55 i need 32 bit :) 13:47:56 --- quit: arke|school (Client Quit) 13:48:53 very very simple x86 assembler AND 32 bit? oooh i'd like to see one :P 13:49:09 thin, well, you can just wait until i finish mine :) 13:49:13 i was writing one :) 13:49:25 but it's in c, oh no 13:49:27 thin, just be warned, i'm not interested in following nasm OR gas syntax ;) it will be a postfix assembler 13:50:06 cool 13:50:11 screw backwards compatibility 13:50:20 as long as its SUPER SIMPLE 13:50:27 other wise i won't respect you ;) 13:50:41 i hate all bloat, and i only respect forthers that follow forth philosophy 13:50:44 it will only do the opcodes that i need 13:50:49 for my STC 13:51:47 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 13:54:42 great 13:54:58 perfect! 13:57:48 thin, also i'm not sure if it will bring a benefit, but i want to investigate inlining certain words 13:58:21 another idea i had is if you have >r ... r>, instead of moving from ds to cs and back, use a spare register 13:58:39 but of course >r >r ... r> r> etc might need to move to the cs, since you'll run out of registers:) 14:13:09 that sounds more like forth implementation details 14:13:15 not strictly assembler 14:13:24 yes i know 14:13:32 the compiler will be a thin layer around the assembler 14:15:36 --- quit: warpzero (Excess Flood) 14:16:24 --- join: warpzero (~warpzero@mi018.dn178.umontana.edu) joined #forth 14:22:22 simple and x86 don't mix ;) 14:23:16 x86 is a magical architecture 14:24:16 its confusing how encodings are diffeerent for MOV's involving EAX 14:25:05 it's retarded that you have the same mnemonic for radically different operations 14:25:13 yes 14:25:18 there's like 10000 different forms of MOV 14:25:27 LEA is worse actually 14:25:57 isn't it great! 14:26:07 Hmmm... No. 14:26:15 the main reason for that is because of the whole EAX thing 14:26:32 i.e. the whole 32 bit thing 14:26:48 special treatment of EAX is a holdover from 8080 which just had one accumilator register 14:31:52 --- join: randolm (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 14:32:42 --- quit: wossname (Read error: 104 (Connection reset by peer)) 14:33:05 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 14:38:19 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 14:39:35 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 14:39:39 --- quit: randolm (Read error: 104 (Connection reset by peer)) 14:45:38 --- quit: mur (Read error: 110 (Connection timed out)) 14:49:02 --- quit: wossname (Read error: 60 (Operation timed out)) 15:17:10 --- join: mur (~mur@uiah.fi) joined #forth 15:20:10 --- quit: mur_ (Read error: 60 (Operation timed out)) 15:22:35 dlava ive been procrastinating writing an assembler for isforth for 3 years lol 15:23:48 i440r: because you haven't solved the problem of keeping it to nasm style without preprocessing right? 15:24:04 thin no. 15:24:40 i can do delayed processing. i.e. dont interpret a mneumonic till the next one is seen. 15:24:47 I440r, i might have to use far jumps always, here is why 15:24:50 i.e. each mneumonic causes the previous one to be assembled 15:24:51 I440r, when i compile the start of a branch 15:24:58 i can do nasm style without any processing at all 15:25:00 mwahahaha! 15:25:02 I440r, i don't yet 'know' the length of the branches 15:25:17 I440r, so i have to reserve some space for a fixup when i finish compiling the branch 15:25:23 I440r, and do a fixup with the right addr later 15:25:24 I440r, get me? 15:25:26 slava exactly. you usually do something lile "compile branch here 0, 15:25:38 :) 15:25:40 here is on the stack and later on in your code you do here swap ! 15:29:49 i just realised something - spammers mine usenet for email addresses - why not post articles in all groups with like 40 million invalid email addreses 15:30:42 make en waste time mailing 40 million invalid addressses 15:34:11 --- part: thin left #forth 15:35:58 --- quit: warpzero (Read error: 110 (Connection timed out)) 15:38:40 --- join: warpzero (~warpzero@mi018.dn178.umontana.edu) joined #forth 15:53:23 --- join: TheBlueWizard (TheBlueWiz@63.250.24.233) joined #forth 15:53:23 --- mode: ChanServ set +o TheBlueWizard 15:55:48 hi TheBlueWizard 16:01:07 arke hiya 16:01:36 --- quit: warpzero (Excess Flood) 16:04:47 --- join: jdavidboyd (~user@104-170.35-65.tampabay.rr.com) joined #forth 16:06:06 --- quit: jdavidboyd (Remote closed the connection) 16:06:09 --- join: warpzero (~warpzero@mi018.dn178.umontana.edu) joined #forth 16:06:09 --- quit: warpzero (Excess Flood) 16:06:41 TheBlueWizard, got any Forth projects? 16:07:02 --- join: warpzero (~warpzero@mi018.dn178.umontana.edu) joined #forth 16:08:03 arke: had one, but put it on back burner (for so long :) 16:08:29 * arke is back (gone 04:30:31) 16:08:33 TheBlueWizard, what was it? 16:12:01 it was a sort of Forth HAL/monitor (think of it as a very thin cross of Open Firmware and VMWare, and you aren't far off), with a traditional 32-bit Forth system running atop it. The idea is that there is a modularity; I could load an OS atop that layer, and if OS crashes big time, it will simply fall back to that monitor level for low level debugging 16:12:22 on x86 there's no sub opcode? 16:12:25 we just add a negative number? 16:12:49 slava, there is sub 16:12:50 oh there is 16:12:54 slava, :) 16:12:55 :) 16:12:59 heh :) 16:14:30 arke: whaddaya think of it? 16:14:55 TheBlueWizard, i think thats an interesting idea 16:17:02 I see it as a multistep way to writing my own OS "the easy way" (the monitor would be similar to that found on old Apple II computers...the ones where you see the classic * command prompt) 16:18:03 I believe an advantage is that one could conceivably test an OS subsystem directly (with a bit extra supporting stubs, as needed), without having to load the entire OS 16:19:13 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 16:29:29 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 16:41:26 --- join: Sonarman (~matt@adsl-64-169-94-168.dsl.snfc21.pacbell.net) joined #forth 16:44:36 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 16:59:49 --- join: thin (thin@bespin.org) joined #forth 17:00:42 --- part: thin left #forth 17:14:25 --- quit: tathi ("*poof*") 17:17:29 hi Sonarman 17:22:24 --- quit: mur (Read error: 60 (Operation timed out)) 17:22:42 --- join: mur (~mur@smtp.uiah.fi) joined #forth 17:26:19 --- join: water (~water@c-67-172-32-68.client.comcast.net) joined #forth 17:27:41 hey 17:27:43 slava 17:27:45 you moron 17:27:52 give up on java already 17:27:59 my Slate system kicks java's ass 17:28:24 my forth system will kick java and slate's ass 17:28:44 water, you sound like AlonzoTG 17:28:58 slava: you fuck, don't ever come to #squeak again 17:29:17 sounds like a troll 17:29:18 :) 17:29:22 warpzero, why would i want to use squeak? it sucks 17:29:27 i mean water 17:29:43 slava: i don't want you to appropriate ideas without contributing conversation again 17:29:50 that's all i am going to say about that 17:29:56 err 17:30:02 water, you're a dumbass and nobody cares about slate 17:30:06 how about you move that to /query? 17:30:10 this is not the place 17:30:19 I agree 17:30:29 --- quit: Sonarman (Read error: 110 (Connection timed out)) 17:30:33 * arke eyes the @ sign in front of TheBlueWizard 17:30:38 hint? :) 17:30:58 maybe :) 17:31:24 slava: you are such a numbskull 17:31:36 slava: don't you realize how idiotic the java gc system is 17:31:36 there are other ops here...and if they concur...then *lightning bolt* 17:31:44 water, why do you think i care about java? 17:32:14 water, in case you haven't noticed, slava isn't doing java anymore 17:35:17 um. 17:35:40 water, maybe you should try behaving like a member of civilized society 17:35:52 slava, maybe you should sprout a brain 17:35:58 instead of being a pathetic code monkey 17:36:00 now please stop trolling, i have an op at my disposal and I'm not afraid to use him ^_____^ :P 17:36:35 water, why are you here? 17:36:42 water, do you even know forth? 17:37:26 slava, i long ago realized that forth was nothing more than an assembler 17:37:43 if you had any ounce of brains, you would come to that same conclusion 17:37:46 water, so why are you here? 17:37:50 now, please, before some gets hurt, stop using this awful mess you call a "language" 17:37:55 Forth isn't an assembler 17:37:55 --- part: water left #forth 17:38:09 good riddance to water 17:38:13 can we ban him please 17:38:33 * arke votes to the same 17:38:37 he has left, so I am not sure how to ban him 17:38:45 /ban water*!*@* 17:38:58 --- mode: TheBlueWizard set +b water*!*@* 17:39:02 done 17:39:03 or even better 17:39:05 /ban *water*!*@* 17:39:11 since his ident started with ~water 17:39:19 ah 17:39:23 --- mode: TheBlueWizard set +b *water*!*@* 17:39:29 done 17:40:09 of course I will keep in my mind not to have a nick TheBlueWater ;) 17:40:14 hehe 17:40:45 * arke would recommend banning the ip address with the nick 17:41:24 as in 17:41:42 water!*@c-67-172-32-68.client.comcast.net 17:41:47 but whatever :) 17:43:23 my froth si teh KIK UR ASS!!!11 17:43:31 hi madgarden 17:43:33 yeah....I once saw a situation on #debian where one obnoxious guy came in and got kickbanned, then he came back under a different name/ip, and got kickbanned, and got kickbanned...this went on for maybe 8 times before the op guy on #debian finally gave up 17:43:35 madgarden, i started working on a compiler 17:43:41 Hi slava. 17:43:44 Oh, yea? 17:43:49 What kind of compiler? 17:44:35 TheBlueWizard, hehe. 17:44:37 STC for now 17:44:41 there will be optimizations later 17:44:56 TheBlueWizard, there once was a spammer on ##linux who got k-lined and kept coming back :P 17:45:31 native x86, or what? 17:45:36 yes 17:45:38 of course 17:46:26 * TheBlueWizard nods re: certain guys with some magical ability to evade being k-lined 17:46:29 Factor compiler? 17:46:43 what else 17:46:48 C64 BASIC! 17:47:26 madgarden, basic yay 17:48:36 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 17:50:19 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 17:56:28 C64orth 17:57:05 blazin' forth 17:57:30 Blazin' Forth is pretty rockin'. Wish I'd had it when I was 10. 17:58:05 c64forth by tom zimmer ? 18:00:12 I actually don't know. Haven't really bothered with any other C64 forths, since they are all crappier. 18:00:53 ok lol the sockets stuff doesnt work in freebsd lol - i hafta fix THAT too 18:00:53 grr 18:00:56 lol 18:02:07 I have to put some kind of socket support into my project tomorrow. 18:08:13 hey guys 18:08:18 that 'water' who was here before is not water 18:08:25 we determined it 18:08:27 its... 18:08:31 drumroll please... 18:08:33 AlonzoTG 18:08:43 * TheBlueWizard gasps and died 18:11:43 lol 18:11:56 we should invite water in here :) 18:12:08 * TheBlueWizard opens one of his eyes...looking around 18:12:19 what? water was banned 18:14:50 water was banned from IRC? 18:15:30 its not water 18:15:33 it was AlonzoTG 18:16:14 yea i know lol 18:16:24 did we get his host mask ? 18:16:53 slava, maybe you should sprout a brain 18:16:54 instead of being a pathetic code monkey 18:16:54 lol 18:17:09 actually its not funny, this guy has issues 18:17:12 i think he needs help 18:17:14 yea 18:17:22 it's quite strange, i give you that 18:18:21 if i had been paying attention i could have told you that wasnt water 18:18:29 waters an asshole but he isnt abusive 18:18:47 should we unban him? 18:19:03 yes 18:19:04 i dont think it makes any difference 18:19:08 heh 18:19:09 i doubt water would come in here 18:20:10 wll, if it wasn't water, then unban him :) 18:20:20 how do we know that wasnt water 18:20:24 no but the hostmask is alonzo's 18:20:38 I440r, because i talked to people in #squeak and we deduced it wasnt him :) 18:20:38 well he is in #tunes with the same mask 18:20:52 I440r, the water online now is real 18:21:03 its a different mask btw 18:21:25 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 18:21:31 --> water (~water@c-67-172-32-68.client.comcast.net) has joined #forth 18:21:38 --- [water] (~water@c-24-19-49-112.client.comcast.net) : Brian Rice 18:21:49 do they have the same isp ? 18:21:50 yes 18:22:30 --- quit: arke (Read error: 54 (Connection reset by peer)) 18:23:02 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 18:25:50 --- mode: TheBlueWizard set -b *water*!*@* 18:25:58 --- mode: TheBlueWizard set -b water*!*@* 18:26:17 lol 18:26:24 I see AlonzoTG is still on ban list 18:26:38 who the hell is Baxter 18:27:31 ask kc5tja I guess :) 18:27:50 i think that was alonz 18:29:12 --- join: arke (~Chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 18:29:15 stupid computer 18:29:19 restarts for no reason 18:29:20 lol 18:29:22 :/ 18:29:25 what did i miss? 18:29:46 arke, you missed AlonzoTG 18:29:53 arke, oh no you were here 18:30:12 no, i was here 18:30:16 who is alonzotg btw? 18:30:37 my forth system will kick java and slate's ass 18:30:46 :) 18:30:48 you were talking to alonzo not water 18:30:53 yes 18:30:54 but 18:30:58 you guys all seem to know him 18:31:00 i dont know him 18:31:00 :/ 18:31:03 we know OF him 18:31:07 we don't know him personally 18:31:10 oh 18:31:15 tell me what you know 18:31:18 he's just some insane guy who wants to become a cyborg by writing his sphere OS 18:31:24 the problem is that he can't code and he's scitzo 18:31:29 see his homepage 18:31:34 link? 18:31:38 wow, my printer is fast :) 18:31:53 http://users.erols.com/alangrimes/ 18:33:19 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 18:33:31 Goals 18:33:32 * To create an artificial species. 18:33:32 * To provide a means for human people to be transmuted into borg people. 18:33:34 hehe 18:33:48 yeah that's some fucked up shit 18:33:49 ree and he would get along quite well lol 18:33:54 who's ree? 18:34:20 ok i compiled an infinite loop 18:34:26 someone from #tunes who hangs in here sometimes 18:34:29 is he on the ban ? 18:34:35 is he also insane? 18:34:41 i dunno 18:34:46 doesnt seem to be to me 18:34:51 you never know 18:35:06 manic depressive it says 18:35:12 or 'bipolar' or whatever they call it 18:35:31 oopts a benchmark im running on your dads machie is taking ages and its using 98% cpu! 18:35:38 * I440r_ kills the benchmark lol 18:37:20 --- join: mur_ (~mur@kyberias.uiah.fi) joined #forth 18:37:36 hehe 18:37:44 I440r_: whos dad were you referring to? 18:37:54 kc5tja's 18:37:56 slava's 18:38:06 im shelled into slavs dads machine 18:38:16 GAH. I forgot the combination to the lock for my gym locker. 18:38:20 how? you h4x0r3d me??!!!! 18:38:21 lol 18:38:32 you said this was your dads machine :P 18:38:39 i'm joking 18:38:44 yes its my dad's 18:38:51 lol 18:40:56 kc5 yiur benchmark in isforth seems to like to use just ONE of my processors (hyper threading) 18:41:07 its weird 18:42:37 argh 18:42:48 tunes has been going on for over 10 years?! 18:42:55 what the hell were they doing all this time? lol 18:42:57 arke, have they achieved anything 18:43:21 alot of paperwork 18:43:30 great 18:43:49 is squeak part of the tunes project ? 18:43:52 no 18:43:56 or just used by water 18:48:19 --- quit: Topaz ("Leaving") 18:48:46 the tunes project has created a great review of programming languages 18:49:00 --- quit: mur (Connection timed out) 18:49:53 they've created and collected a lot of great information 18:50:10 but there isn't much programming going on there that I'm aware of 18:52:16 collecting info about various languages isnt the prime focus of the project tho - it just seems to be the direction they have taken 18:52:25 that wasnt eth original intent 18:54:53 it's a sub 18:54:55 project 18:57:27 it's not their focus, it's just the part that I find useful. 19:01:01 --- quit: saon ("Leaving") 19:01:08 --- join: zruty (~chuck@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 19:01:08 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 19:02:15 zruty, hi poing :) 19:02:54 I440r_, is that water the real water or the fake one? :/ 19:04:25 * Herkamire is trying caml 19:04:49 * arke is away: dog 19:05:24 the real one i believe 19:12:10 * madgarden is a way dog 19:14:42 --- quit: mur_ (Remote closed the connection) 19:15:15 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 19:16:25 Herkamire, does it have humps? 19:32:18 slava: what's humps? 19:35:50 --- join: Sonarman (~matt@adsl-63-196-0-147.dsl.snfc21.pacbell.net) joined #forth 19:39:25 --- join: [Forth] (~Forth@216-110-82-59.gen.twtelecom.net) joined #forth 19:39:34 --- quit: [Forth] (Client Quit) 19:42:20 --- join: [Forth] (~Forth@216-110-82-59.gen.twtelecom.net) joined #forth 19:45:20 Herkamire, does herkforth recompile everything to native code on each startup? 19:45:30 yes 19:45:35 is it instant? 19:45:37 yes 19:46:33 water's in #lisp trying to convince people it wasnt him trolling before 19:46:45 i bet he'll come here too and do some groveling 19:46:50 slava: what's humps? 19:46:58 Herkamire, a joke 19:47:03 Herkamire, camels have humps no? 19:47:35 mmm 19:48:00 I'm still trying to retrain myself that it's caml not calm 19:48:10 is it nice? 19:48:15 dunno 19:48:35 I got boored 19:49:10 I was just touring through some quick examples, and stopped when I got to the ones that I didn't understand 19:49:26 slava do you think it WAS him ? 19:49:33 no 19:49:41 ok me either lol 19:49:47 it was out of character for him 19:49:52 but so is grovvling :) 19:50:20 if he comes here do /ban water 19:50:21 lol 19:50:52 no :P 19:51:01 pretend like you think it was him lol 19:52:50 slava: herkforth also recompiles everything to native code when you save (SHIFT-S) 19:53:07 Herkamire, does your compiler do any kind of optimization? 19:53:19 http://caml.inria.fr/humps/ 19:53:23 yah it has humps 19:53:26 lol 19:53:28 water was trolling?! 19:53:28 hey zruty 19:53:32 wossname, no, an impostor was 19:53:35 slava: not really 19:53:47 Herkamire, have you benchmarked it against C or anything? 19:53:48 ooh, time to hit the logs 19:54:01 ocaml is a pretty nice language. two or three nice languages actually. shame they don't really work well with each other 19:54:37 slava: I have the equivelent of immediates to compile one and two-instruction words native... and I have ; set up to not push the return stack for tail-recursion... but that's it 19:55:06 ok 19:55:23 slava: yeah, it's slower of course. to make it as fast you'd have to optomize out stack use. 19:55:23 zruty, elaborate? 19:55:30 I haven't really gotten into optomizations yet 19:55:47 I love that kind of stuff, but I'm trying to get myself to put it off 19:55:50 Herkamire, i thought of a simple optimization i might try in factor. if there's only one nesting of >r / r> in a word, store that value in an unused register 19:55:51 slava: the OO stuff in ocaml doesn't mesh well with the ML functional stuff 19:55:55 zruty, oh 19:56:00 so I can make important progress 19:56:12 Herkamire, also, if you have drop followed by a literal, compile it as a store to TOS 19:56:14 you can't get overloading on the ML side, and you can't have fully generic functions on the OO side 19:56:17 Herkamire, instead of decrementing/incrementing sp 19:56:33 slava: yeah, of course 19:56:38 i much prefer haskell as ML's go. not nearly as fast as ocaml tho 19:56:53 slava: there's tons of easy optomizations 19:56:58 Herkamire, do they help? 19:57:12 well, they make it faster... 19:57:13 Herkamire, i've also thought of using SSE2 for complex number math 19:57:22 I've been avoiding them though, as I said. I'll play with it eventually 19:57:23 but that's hard 19:57:28 why avoiding them? 19:57:30 I want to try something that will eliminate most stack use 19:57:31 for simplicity? 19:57:38 so I can get the OS booting and useful 19:57:42 ok 19:57:44 fair enough. 19:57:45 usefullness first, then speed 19:57:50 yup. 19:58:07 eg, it's much more important at this point to have good search functions in the editor, than a 20% overall speed increase. 19:58:12 yup 19:58:44 the only thing I do that takes a noticeable amount of time is exporting the source to ascii, and I'm pretty sure that's only because of the syscall overhead 19:58:55 do you buffer i/o 19:58:59 or call write for each operation? 19:59:08 * arke is back (gone 00:54:19) 19:59:42 hi 19:59:43 ^_^ 19:59:50 what did i miss 20:01:11 (calling write() 64,124 times) 20:01:22 call write for each character 20:01:32 I bet if I buffered it it would be instant 20:01:34 that's terrible! 20:01:38 buffer it 20:01:46 so even that would not benifit from optomizations 20:01:56 probably not 20:01:57 it takes about half a seccond 20:02:03 it would be instant with buffering 20:02:07 writing 64k,definately 20:03:02 oh, and I have some silly code that spits out a mandelbrot 20:03:07 that would certainly speed up 20:03:32 me too :) 20:03:43 gotta go...all bye 20:03:43 mine does ascii mandelbrot ;) 20:03:48 heh 20:03:52 wanna see the source? 20:03:57 mine mmaps the frame buffer and fills the screen with it 20:04:00 no thanks 20:04:06 I've written mandelbrot enough times 20:04:18 --- part: TheBlueWizard left #forth 20:04:23 hmm :) 20:04:48 even with that... I'm not sure I'd get much use out of optomization... 20:04:52 I'd write the core in asm anyway 20:05:30 sometime after I get herkforth to boot and decent graphics support, I'm going to write some fun FAST mandelbrot/julia stuff 20:05:46 will there be a GUI of any sort? 20:05:57 yeah, eventually 20:06:07 bah. i missed benoit mandelbrot speaking a couple weeks ago 20:06:11 he was here in SF 20:07:14 Herkamire, i think i'll interface to opengl and freetype to do gui. 20:08:06 do it though SDL 20:08:42 no, because then i'd have to write all the graphics routines myself 20:08:46 then you get nice inputs too 20:09:09 you can get opengl and tt fonts through SDL 20:09:15 oh ok 20:09:22 i thought SDL just exposed the framebuffer 20:09:26 i want hardware accelerated graphics 20:10:00 there's extentions to do other stuff 20:10:04 ok 20:10:13 (ogl, tt, image decoding, ...) 20:10:25 sound file decoding... 20:10:31 i just need to figure out how to do FFI. 20:11:00 ick 20:11:21 I really want to play around with the vector unit and mandelbrot 20:11:49 i hear altivec is nifty. 20:11:50 get some blazing fast renderings at low-res 20:12:02 what kind of features does it provide exactly? 20:12:05 and go deeper than I could with double-precision floats 20:12:08 multiply several numbers at one? 20:12:12 once*? 20:12:21 yep 20:12:26 has a multiply add or something 20:12:31 yup 20:12:47 see if you had an optimizer, you could write 'normal' looking code that got compiled to this under the hood 20:12:52 with f* f+ etc 20:12:56 it'll do 4 32-bit (integer or float) words 20:13:26 or it can do 8 16-bit ints, or 16 8-bit ints 20:14:09 I'm actually looking foreward to fiddling with the asm directly for the vector stuff 20:14:27 ok 20:15:34 maybe I'll make some forth words that use it once I figure out what I like doing with it. 20:16:06 I'm not even very clear on what sorts of operations it has 20:16:27 some stuff seemed to me like it was geared towards arbitrary precision stuff 20:16:43 but I got the impression that it was mostly designed to be good at signal proccessing 20:17:42 but I'm sure it has the operations I need for mandelbrot (+ - * <) 20:18:00 i coded mine using complex number arithmetic 20:19:17 I just wrote a fixed point multiply and used that 20:19:37 and hardcoded coordinates 20:20:06 --- join: doublec (~doublec@coretech.co.nz) joined #forth 20:20:35 doublec, hi 20:20:42 hi slava 20:20:49 Herkamire, what is fixed point multiply? just * then shift? 20:20:52 geez did you upset water in a previous life or something?? 20:20:57 doublec, its not water 20:20:59 doublec, its an impostor 20:21:02 (reading the logs for today :) 20:21:06 doublec, who goes by the name of 'AlonzoTG' 20:21:10 ahh, ok 20:21:25 doublec, look at the #squeak logs theyre even funnier 20:21:28 shows factor going? 20:21:34 doublec, this 'water' joins, somebody gives him up, and he bans everybody :) 20:21:40 s/up/op/ 20:21:44 heh, ok 20:21:52 slava: yeah. I put the decimal in the middle of the 32 bits. 20:22:05 doublec, hmm a lot of bug fixes and the start of an x86 compiler 20:22:15 nice! 20:22:20 so I needed to get the 64-bit multiplication result, and shift it down 16 bits. 20:22:30 I've been mired in cellphone programming, constantly reminded why I hate C++. 20:22:56 doublec, i saw in your blog you did an Io port 20:23:10 doublec, what changes were required? 20:23:13 slava, yes. I did one a couple of years ago for another phone and this was an update of that. 20:23:46 slava, basically very little. Mainly the user input to be a GUI. 20:23:55 no tty on the phone, right? 20:24:07 slava, but I didn't use Io's socket libraries or anything so no problems with select and the like. 20:24:17 does symbian have any notion of non-blocking i/o? 20:24:24 slava, correct. You can do a tty interface but it doesn't work well with the phone functions so it's not recommended. 20:24:56 all the wrappers I'm writing around the phone libraries I'm also doing so that they can be integrated into a factor port easily. 20:25:48 slava, in symbian, everything is non-blocking. Almost every api is async. 20:26:00 doublec, interesting 20:26:14 doublec: you're writing an OS for a cell phone? 20:26:40 slava, they use 'active objects' to do async calls. It's basically a way of using state machines to order async calls without blocking. See http://www.symbian.com/developer/techlib/papers/tp_active_objects/active.htm 20:26:55 Heramire, no, just writing applications for a phone that uses the Symbian OS. 20:27:04 Oops, Herkamire I mean. 20:27:13 doublec, your client doesn't have tab completion?! :) 20:27:26 slava, ooh. It does. I didn't know that :) 20:28:19 of course it does, its xchat! 20:28:37 Yep. Although I don't use any features of it since I've never really delved into it. 20:30:06 On symbian you can't block for more than a few seconds otherwise the OS shuts your app down. So some way of having factors interpreter loop hooked into the system to yield time would be needed I guess. 20:31:31 that's certainly an odd feature. how did you handle it with Io? 20:31:39 --- quit: wossname (Read error: 110 (Connection timed out)) 20:32:51 I haven't considered it in detail yet. I currently run a loop that processes OS messages to make it think I'm still active. It's not the best way of doing it though. 20:33:49 heh, that's pretty cool it kills proccesses that don't respond 20:34:29 otherwise an app could lock up the phone and prevent the user from handling calls. That's their rationale anyway. 20:34:32 I'd love to see firebird automatically killed because it takes too long to start 20:38:27 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 20:40:10 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 21:18:22 --- quit: doublec ("Leaving") 21:18:46 --- quit: Herkamire ("bed") 21:25:48 --- join: mur_ (~mur@kyberias.uiah.fi) joined #forth 21:28:26 --- quit: mur (Read error: 60 (Operation timed out)) 21:38:44 --- join: tgunr1 (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 21:38:44 --- quit: tgunr (Read error: 232 (Connection reset by peer)) 21:38:54 * arke looks at Dreams 21:43:49 slava, !!!! LOL 21:43:58 what 21:43:58 slava, i just looked at #squeak log 21:44:01 LOL 21:44:02 lol 21:44:02 hahahahaa 21:44:10 mass ban 21:44:42 "i seem to be having troubles with chanserv" 21:44:44 lol 21:45:01 as screwed up as it is, its kinda funny 21:45:02 :) 21:48:32 I440r_: Not sure if you're aware or not, but, a hyperthreading processor is only one processor. 21:48:52 arke, search for AlonzoTG in this http://meme.b9.com/~1ca3266d4807cc70227dcdd2~/cview.html?channel=lisp&date=040905 21:51:06 slava, wtf, lol. 21:51:27 hi kc5tja 21:51:56 arke, call your forth 'sphere' 21:52:19 oh no way 21:52:29 and have him be on my name and get me banned from here? 21:52:32 i think fucking NOT 21:52:40 although... 21:52:42 its a nice name 21:52:43 .... 21:52:44 :) 21:53:39 --- join: fridge (~fridge@dsl-220-253-73-190.NSW.netspace.net.au) joined #forth 21:54:47 hehe 21:54:58 hi fridge 21:54:59 i have an idea 21:55:02 hi fridge 21:55:26 slava, be nice to him, tell him i read his rants, and try to convince him to go with froth lol 21:55:44 i don't talk to him 21:55:54 you think we're best buddies? 21:56:21 no 21:56:25 i meant I would be nice to him 21:56:28 send him email 21:56:32 tell him i read all of his rants 21:56:35 agree with some of it 21:56:37 hehehe 21:56:45 he's been 'working' on his OS for like 8 years 21:56:58 the probem he can't solve is that gcc won't work or whatever 21:57:08 but he's on new meds now 21:57:15 so work should progress more rapidly 21:57:20 they don't seem to be working 21:57:44 "Important: It is highly recommended that you run the make.sh script in either a very fast terminal such as xterm (the GNOME terminal and the OS X terminal are too slow) or that you run it in a detached GNU screen session (use C-a d to detach the session and screen -r to resume it). The SBCL compile produces lots of output and your system's terminal program will likely slow down the compile in a drastic manner." 21:57:48 not after today :) 21:58:10 slava, ey? lol 21:58:11 slava: haha 22:07:08 * Tomasu is away: anime 22:12:19 --- quit: Sonarman ("leaving") 22:17:39 --- join: Serg_penguin (~z@212.34.52.140) joined #forth 22:18:29 hi Serg_penguin 22:18:42 --- join: asymptote (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 22:19:08 hi 22:21:16 Well, I'm going to jet for the time being. Going to hang with the roommates for a while. 22:21:23 re Serg_penguin 22:21:26 Caught me at a bad time. :) 22:21:30 kc5tja, :) 22:21:33 re arke 22:21:34 kc5tja, good night :) 22:21:48 :) 22:21:52 Night 22:25:36 * arke is away: sleepy-snooze 22:41:47 --- quit: mur_ (Remote closed the connection) 22:42:22 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 22:44:25 --- quit: ChanServ (ACK! SIGSEGV!) 22:47:26 --- quit: zruty ("Lost terminal") 23:16:50 --- join: mur_ (~mur@uiah.fi) joined #forth 23:26:31 anyone around? 23:26:44 t 23:27:04 Yes 23:27:05 my compiler just compiled its first non-trivial definition. its rather inefficient output, but its 4x faster than interpretation. 23:27:12 Robert, look at http://paste.lisp.org/display/2535 23:27:14 Congratulations. :) 23:27:36 i used gdb to disassemble 23:27:40 --- quit: mur (Read error: 110 (Connection timed out)) 23:28:19 Neat. :) 23:28:35 Have fun optimizing away 75% of the code. 23:28:40 heh. 23:31:11 just because forth is real time doesn't mean it's fast... 23:31:53 (not that a forth written in C running on an OS is real time anyways...) 23:32:59 eventually i hope to go beyond simple STC compilation. 23:33:19 Does Factor have any features that makes optimization harder? 23:33:25 Robert, yes 23:33:28 Such as? 23:33:36 Robert, runtime type checks that should be optimized away, etc. 23:33:37 "simple" STC? 23:33:51 asymptote, i want to eliminate stack use if everything can fit in registers etc. 23:34:04 asymptote, and use SSE2 to compile my complex number code. 23:34:06 ah 23:34:38 Robert, also, i implement loops and such as higher order functions that take code blocks on the stack. this could be optimized hugely with a smart compiler. 23:35:02 for now the http server is the primary application we have, and it doesn't demand huge performance 23:35:08 doublec runs it on a pentium 200 even ;) 23:36:55 --- quit: asymptote ("Leaving") 23:38:26 Sounds like you'll have to do a lot of thinking. 23:38:51 well, it is a more complex language than traditional forth. 23:38:57 But I wish you good luck. :) I like the look of Factor. 23:39:08 but i believe types and garbage collection are useful, at least for my style of coding. 23:39:12 thanks :) 23:39:21 hi 23:39:25 hi Robert 23:39:45 Dobryi utro, Serg. :) 23:41:06 dohloe utro ;( 23:41:13 dead rotten morning 23:43:56 :( 23:43:59 Here too, in fact. 23:44:02 I'm ill 23:44:07 But for once, not tired :) 23:44:09 all screw up at remote office 23:56:45 --- join: ChanServ (ChanServ@services.) joined #forth 23:56:45 --- mode: irc.freenode.net set +o ChanServ 23:59:59 --- log: ended forth/04.09.07