00:00:00 --- log: started forth/02.04.20 00:13:13 --- join: gilbert_bsd (~gilbert@max2-126.dacor.net) joined #forth 00:14:11 --- part: gilbert_bsd left #forth 00:29:57 --- nick: MrReach -> MrGone 00:57:29 --- join: davidw (~davidw@ppp-59-38.25-151.libero.it) joined #forth 01:06:33 --- join: gilbertbsd (~gilbert@max1-42.dacor.net) joined #forth 01:34:57 --- quit: gilbertbsd ("xchat exiting..") 05:24:59 --- join: Fare (fare@samaris.tunes.org) joined #forth 05:40:58 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 07:11:53 --- join: Stepan (~stepan@pD9E534A7.dip.t-dialin.net) joined #forth 07:12:04 re 07:12:37 er 07:32:02 'morning 07:56:23 --- quit: onetom (Read error: 110 (Connection timed out)) 08:01:53 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 08:02:26 good morning 08:02:56 hello joa 08:04:12 anybody alive? 08:04:15 speuler? 08:11:07 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:15:14 goodmorning herkamire 08:15:57 how is your forth doing? 08:16:32 morning :) 08:17:09 pretty well I think. I just changed the way I handle immediates, and I think it's working nicely 08:18:01 ah, how did you change them? 08:18:24 do you use a flag in the dictionary word's header to make it immediate? 08:18:54 at first my dictionary had two execution tokens in it for each word. one to be executed if the word was called at execution time, and one (if non-zero) to be called at compile time. 08:20:03 this worked fine for a while, except then I started writing forth words that compile stuff and they needed to be able to get at both those definitions. 08:20:06 is there ever any case where you want to be able to execute an immediate word at execution time ?? 08:20:31 ???? always? 08:20:40 oh. gotcha 08:20:45 yes. .( 08:20:57 an immediate word is usually executed at compile time.. 08:21:02 that's the point of having an immediate word 08:21:36 yeah. I changed it so I just had one xt in the dictionary and a flag for immediate. 08:21:50 the few words that had usefull definitions for both cases I made into seperate words. 08:22:01 i would think that an immediate word wouldn't be executed at execution (interpreted) time at all 08:22:10 only at compile time 08:22:30 I found that most of the time I had different definitions the inturpret time definition was an abort (with a message saying not to call it at enturpret time) 08:23:12 hm 08:23:36 what word did you need for both instances (interpret & compile) ? 08:24:12 mostly I wrote them both in C. 08:24:28 in the "C." word ? 08:24:37 then I made IDOES> which compiles a compile-time definition for the last word defined 08:24:52 C language 08:24:55 um 08:25:09 you misunderstand my question.. i think 08:25:11 it started getting quite stupid and confusing. so I trashed it all 08:25:31 oh 08:25:54 the few words that had usefull definitions for both cases I made into seperate words. 08:26:00 what were those "few words" ? 08:26:06 the names of the words.. 08:26:26 abort" IF THEN .. 08:26:27 ahh 08:26:28 ? 08:26:49 literal loop 08:27:10 eh? 08:27:16 the DO LOOP ? 08:27:55 ok 08:27:56 2 1 DO I . LOOP 08:28:03 ERROR 08:28:07 i had the inturpret time code for literal load what would be the next instruction onto the stack. 08:28:11 : test 2 1 DO I . LOOP ; 08:28:14 NOERROR 08:28:47 so compiletime LITERAL was compiling runtime LITERAL 08:29:20 it was just a silly convention, which worked fine until I started needing to use it in forth. 08:29:41 then I started to see that it wasn't such a great idea 08:29:50 I only had 8 immediate words in C. 08:31:09 i think we don't understand each other heh 08:31:23 i don't understand i had the inturpret time code for literal load what would be the next instruction onto the stack. 08:31:44 i haven't coded my own forth yet 08:31:59 and i only vaguely understand how it would work 08:32:55 I had two different words inturpret time literal (I'll call this i_literal) and compile time literal (I'll call it c_literal) 08:33:43 : c_literal ['] i_literal compile, compile, ; 08:34:08 --- join: onetom (tom@adsl52032.vnet.hu) joined #forth 08:34:14 hi onetom :) 08:34:18 immediate 08:34:19 i'm on your box right now 08:34:57 hi guys 08:35:19 hmmm... I don't think that code would work. 08:35:35 it's ugly too :P 08:35:46 the point is that I needed an instruction that would load a value onto the stack at runtime 08:36:07 ugly code is a sin! you must tap into your inner chi and produce beautiful code! 08:36:29 i'm not here 08:36:36 this instruction would be used by literal and create and variable etc 08:38:32 herkamire: sorry but i'm not experienced enough to follow you.. 08:38:37 so don't worry about it 08:39:21 ok 08:39:57 I wanna do colorforth! 08:40:42 :) 08:43:22 I also want to finish monkeying around with my forth before I start using tathi's primarily 08:43:22 my goal is to write see s" ." .( 08:43:22 I think s" is the word. 08:43:25 some way I can quote a string at compile time and it will be printed, or put on the stack (addr u) at runtime 08:43:29 : a s" I like to eat rope" ; 08:43:31 a type 08:43:38 (would print out: I like to eat rope) 08:44:29 then I can be satisfied that I wrote a decent forth, and I'll only ever use it if I feel like it :) 08:45:02 :) 08:45:16 throw in something that draws a line between two points 08:45:29 x y moveto (moves to the point) 08:45:37 I'm not sure I have access to the frame buffer 08:45:42 x y lineto (draws from current point to new point) 08:46:04 I am not interested in figuring out how to work with X 08:46:16 yeah.. 08:46:29 well you could just output it to the video buffer or something 08:46:45 I would be happy to write the forth words for you, but you will have to figure out how to get access to a frame buffer or something 08:47:01 video buffer == frame buffer 08:47:03 heh 08:47:09 no, the other way around :P 08:47:23 somebody tell me how to use the framebuffer, etc.. 08:47:26 and i'll code the words ;) 08:47:31 are you on linux? 08:47:37 futhin: well the math modell is sy like a status graph 08:47:43 herkamire: nope heh :( 08:47:51 mac?? 08:47:53 herkamire: im also interested in frambuffer! :) 08:47:55 onetom: a status graph? 08:47:56 lol 08:48:06 herkamire: wind0z3! 08:48:07 herkamire: windoze 08:48:13 booooo 08:48:19 bo bo booooo 08:48:28 ph33r my er33tness! 08:48:36 but u can emulate a frambuffer 08:48:47 ah? how? 08:48:50 sorry, simulate 08:48:58 via files? ;) 08:49:11 aren't there forths for windoze that have a grahpics API? 08:49:22 certainly ist not good 4 interactive stuff 08:49:29 herkamire: bigforth 08:49:35 herkamire: i want to code portable graphic routines ;))) 08:49:40 or probably win32forth 08:50:04 onetom: so i have to output the stuff to files and then display those files using something else in windoze? 08:50:12 yup 08:50:13 exactly 08:50:23 you really like files :) 08:50:28 the unix philosophy has infected u! 08:50:33 coz they r simple 08:50:46 what i really like is shared mem 08:50:47 heh :) :) on my linux you can just write to dev/fb and it puts pixels on the screen :) :) 08:50:47 --- join: I440r (~mark4@1Cust19.tnt1.bloomington.in.da.uu.net) joined #forth 08:51:04 but most of the os-es protect it too much :) 08:51:06 herkamire: ooh, you've figured it out already.. 08:51:36 shared mem? does linux have that? :) 08:51:47 sure it has 08:52:01 but i dont know how to handle it conveniently 08:52:08 yeah 08:52:10 I wrote a screenshot thing for linux a while and I just read from /dev/fb. 08:52:13 and its not portable 08:52:14 it's mostly invisible.. 08:52:19 turns out you can write to /dev/fb too :) 08:52:23 files r damn slow 08:52:24 how about.. /dev/sharedmem :) 08:52:33 so they r portable 08:52:50 so they r just fine for experimenting and development 08:53:05 herkamire: nice.. when you read from /dev/fb did you have to convert it before you could save it as an image? 08:53:23 but gotta go back to work 08:53:28 ok 08:53:35 talk to you later about the math model & more 08:53:42 futhin: no, but I had to make an image header that said the dimentions and pixel format 08:53:50 i440r! 08:54:29 herkamire: what image format was it in? 08:54:44 what image format did you save the file as? .gif .jpg .png .? 08:54:45 it's just raw pixels 08:54:54 futhin: oh, we can discuss it now 08:54:59 however you have X running 08:55:07 it's the memory on the graphics card that it's using to draw the screen 08:55:12 futhin: i will only respond much slower 08:55:16 ah 08:55:35 futhin: do u know what is a state machine? 08:55:54 I used an uncompressed image type so I didn't have to do much :) I made a .pnm 08:56:08 um.. it's on the edge of my memory, i don't remember exactly what it is 08:56:17 then I used pnmtopng to make a png :) 08:56:27 yeah :) 08:57:50 that's so cool I can write to the frame buffer :) maybe I will do some graphics :) 08:58:17 onetom: nevermind, i know what a state machine is 09:00:47 futhin: do u know what a graph is? 09:01:40 a picture representing values :P 09:01:50 with a bunch of squigglies 09:02:19 hehe 09:02:30 not the most precise definition :) 09:03:03 well ask a generic question, get a generic answer :P 09:03:03 it represents objects (called nodes in english, iguess) 09:03:28 and relations/connections between them 09:03:29 you are talking about a mathematical graph definition or something more specific? 09:03:40 called edges 09:03:54 sure, the math def 09:03:55 2 : a diagram (as a series of one or more points, lines, line segments, curves, or areas) that represents the variation of a variable in comparison with that of one or more other variables 09:04:17 ? 09:04:25 oh, man, someone's up *WAY* too damn early 09:04:33 --- nick: MrGone -> MrReach 09:04:33 that's a definition from the dictionary 09:04:43 lol 09:04:45 mrreach: you are up early? or onetom is? 09:04:55 my dad was banging arround this morning and woke me up 09:04:56 9am here, fairly early 09:05:04 and the bastard sleeps with the damned TV blaring all night too 09:05:06 9am ain't bad 09:05:07 grrr 09:05:16 lol 09:05:38 that's what dads do, bang around in the morning to wake up everybody else 09:05:43 I'm gonna head down to the store about 10-10:30 09:06:05 mrreach: show them your kung fu technique! 09:06:29 you'll get a 20% discount and inspire them to work harder! 09:06:43 "the badass method of customer service"? 09:06:53 ? 09:07:27 if I compile with gcc -nostdlib it takes 14K of my filesize 09:07:31 heh, I'm going to the computer store that I'm thinking of buying 09:07:31 futhin: so u can represent the working logic of a state machine w a directed graph (the state graph) 09:07:42 mrreach: i know :) 09:07:47 ok 09:07:51 mrreach: 20% discount on the cost of buying it.. 09:07:58 ah! 09:08:39 my statement was generic enough you could apply it to a scenario of a regular shopping at some store.. 09:08:40 I'm not awake yet, sorry ... coffee is still brewing 09:09:22 oh don't worry, my speaking wasn't clear as mud 09:10:20 or unclear as mud? 09:10:20 heh 09:10:47 "clear as mud" cliche for very clear.. kinda contradictory 09:11:00 onetom: ok 09:11:05 I440r: by golly, you've almost got a real channel going here 09:11:27 heh 09:11:32 almost - and futhin STOLE it off me heh 09:11:35 I don't think "clear as mud" means clear. it's just used with heavy sarcasm 09:11:41 it scares me to imagine more activity 09:11:51 actually it seemd to take off right after he stole it :) 09:12:00 I mean there's people, and some of them are talking, there's a topic, and EVERYTHING 09:12:04 heheh :) 09:12:33 it scares me to imagine more activity.. soon people will be talking too fast for anybody else to follow.. like in #lisp 09:12:46 it could have been much more active if isforth had been :) 09:13:19 23847583925698259824 people all in #forth at the same time and not one bot.... DROOL!!!! 09:13:22 and you'll have to focus on local conversations (talking within a time frame of 10 seconds) in order to actually converse 09:13:23 perhaps this won't get toooo much activity because a bunch of us can't read fast :) 09:13:48 herkamire: i'm inviting chuck moore to this channel 09:13:52 for an online interview 09:13:58 and i'll advertise about it on comp.lang.forth 09:14:05 we should get more people here ;) 09:14:06 yes, but what would Chuck being here accomplish? 09:14:14 i doubt he will come 09:14:18 yeah 09:14:21 are you kidding ?????????????/ 09:14:29 chuck moor in here ???? 09:14:33 :) 09:14:43 look, the only question that makes any sense would be "what are you working on now?" 09:14:45 who cares what that would accomplish heh 09:14:52 everything else is already published 09:14:53 he would be in HERE !!!! 09:14:53 eduh! 09:15:06 mrreach: we can ask him questions, and give him our opinions (me especially - concerning the state of forth right now) 09:15:18 :P 09:15:22 however, f chuck hung out here a couple days a week, that would be a different story 09:15:41 i doubt he would waste his time with us :P 09:15:57 we would then get to see and understand his perspective, which is still really out there, IMO 09:15:58 here is plenty to read on the net about what chuck thinks about the future of forth 09:15:59 prolly not :) 09:16:10 yes 09:16:15 a bit dated perhaps, but enough to keep you busy for a while I think. 09:16:24 but if he did i bet there would be a gazillion new ppl in here every day :) 09:16:28 i would like to see more of his perspective and understand it 09:16:41 so would I 09:16:53 even if I vehemently disagree with it 09:16:56 i think he should write a book or something 09:17:02 or put some real content online 09:17:15 focusing on his concepts, ideas, forth coding tricks, etc.. 09:17:19 he has developed a huge toolbox 09:17:22 he is probably way too busy 09:17:23 yes, a bulletin board or message list might be a better forum 09:17:29 I don't feel like I have enough experience with forth to have a good conversation with Chuck 09:17:38 mrreach: CLF is a forum :P 09:17:51 hard to write to 09:18:10 oh don't worry, none of you have to converse with chuck, i'll do it, and make a fool of myself.. no problemo ;) 09:18:20 brb ... *COFFEE*!!!! 09:18:21 i hope my toaster's not broken 09:18:34 irc is a place to chat - chatting with ppl on clf is like chatting thru email. impossible :P 09:18:51 herk: if it ain't broken, fix it! :D 09:19:12 that's star trek scotty's motto, and it should be everyone's :) 09:19:33 how about I get rid of it and get a Real toster 09:19:38 if it ain't broken, and you fix it, you are improving it, upgrading it.. 09:19:46 adding features to it :P 09:19:57 every toaster should have a printer 09:20:05 and be connected to your computer 09:20:21 both?? 09:20:38 the ability to toast bread... is NOT important! ;) 09:20:43 if I'm going to have a printer, I'd rather it was connected to my computer... 09:21:06 and I'd rather not combine the functions of toaster and print-server 09:21:09 hm, the toaster would be connected to the computer.. 09:21:20 futhin and a modem so it can send you email when your toast is ready :) 09:21:24 so you can toast bread efficiently from the computer 09:21:26 futhin: im getting more and more convinced about that what chuck thinks... 09:21:30 so it could tell you when your toast pops while you're on IRC 09:21:47 futhin: there can b a common denominator of forthes 09:21:48 mrreach i bet YOU to the punch line this time :P 09:21:54 lol 09:22:03 oh yea. did we mention tail gaters yet ??? grrrr 09:22:03 lol 09:22:06 onetom: yes. i agree very strongly with many things that chuck moore thinks.. 09:22:16 print server works by spraying tiny drops of butter onto paper, then roasting the butter until it is light brown 09:22:44 futhin: forth is much more a philosophy, a struturing method, than a language 09:22:51 yup 09:23:04 and it's also about keeping things simple.. 09:23:11 er 09:23:14 that's part of the philosophy 09:23:15 nevermind :P 09:23:21 so creating a forth os 09:23:26 and libraries for it 09:23:34 mrreach: sounds like a tasty printer 09:23:43 mrreach: and 100% doable! 09:24:17 somehow, I don't think 4th has aceived 1/10th of its potential 09:24:20 will differ highly from the older methods, like create a language (C) then build an os (*nix) using it 09:24:49 it never will 09:24:49 because it will never be main stream line c 09:24:49 any idiot can learn c 09:24:52 but I think that purists really injure the language 09:24:56 forth only lets real men code :) 09:25:06 heh, like I said 09:25:06 u mean like me ? 09:25:09 :) hehe 09:25:45 what we need - ithink - is to establish 4th kernel implementation methods 09:25:53 and give examples of them 09:25:57 so many times people ask me how to do a task that is commonly done in other languages, and it can't be done with their forth 09:26:00 written in various other langs 09:26:11 onetom: why the kernel? 09:26:24 and we should consolidate "api"s 09:26:39 generally, only people writing kernels would be interested, right? 09:26:41 in the form of vocabularies 09:26:55 THAT I will agree with and stand for 09:27:12 w various example implementations 09:27:27 an example for what I perceive the problem to me ... 09:27:35 what r usable & tryable in specific environments 09:27:38 mrreach & i440r: forth _can_ become main stream. it is a question of support & everybody having access to a well designed forth that has been extended to a high-level. hence: the forth operating system! 09:27:54 coz we can write reusable libraries in 4th 09:28:12 because they can b flexible 09:28:13 an experienced coder new to forth asks me, "I'm writing a file editor ... how do I get a list of files and attributes in a given directory?" 09:28:16 CANT 09:28:36 brb 09:29:01 well, you have to go digging into the guts of both the forth and the OS to place the system call(s) 09:29:01 MrReach: just as the other langs: via the functions the os supports 09:29:22 MrReach: or it also give u the same paradigm as C or pascal 09:29:37 MrReach: u will get a stdin & stdout 09:29:38 yes, stdlib 09:30:04 MrReach: and read/write 2 them via key&emit 09:30:11 no 09:30:14 not stdlib 09:30:52 im not thinking in the usual os domain 09:31:09 a system w a forth shouldnt all the time have a filesys 09:31:24 the point is, it's a bloody nuisance to do the things other languages do as a matter of course 09:31:46 so we shouldnt definitely need a "standard" file-access wordset, HOWEVER 09:31:49 mrreach: that is somewhat true.. blame chuck moore :P 09:31:55 there's a reason why most language manuals are 800+ pages 09:32:04 chuck moore wasn't interested in handling strings, etc 09:32:12 * MrReach nods. 09:32:28 we should establish an *interface* for the general tree-way organized filesystems 09:32:52 strings r also another nice example 09:32:54 onetom: how an "API"? 09:33:03 open-file 09:33:05 +about 09:33:09 i think one of the best ways to get forth out there, is thru an operating system, because you wouldn't have to be a programmer in order to be able to use the operating system (assume it has everything windows has and more) 09:33:22 I disagree, futhin 09:33:24 open-file ( name-string -- id err) 09:33:39 close-file ( id -- ) 09:33:40 in order to build the operating system a lot of vocabulary has to be developed: file handling, graphics, multitasking, etc 09:33:48 read-file write-file ... 09:33:52 futhin: I depend on my OSes right now for everything, business and personal 09:34:13 MrReach: thats just a passing phase :) 09:34:18 :) 09:34:32 so back 2 the string example 09:34:46 to get me to migrate to another os requires either 1. the functions I need to already be in place, or 2. enough advantage to rationalize the cost of a new machine 09:34:47 we know about @ least 3 string manipulation methods 09:34:56 heh 09:35:10 counted strings, 0 terminated strings, ans4th strings 09:35:24 I have a 4th method ... 09:35:35 mrreach: yes. i'm going to focus on the "enough advantage to convince people to switch over" part for the operating system 09:35:40 so we should create suggested example implementation of them 09:35:47 descriptor strings, similar to the way MS BASIC used to do it on 8 bit machines 09:35:54 is randomly selected environments 09:36:17 and we also should give usage examples for them 09:36:30 you know, even embedded controllers have 8 MB of ram now 09:36:53 onetom: agreed, for sure, about examples 09:37:24 MrReach: but for mass apps u will still use cheaper & much more limited controlers 09:37:52 hmmm ... that's not an arena that I'm usually in 09:38:08 MrReach: coz in case of series-products pennies r also count 09:38:31 "series-products" ??? 09:38:43 i dont know the proper word for it... 09:38:49 like wrist-watches 09:38:59 microwave ovens 09:38:59 consumer personal electronics ??? 09:39:02 walkmans 09:39:08 ok 09:39:29 "consumer electronics" 09:39:38 ehhh, that word shouldnt b specificly refer 2 electronic stuff 09:39:46 cars r also a good example 09:40:02 anyway, I was talking about general computing languages 09:40:14 ive tried 2 express: things manufactured in a large volumen 09:40:20 yes 09:40:37 perhaps "embedded controllers" would be a better term 09:40:43 like hammers, or spoons 09:40:58 series-products = mass produced electronics 09:41:02 what products r they? 09:41:07 i think that's what the intent was? 09:41:15 not especially electronics! 09:41:20 embedded controllers? 09:41:37 nevemind, forget it 09:41:41 back 09:41:41 had breakfast :) 09:41:43 small computers embedded into items for control/feedback purposes 09:41:45 scrambled eggz with toast with LOADS of peanutbutter on :) 09:41:57 amazing how useful a small beep can be 09:42:47 useful yes... but sometimes annoying :) 09:42:50 anyway, I was thinking on the scale of PCs and OSes 09:43:13 as a general computing language, forth *SUCKS* 09:43:24 lol 09:43:34 i cant disagree more :P 09:43:40 but then 09:43:47 99% of what i do is embedded :) 09:43:58 headphones are great for getting any computer to not beep 09:44:26 when your old earphones die, you can cut the cord right by the plug, and then you have the ultimate mute 09:44:29 fpc beeps when you try delete past the beginning of a line. 09:44:36 isforth just silently does no delete 09:44:37 I440r: earlier I used the example of an experienced coder new to forth asking me "I'm writing a file editor, how do I get a list of files in a given directory?" 09:45:05 mrreach: as a general computing language, forth _hasn't_ been extended enough! 09:45:06 mrreach fpc had the ability to do that 09:45:15 so does gforth 09:45:20 its simply a question of knowing how to make the system calls to write the function to do it 09:45:30 so tell the guy to use a different forth? what kind of answer is that? 09:45:43 directory listings are not platform-independant 09:46:01 no. you tell him to rtfm how such a thing is done and to WRITE it 09:46:01 lol 09:46:04 herkamire: they are in tcl ... and in C with a little tweaking 09:46:22 not really. or not well 09:46:38 at least among Linux/FreeBSD/Win32/MacOS 09:46:43 on Mac you are supposed to handle files much differently than you do in unix 09:47:20 what's the new MacOS called? something-X??? 09:47:35 on Mac you aren't supposed to open files with paths 09:47:46 Mac OS X 09:47:51 ok 09:48:00 I'm talking about OS 9 and earlier 09:48:10 that's fine 09:48:11 OS X is bsd 09:48:21 lol windows has got rid of the concept of a cwd too 09:48:56 --- join: tathi (~tathi@ip68-9-58-81.ri.ri.cox.net) joined #forth 09:49:30 many languages offer a uniform interface to the filesystem 09:49:30 hi tathi 09:49:35 greets, tathi 09:50:00 hi tathi 09:50:00 hey all 09:50:08 i440r: cwd? 09:50:16 current working directory 09:50:36 herkamire: if you don't open files with paths, what do you open files with in mac os x ? 09:50:43 it disappeared in WinCE ... and is deemphasised in winXP ... I think 09:50:47 current working directory 09:50:57 OS X is BSD 09:51:02 UNIX 09:51:04 now, files are more like URLs 09:51:05 and bsd has paths 09:52:21 anyway, I'd like to see forth follow the same path as TCL, for PCs anyway 09:52:32 yes. before Mac OS X Mac OS didn't use paths 09:52:57 what did it use then? 09:53:11 2-3 coders for Linux, 2-3 for win32, 2-3 for MacOS ... they all write so that the APIs behave identically on all platforms 09:53:32 we actually planning a standard forth here? 09:53:37 TCL has totally cornered the scripting market ... something I think forth should have done 09:53:40 mrreach: i'd like to see an operating system (probably coded in forth) to replace linux, windows, macos 09:53:50 not me :P 09:53:56 I know, futhin 09:53:59 works for me 09:54:06 I440r: not you what? 09:54:15 erm no - thats wrong 09:54:16 we come up with standard instructions for the "forth virtual machine" 09:54:17 tathi: i don't think that we're planning a standard forth, i'm not sure if anybody thinks a standard forth is the key.. 09:54:24 im going to make an isforth standard and comply with it 100% :) 09:54:39 * MrReach laughs. 09:54:42 futhin: semi-standard APIs though? 09:54:54 then we come up with some standard APIs (graphics, files, sound) and we program operating systems 09:54:56 in forth 09:55:11 tathi: yes. api's and librarys probably 09:55:13 http://www.theforthsource.com/fp002.html 09:55:13 tathi: I'd like to see that ... but forthers seem too eclectic to actually do it 09:55:33 yeah, forth coders are lazy! 09:55:42 I certainly am :) 09:55:48 look at me, i'm soooo lazy and i'm not a forth coder. imagine if i was ;) 09:56:05 I agree with I440r, I'll come up with my own standard and comply with it 100% 09:56:06 i'm not a REAL forth coder 09:56:06 that is 09:56:19 eh 09:56:25 chat rooms are not places to find highly motivated coders.... if we were highly motivated we wouldn't be sitting on our asses chatting 09:56:28 why not come up with a standard that other people agree with :P 09:56:40 I have no problem with writing APIs that are compatible with yours if you have code that I want to run though :) 09:56:41 futhin thats because your not a real coder at all :P 09:56:43 herkamire: lies! blasphemy!!! 09:56:48 but your in the right place to fix that:) 09:57:08 tathi: imagine a forth that is huge, but give you access to all the niceties of your OS ... and you are forced to change OSes, no biggie, because it runs on your new OS, too 09:57:22 imagine a forth os 09:57:28 and when you want to switch to a new architecture 09:57:30 no biggie! 09:57:32 it's portable! 09:57:33 :P 09:57:46 heheh 09:57:50 i'm very narrow minded 09:57:59 futhin: can I run mIRC on it? how about my TCL IRC bot? 09:58:11 ok, so who wants to fight over... I mean come up with a standard instruction set? 09:58:19 will it do the linux routing functions out of the box? 09:58:22 naw.. i don't care about compatibility, but there will be _significant_ advantages 09:58:46 it will be compelling to switch over, because you'll be able to recode everything in 2 hours :P 09:59:07 everything that you'll be missing, just recode it on the fly 09:59:11 MrReach: I don't need something huge. I currently use ssh, ftp, emacs, gcc and xchat. That's all the functionality I need. 09:59:14 it'll be a beautiful system :P 09:59:20 you know, I bought a computer and an OS specifically to firewall my intranet ... that's a bunch of money, and worth every penny ... it also turns out to be an outstand file and print server, too 09:59:26 Oh, and RockDodger -- can't forget that :) 09:59:57 hehe :) 10:00:15 mrreach: the forth os will come with a lot of functionality that is expected: web browser, editor, irc client, ftp client, print server, all sorts of other servers (that i have really cool ideas about) 10:00:16 etc 10:00:21 we definately need three good little cheezy games with huge replayability 10:00:39 you won't need mIRC when you switch over to the forth os 10:00:58 and some games too 10:01:00 heh, I'm heavily invested in mIRC 10:01:12 yes i think irc should be built into every os :) 10:01:16 not monetarily, but in learning how to use it and in scripting 10:01:26 the OS will be a virtual machine and a set of APIs for graphics, sound, files and devices 10:01:31 mrreach i used to script mirc! 10:01:47 herkamire: thats right 10:01:49 heh, that doesn't surprise me, I440r 10:02:07 irc isn't built into any operating system that I know of 10:02:07 herkamire: so we should create various implementations for those modules 10:02:12 mrreach i only wrote one script but it had every single x command on undernet 10:02:26 including all the oper ones and some irc oper ones 10:02:28 why? i think that the forth os will let you change things on the fly. that means, you are in irc, and you want to highlight somebody's name and make the window circular, boom, 2 lines of code, hit enter, it's changed, on the fly 10:02:43 i never released it tho heh 10:02:50 * MrReach nods. 10:03:06 herkamire: built up from various tools (think of the variations of string handling) 10:03:12 god, it's amazing the diversity of opinions here 10:03:18 herkamire: various object models 10:03:39 people can build their own object models 10:03:41 herkamire: various structured-data handling stuff 10:04:47 everyone has a very strong opinion of what forth "NEEDS" ... Chuck Moore is probably laughing his ass off. He'd say, "They should ask 'What does the coder need for this app?'." 10:04:53 we can write that stuff in forth 10:04:53 I think we need to get the virtualmachine and the hardware APIs seperate from everything else 10:05:07 yeah :) 10:05:16 I have a tendancy to be very practical like that 10:05:33 writing sample implementations for the various basic tools 10:05:42 I think the reason for a lot of the unneeded complexity in software is that people don't really know what they want their program to do. 10:05:49 anyone can roll his/her own os 10:06:05 onetom: do you want to invent the virtual machine? 10:06:06 heh, think so? 10:06:19 suited to his/her specific hardware/needs 10:06:26 onetom: this is a documentation project first, then we have to make it work. 10:06:28 oh, ok 10:06:32 herkamire: dont think so... 10:06:46 onetom: or you could make something work, then document it.... 10:07:15 herkamire: but it the kernel is the 0th level of my multidimensional code system theory... 10:07:24 I could make the first draft, but it will probably suck and not work because I don't have much experience writing forths. 10:07:47 herkamire: i wouldnt call it doc project, rather a design project.. 10:07:56 whatever 10:08:04 its important... 10:08:31 eg, we also should create "cross-implementations" 10:08:38 coming up with a standard with any expectation of people following it, will be mostly deciding how it should work and documenting that. 10:08:52 I'm not worried about the parts you can write in forth. 10:08:57 a machine forth built up on regular forth 10:09:02 and vica versa 10:09:08 and writing AT LEAST one implementation and using it in an application 10:09:21 once we get a standard environment that runs forth, people can do whatever they want. even make a multidimentional code system 10:09:24 the "acid test" 10:09:28 conversions between the various string representations 10:09:32 and so on 10:09:48 mrreach is that like the "smoke test" ? 10:09:49 heh 10:09:50 we definately need to try it. 10:10:14 heh, hadn't thought of that, but from a HW designer's point of view, yes it is 10:10:16 herkamire: u cant advice an omnipotent solution ithink 10:10:38 onetom: why not? other languages do it 10:10:39 herkamire: not even in the case of basic forth words 10:10:42 (or try to) 10:10:48 tathi and I are building an os ontop of the PPC instruction set, but we could easily provide APIs and a virtual machine for a standard forth 10:11:05 herkamire: thats why other langs r not optimal enough 10:11:10 not everyone can roll his own os. don't forget the non-programmers too 10:11:14 now - wheres tcn :P 10:11:16 herkamire: they r only good for specific tasks 10:11:41 herkamire: we will also create forth "dialects" for such specific task 10:11:42 optimal in what way? 10:12:09 you can do that if you want. in forth. 10:12:12 herkamire: i was refering to these dialects as "api"s formerly 10:12:12 i think one of the problems we have, is that we don't make very good use of terminology when we are talking about forth 10:12:16 for example 10:12:22 herkamire: optimal in speed 10:12:26 whenever you code in forth, in _reality_ you are making a new dialect 10:12:31 you are creating a new language 10:12:34 a vocabulary 10:12:37 forth is not fast 10:12:38 futhin: true 10:12:39 i think this is a little confusing 10:12:49 herkamire: they r not optimal in speed, but usually source code length/understandability 10:12:52 it confuses the terminology 10:12:53 we use 10:13:08 cool 10:13:32 MrReach: "forth is not fast" ~= "motorola is not fast" ~= "intel is not fast" 10:13:41 MrReach: does it make any sense? 10:13:53 yes, comparatively speaking ... 10:13:54 what we need to worry about to make this a reality is the minimum virtual machine and APIs to access hardware 10:13:57 MrReach: i will help u answering: no 10:14:12 programs in forth are solved by better and more simple solutions, and they gain speed because of that 10:14:21 MrReach: forth is NOT just a language 10:14:35 I440r is gonna kill me for saying so, but with todays machines, efficiency of execution is no longer a priority, neither is memory usage 10:14:37 forth programs can have the advantage in speed over other languages like C because the more optimal solution is usually found. 10:14:41 MrReach: !!!forth is a processor architecture!!! 10:14:53 mrreach actually to a certain degree i agree 10:14:53 futhin: I agree, and I hope that's what onetom is trying to get at 10:14:56 try 2 understand that. 10:14:58 mrreach: that's true, we don't care about the speed of forth, even though it can be fast :) 10:15:06 but not if its useds as an exscuse to write bad code 10:15:43 MrReach: efficiency is still a real need, believe me 10:15:55 onetom: I don't have forth hardware... 10:15:59 the point is that now it's how fast an app writer can write an app 10:16:10 and forth is still not too good in that arena 10:16:11 MrReach: eg, my 400MHz pII wasnt able 2 play videos fluently under linux 4 a long time 10:16:18 mrreach wtf ? 10:16:25 MrReach: so the decoder must b optimized for speed.. 10:16:25 u saying forth has aa slow devel time ? 10:16:26 bs 10:16:41 forth needs to be extended 10:16:48 herkamire: that doesnt matter u have a 4th hardware or not 10:16:50 but in general, it has a wayy faster devel time 10:16:59 herkamire: u still can say forth is slow 10:17:10 I can write an editor with quite a few features in TCL in two days ... how about forth? 10:17:26 herkamire: coz intel is also slow emulated on top of either a motrola or forth processor.... 10:17:28 onetom: a virtual machine is generally slow. 10:17:34 ill let you know if i ever write an editor :P 10:17:38 (actually tk comes with a rather good editor GUI widget, but that's cheating) 10:18:02 MrReach: yup, thats cheating a bit 10:18:28 THAT editor probably has 1/2 man-year invested in it 10:19:00 onetom: are you interested in a standard forth virtual machine that people can implement on whatever platferm? (something that we could built an OS on top of) 10:19:03 MrReach: but eg, a 4th kernel written in tcl could help utilize tk and u still can code & test & even use (uknow speed is not a problem w todays machines ;) inside that tcl kernel 10:19:14 an editor 10:20:01 A plus within a cricle, that's XOR, right? 10:20:05 herkamire: im interested in reference implementations of all the possibly useful forth architectures 10:20:08 heh, yoiu mean use the tk editor by calling into the tk lib with forth? 10:20:11 i still care about speed, because it still adds up, when you have multiple applications running at the same time 10:20:50 futhin: right, but there's no excuse for an 8K forth on a PC 10:20:54 MrReach: beside that, dont forget, im just about 2 write a multiuser editor in forth ;) 10:21:15 oh! cool! do I get to see the code? which forth you gonna use? what OS? 10:21:16 MrReach: and probably the 1st interface 4 it will b tcltk :P 10:21:30 rob_ert: think so 10:21:33 MrReach: will c 10:21:47 MrReach: probably i will use tile for the first time 10:21:54 MrReach: from under linux 10:22:01 * MrReach nods, "Good choice" 10:22:18 herkamire just wrote a simple C-based forth 10:22:25 MrReach: my filesytem interface will help 2 interface tcl w forth 10:22:35 tathi: :) thanks 10:22:57 MrReach: it will be very slow for the first time, i think.... 10:23:07 I can imagine 10:23:10 MrReach: but not that is the point. 10:23:23 two byte-compiled languages calling into each other 10:23:47 MrReach: coz later i will be able 2 replace that slow file based comm interface w sy faster like sockets 10:23:50 I should stop hanging out here 10:24:00 MrReach: no no, u didnt get the point 10:24:16 MrReach: i will use tcltk only as a display 4 4th 10:24:24 mrreach: lies 10:24:28 I understand 10:24:30 mrreach: this channel rules 10:24:32 futhin: how so? 10:24:33 MrReach: in the case of my editor 10:25:02 onetom: understood 10:25:17 MrReach: that 4th inside tcl was just a previous, separate example 10:25:18 ./away 10:25:21 * herkamire is away: I'm busy 10:25:24 i'd love to see this channel moved into a multi-user forth collaborative universe. we could code & talk at the same time 10:25:27 MrReach: right then 10:25:51 * onetom goes 2 work 10:25:57 cul8r 10:26:16 futhin: it makes sense, I'm probably not going to use forth in my future projects, I'm not going to write a system, I'm only using forth in one of my current projects ... so I'm not really qualified to say what forth needs or doesn't need 10:27:47 my major contribution to this channel is that I sometimes poke I440r into staying compatible with ANS ... which is not really that great an accomplishment 10:28:13 hehe 10:28:19 :) 10:28:21 mrreach your input here is welcome 10:28:26 well, I know forth inside out, and sometimes get to answer a tricky question 10:28:29 if you were to leave #forth would lose something 10:28:56 and lets face it - when have you actually poked me into being more compatible with the ans std :P 10:28:57 lol 10:29:04 yes, but I wonder what the point of contribution is in the long run 10:29:28 I440r: got you to rename your CASE 10:30:13 not so im compliant with ans :P 10:30:14 a couple of others that I forget, too, like i said, it's not a huge accomplishment because it's so easy to be ANS compliant 10:30:26 i didnt change the name of my case to be more ans compliant hehe 10:30:50 ok 10:31:49 i changed it because not doing so might confuse other coders 10:31:58 my case IS diffierent so... 10:32:07 right, which is exactly what ANS is about 10:32:29 it appears that you still miss the point 10:33:06 parden my saying it so bluntly 10:33:25 lol no - ans has some other features that try HURD people into things i consider bad 10:33:49 like wanting the SYSTEM hidden from the application coder 10:34:02 you cand to r>drop to skip a return level 10:34:13 : foo r> drop ; 10:34:23 isnt guaranteed to discard its own returnn address 10:35:13 correct 10:35:17 4 the curious, some hack of mine in tcl (a modified dotfile generator): http://hermantom.homeip.net/~tom/controller.jpg 10:35:28 very very very BAD 10:35:42 knowing the system is a liability to a coder hoping to port his app to a different platform/system 10:35:47 not a liability 10:35:57 NOT knowing the system is a liability 10:36:33 even ONE system-depent phrase must be translated for each system ported to 10:36:56 and ? 10:37:00 your point is ??? :) 10:37:05 that begins to look like an exponential work-curve ... dependencies X systems 10:37:15 so instead of that. you have to 10:37:20 #ifdefined some-system 10:37:24 do this 10:37:27 #slse 10:37:29 do that 10:37:32 #then 10:37:41 and dont tell me you dont have that sort of shit in forth 10:37:42 you DO 10:37:51 futhin: have u checked /~guest/forth/fsock/{scheme.txt,s,c} ? 10:37:51 no, write it in a system-independent manner, if you can ... then never worry about it again 10:38:06 well, *I* don't 10:38:09 ive seen code that needs conditionals for iforth, pfe, etc, etc, etc 10:38:24 i.e dont bothere learning the language or the system 10:38:27 just write the code ? 10:38:55 if it can be written with no system dependencies, then it should be written that way 10:39:08 sometimes one is forced, though 10:39:11 mrreach: don't leave :/ help us extend forth to a usable level 10:39:33 but we all disagree on what is needed ... it's pointless 10:39:49 not really, we aren't organized about it 10:39:51 er mrreach - #forth has alot of differing points of view 10:39:56 but we have a product 10:39:57 yes 10:39:59 #tunes doesnt 10:40:05 oh, good point 10:40:42 we might disagree on things, but that is good, because when we get together to make something, all the differing viewpoints will let us build a better product 10:40:52 because it forces each other to think outside of the box 10:41:03 mrreach theres nothing to stop you from "correcting" isforth lol 10:41:20 at this point, I don't see anything wrong with it 10:41:22 if you contributed an assembler it would be better tho imo :) 10:41:29 agreed 10:41:32 emphatically 10:41:48 * MrReach feels a rope around him, "ARG!" 10:42:19 stay around, code a little forth, etc... i'm sure, eventually that some of us will get off our ass and make some groundbreaking advances in extending forth to a usable level 10:42:30 lol 10:42:43 you can check out any time you like but you can NEVER leave :) 10:42:56 I was actually thinking about an API to manage assembling segments for ELF/NE executables 10:43:32 mrreach before you do that let me tell you what i plan for isforth 10:43:39 each vocabulary will have its own HERE 10:43:47 such an API would make SAVE-SYSTEM much easier 10:43:49 and a 'transient' flag 10:43:57 each will be saved to its own elf section 10:44:08 yep, I know that 10:44:09 i dont know if ill fragment head space in the same way tho 10:44:21 no need to 10:44:23 i might just lump all headers into ONE section 10:44:32 but vocabs will have their own section 10:44:43 if a vocab is marked as transient.... 10:44:46 you know, that's a paradigm that TCL uses, and it works *WAY* good 10:44:51 vocabulary foo foo definitions transient 10:44:56 it will be dumped on turnkey 10:45:00 you should think about this for a little bit 10:45:02 that whole section will not exist 10:45:07 I440r: some people really value being able to program with no system dependancies. They can just learn the language and use it. That's what Java is all about I think. We *could* create an environment like htat in forth. 10:45:38 herk java isnt a programming language :P 10:45:38 heh 10:45:45 its on a par with vb :P 10:45:46 hopefully smaller/faster than java 10:46:10 actually a java interpreter can be embedded. 10:46:25 I440r: I'd like to describe something that really isn't forth, but worth thinking about anyway 10:46:39 futhin: ~guest/s 10:46:58 futhin: ~guest/forth/fsock/s 10:47:00 futhin: ~guest/forth/fsock/c 10:47:08 imagine a system where each word gets it's own memory segment ... possibly two ... one for head and one for code 10:47:38 each word is an entity in it's own right 10:47:59 and can be deleted, renamed, replaced seperately from all other words 10:49:01 if yoiu redefine DUP in the FORTH vocab, it replaces the previous version, and all words calling DUP call the new version 10:49:04 --- join: XeF4 (~xef4@dsl-XIV-238.kotikaista.weppi.fi) joined #forth 10:49:25 i.e. everything is a defered word :) 10:49:33 but defining DUP in the DOHICKY vocab doesn't replace it 10:49:44 but overrides it 10:49:47 xef4! 10:49:52 greets, XeF4 10:49:59 greets, Reach, I440r 10:50:24 :) 10:50:59 it's a different KIND of distionary management 10:51:03 I440r: java is a programming language. it dosen't usually translate into a machine language 10:51:23 one of the implementation details would have to be a dispatch table for each vcab 10:51:30 I440r: what is your definition of a programming language??? 10:51:30 herk it was said in humor heh - even vb is a programming language - of sorts :P 10:51:54 herk there are only TWO real ones... assembler and forth 10:52:00 vb is definately a programming language. it's just one of the crappiest I've ever seen 10:52:00 nothing else is real - its all ficticious :P 10:52:05 its LIES i tell you! 10:52:22 it's crap, but unfortunately it exists 10:52:29 or. as churchil stated it 10:52:41 terminalogicl inexactitudes 10:52:43 I440r: so, to get the old behavior, you'd have to do somthing like ['] DUP RENAME: olddup : DUP ... olddup ... ; 10:53:22 or have everything as a defered word where the default action is what you put between : and ; hehe 10:53:33 if you redefine it you are realy just revectoring it 10:53:39 ok... lead on.... 10:53:58 correct, because the dispatch table would point to a new bit of code 10:54:11 I440r: how is that different from token threading? 10:54:13 (threaded however you wish, that's outside the scope of this idea) 10:54:37 well, it would end up as a type of token threading, *BUT* 10:55:07 that's not the point, the changes in dictionary management would cause a change in how people think of the language 10:55:16 xef4 mrreach is talking about any new definitions replace old ones. so any calls to the old defs get redirected tot eh new def and the old def disappears 10:55:32 or renaming the old def 10:55:59 AND defs with different vocabs would still retain their contextual meaning 10:56:34 so you can have 'and' in forth forth and assembler but if you redefine it in either - you replace it 10:56:36 * herkamire is back (gone 00:31:07) 10:56:39 gosh, I've been away so long... 10:56:45 no, not at all 10:57:07 AND would have seperate defs in seperate vocabs 10:57:34 if you redefined AND in the FORTH vocab, you would change that one, and all the words that used that one 10:58:01 yes 10:58:06 the AND in the ASSEMBLER vocab would remain unchanged, unless it called the AND in the FORTH vocab 10:58:14 'and in forth and 'and' in assembler are seperate entities 10:58:22 ok - how would this be better than say 10:58:23 correct 10:58:26 : foo ..... ; 10:58:39 : xxx .... fooo .... ; 10:58:44 nono< I can't figure out if this has any advantages ... 10:58:44 : foo ..... ; 10:58:50 : yyy ... foo ... ; 10:58:59 but I think it's an idea worth thinking about 10:59:00 where yyy references the second definition of foo not the first 10:59:04 ok 10:59:07 yes 10:59:18 because ... 10:59:19 it would be less confusing to a non forther heh 10:59:30 the dict keeps GRWOING, no matter what 10:59:47 once a def is in the dict, it's set in stone 10:59:47 ok heres the problem 10:59:58 better to have a SIMPLE facility for changing word behaviour by XT reference 10:59:59 how would you free up the old definition 11:00:10 you cant overwrite it becahse the new def might be larger 11:00:17 while replacing it? 11:00:19 you have dictionary fragmentation problems now 11:00:21 yes 11:00:24 : xxx ...... ; 11:00:29 : yyy ....... ; 11:00:33 : zzz ...... ; 11:00:35 that's correct, but still not biggie ... like this ... 11:00:36 : xxx ... ; 11:01:09 the new xxx is smaller so it can overwrite but now you have some unuesd space etc 11:01:24 first, compile the new definition into a smallish black of allocated memory, if failure, then deallocate and throw something 11:01:37 s/black/block 11:02:17 if successful, change the execution vector to point at the new code region, then deallocate the previous sement of memory 11:02:22 mrreach i was coding a forth that would write directly into flash - the new defs would be coded into a ram buffer and not get flashed till ; - somethingllike this ? 11:02:35 the header segment of mem needn't be touched 11:02:48 yes 11:03:13 defined if overwite else create then ? heh 11:03:21 and you're right, there *WOULD* be some fragmentation, but that gets cleaned up each time the system is restarted 11:03:44 aha so part of the system boot would be to relocate all definitions :) 11:03:52 also, nearly all compilation is done at startup, seldom when the app is runing 11:03:56 well isforth already does that with headers :) 11:04:18 so fragmentation shouldn't be a total killer 11:04:24 no. 11:04:53 heh, unless you're doing Genetic Algorithyms or something 11:05:00 lol 11:05:00 MrReach: and what if I use my system for generating genetic graphic art for weeks continuously? 11:05:11 of course, such a think can't be called "Forth" 11:05:11 * XeF4 does 11:05:22 it can 11:05:28 if ans can call itself forth 11:05:35 bah 11:05:40 chuck says that the ans standard doesnt describe forth 11:05:45 but a language with the same name 11:05:45 yup 11:05:47 i agree 11:05:52 i agree too 11:05:55 XeF4: I understand that anyone can figure out a way to tax/break a system 11:06:30 XeF4: does you're program define/redefine 10s of thousands of forth words?? 11:06:46 as it is, the dictionary would keep growing and growing 11:07:14 mrreach sometimes being able to flip a defered word between two diferent definitions is useful :) 11:07:19 no, one of the premises is that forth words always behave the same 11:07:27 MrReach: yes, this is why I am working on my own colorforth with (simple) copying GC 11:07:34 er - no it isnt 11:07:44 key for instance 11:07:48 and emit 11:07:53 key MIGHT read the keyboard 11:07:57 ok, this doesn't preclude defered words, they would still act as they always had 11:07:57 but it might also read a file 11:08:07 emit might got to the console but it might also go to a printer or a file 11:08:17 understood 11:08:34 it would sure make development of apps much easier 11:08:52 just redefine all the words with new behavior and try again 11:08:55 maybe - i cant see your scenario as a BAD thing but 11:09:22 it might not be as easy to implement as it looks to be 11:09:31 right 11:09:51 actually, this model is much closer to Java and TCL than forth usually is 11:10:13 but these languages have some advantages 11:10:20 tho ease of development should not be an issue for system writers 11:10:31 ease of development WITH the system should be 11:10:33 APP writers, I440r 11:10:41 oh, ok, yes 11:10:48 lol 11:11:05 I440r: it should, because if you have something as cumbersome as C, system writers tire out early and write buggy systems 11:11:07 if i do something very very difficult that will make writing apps with isforht easier - its a good thing 11:11:20 if i do somethign very simple thats very difficult to acuytlly use... its bad 11:11:24 when writing an app, I sometimes find the forth environment a little awkward 11:11:39 xef4 does> is a very complex word 11:11:46 but its a very useful one 11:11:49 tho - not required 11:11:50 erm ... it's complex to use 11:11:54 no its not 11:12:01 it's not complex :P 11:12:04 fairly easy to implement 11:12:14 does> is easy to use. i used it for years without understahnding HOW it worked heh 11:12:20 HOW it works is very complex 11:12:38 heh, we seem to be at polor opposites again 11:12:39 they are talking about using multiple does> parts in clf now 11:12:41 all does> does is put code inside the word in the dictionary 11:12:58 so each time you use the does word it runs the following does> part 11:12:59 I440r: my structures package uses multiple does> 11:13:03 sounds like bullshit to me 11:13:21 : foo create xxx does> yyy does> zzz ; 11:13:24 er. wtf 11:13:24 heh 11:13:42 i cant see how thats of any use at all heh 11:13:44 word dictionary:
does> thisiscode -->
11:13:44 one for defining the defining words, one for what the words the defining words build should do 11:13:50 ill have to take another look at your structures code 11:14:11 1 field: byte: 11:14:20 2 field: word: 11:14:25 4 field: cell: 11:14:46 25 byte: lname 11:14:53 mrreach i saw someone talk about DETERMINING the size of a cell at RUN time 11:14:55 40 byte: fmname 11:15:06 40 byte: addr1 11:15:10 that has some use but i think CELL is a bullshit word 11:15:14 and cells too 11:15:28 isforth defines neither 11:15:35 the first does> stores the field size into the created words (byte: in this case) 11:15:40 because isforth is a THIRTYTWO bit forth 11:15:47 one already knows the size of a cell 11:15:55 the second does is for what words created by byte: are supposed to do 11:16:29 i440r: what if the coder forgets the cell size? how is he going to get the cell size if there is no CELL ? 11:16:48 futhin a 'cell' is how big in a 32 bit system again ? 11:16:49 i forget 11:16:59 well, I need three names for 8, 16, and 32 bit storage areas 11:17:09 CELL . 11:17:13 i440r: it's 32, but if the coder doesn't know it's a 32 bit system, he's fucked 11:17:22 good 11:17:26 he should be 11:17:28 it's usually four 11:17:30 heheh 11:17:38 if the coder doesn't know what machine word size he has on his system, he is really fucked. 11:17:46 for a 32 bit system, unless a "byte" is not 8 bits 11:17:50 refer back to my 'not knowing the system or the language' statement 11:18:05 mrreach a byte is ALWAYS 8 bits 11:18:05 yeah, but the coder could just type "CELL" and viola, he knows what the system is 11:18:19 a 4 bit system uses 2 nibbles for a byte 11:18:26 'evening 11:18:26 a 6 bit system cant use bytes 11:18:29 anyway, I was talking of multiple DOES> ... not about the validity of CELL 11:18:30 bongo :) 11:18:35 greets, Speuler 11:18:35 yes heh 11:18:43 hi gang :) 11:19:15 speuler: how's your brainf**k forth implementation going? :) 11:19:31 and also the idea of a rather more flexible dictionary 11:19:33 what about writing $0123456789abcdef to addr, reading addr+1, and determine machine word size that way ? 11:19:41 oh yea - when you finish it i want to port it to isforth and make it part of the isforth kernel :) hehe 11:19:51 every forth should also be a brainfuck :) 11:20:09 eh 11:20:19 i thought speuler was implementing forth inside brainfuck 11:20:21 I440r: OTOH, how do you plan to get app-level portability between all those different endian and word-size isforths without CELL and friends? 11:20:33 futhin: haven't been working on it for a while. 11:20:41 futhin: last thing i did was the memory interface 11:20:45 speuler: ah, what have you been working on? 11:20:55 simple, he doesn't write portable code at all 11:20:59 xef4 eh? who cares! rewrite it - this isnt c - rewriting isnt such a big deal 11:21:07 he things code should be optimised for the machine it runs on 11:21:07 start over. write it again. no problem 11:21:14 (absolute addresses, rather than relative, inc/dec based addresses 11:21:32 and i wrote an optimizing translator 11:21:47 I440r: so you retract your app-level portabiliy plans? 11:21:52 not an invalid perspective, but I'm never likely to use his code in win32forth 11:21:55 compresses things like multiple incs, decs, copy, clear etc into single instructions 11:22:10 translates to basic, forth, assembler 11:22:18 * MrReach laughs. 11:22:21 xef4 all apps written for x86 isforth - will run on ppc isforth 11:22:29 i could care less if they ran in gforth or not 11:23:21 the prob with CELL is that it must be rigorously applied 11:23:21 futhin: been busy with internet cafe. new machines are here now. bought some new network infrastructure 11:23:29 gbit stuff 11:24:06 multi-nics 11:24:15 nice 11:24:30 were you getting some slowdowns on your intranet? 11:24:40 why upgrade? 11:24:41 thought i better do wrong investment now than later 11:24:54 new machines are diskless 11:24:54 speuler you runnign yor own inet cafe now ? 11:25:05 boot server, nfs root 11:25:07 I440r: will the PPC isforth also be 32-bit? 11:25:11 * MrReach nods. 11:25:13 lots more traffic on the net 11:25:21 xef4 eh ? 11:25:29 I440r: not my own. 11:25:33 (not yet:) 11:25:36 the fiber stuff is coming down in price, too 11:25:52 MrReach: not sure whether that would be of big advantage 11:25:56 Speuler: you thinking of buying out the owner??? 11:25:58 opper gbit line is 3 meters 11:26:16 MrReach: there are 2 cafe's now. 20 intended 11:26:23 you mean 30 meters? 11:26:26 i go for ownership particiapation 11:26:37 3 meters, to gbit switch 11:26:48 will go 100 mbit to 100 mbit switches 11:26:51 ok, not very far 11:26:57 I440r: newer PPCs are , afaik, 64-bit 11:27:09 yup, that is correct i think 11:27:11 oh! you mean your application is 3 meters, not the max length! 11:28:00 max len should be about 15 meters with copper 11:28:04 so you've got switches with 16 100/10BT ports, and a gigabit uplink port?? 11:28:11 500 or 1000 with optical fiber 11:28:17 * MrReach nods. 11:28:25 but, as i use a 3 meter copper line, no need for fiber 11:28:37 wireless gets cheap. 11:28:38 so are newer pc's heh 11:28:43 about 60 $ for pci card 11:29:11 yes, the guy who is selling me the computer store is building a national wireless network 11:29:47 that must be a huge investment.. 11:30:00 no, actually, it's almost a $0 investment 11:30:05 buying all the wireless transmitter and reciever stations.. ? 11:30:30 compared to digging trenches, putting in cables, it should be very cheap indeed 11:31:05 i'd think there's a future for wireless isps 11:31:07 here's the deal, you are traveling, you stop at a Starbuck's or at a McDonald's that displays his logo ... you pay $5/hr and you can link up with your laptop and a wireless modem 11:31:31 was considereing to travel that route myself 11:31:35 with the cafe 11:32:02 cafe goes international 11:32:10 nothern africa, eastern europe 11:32:20 now, on the installation end, the business is expected to already have an internet connection, maybe for other reasons altogether (talking to corporate headquarters) 11:32:21 bad telecom infrastructure 11:32:45 wireless with dish gives you about 40 miles 11:32:59 there's a $200 installation fee charged to the store ... that takes care of the hours the tech needs to install antenae 11:33:20 then a $3/mo rental fee 11:33:44 2 years pays for the antenae, and the rest is profit 11:34:24 I can't recall if you had to use his $14.95/mo internet service or not 11:34:43 heh, I probably shouldn't be saying any of this 11:35:31 heh 11:35:44 being geographically separated, we won't compete 11:36:01 no, but a lot of people in this channel now 11:36:15 and it's a matter of courtesy and professionalism 11:37:02 anyway, I gotta head down there, wanna see what type of business comes on Saturdays 11:37:08 courtesy when money is involved ? 11:37:25 heh 11:37:30 well yes mrdaydreamer you're right :) 11:38:10 I do not hold myself to the standards that others choose for themselves 11:38:30 sometimes I am more ethical, sometimes less 11:50:56 ethics is important when it comes to coding, will you be a purist and code in forth or will you be evil and code in vb? :) 11:58:49 does forth provide any commands for drawing any graphics at all ? 11:59:01 any commands for turning on a pixel.. ? 11:59:16 without resorting to asm ? 11:59:49 depends on the forth. 12:00:39 colorforth yes, Enth >= 0.3.00 yes, Win32 abominations probably, and I have written an fbcon vocabulary for bigforth 12:35:35 --- nick: Fare -> Fare61453 13:11:49 mrreach are you on dal ? 13:11:54 i cant seem to connect 13:11:55 grr 13:14:03 ./server jade.va.us.dal.net 13:14:09 always works for me 13:16:41 yup thats working i think 13:16:50 i usually just do irc.dal.net or us.dal.net 13:17:01 nope 13:17:02 not working 13:17:10 its just doing an immediate "connection timed out" 13:19:19 nope 13:19:24 i cant connect to that either 13:20:20 yeah well, why the hell are you trying to get on dalnet? #forth is all you need :P 13:20:47 shaddap or ill ban you :P 13:20:52 heh 13:22:44 neway i gtg to stores dammit - bbl :) 13:22:47 --- quit: I440r ("brb") 13:59:33 --- quit: XeF4 ("pois") 14:25:36 --- quit: herkamire ("Client Exiting") 14:54:31 --- quit: tathi ("Client Exiting") 14:56:40 --- quit: onetom (Read error: 110 (Connection timed out)) 15:02:23 --- join: onetom (tom@adsl52032.vnet.hu) joined #forth 15:19:34 --- nick: Fare61453 -> Fare 16:17:16 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-205-132.vienna.va.fcc.net) joined #forth 16:17:16 --- mode: ChanServ set +o TheBlueWizard 16:17:21 hiya all 16:18:48 Hi :) 16:19:25 hiya rob_ert 16:26:11 --- join: I440r (~mark4@1Cust19.tnt1.bloomington.in.da.uu.net) joined #forth 16:26:12 --- mode: ChanServ set +o I440r 16:26:20 :) 16:27:08 hiya I440r!!! 16:27:08 tbw! 16:27:08 rob :) 16:27:31 Yah! 16:27:35 heh 16:27:45 Fresh pic of me for you all: http://ostling.no-ip.com/images/robert.jpg 16:28:26 * TheBlueWizard zooms over to view the pic 16:29:01 i still got 4 hours of apt-get upgrade going heh - remind me of url later and ill check it out :) 16:29:45 --- quit: davidw (Read error: 113 (No route to host)) 16:30:13 Hehe 16:30:23 heh....um, is this cylinder cement thingie your home, rob_ert? (ducking ;) 16:30:38 TheBlueWizard: Actually, I share it with a couple of friends. 16:30:48 lol 16:31:30 http://ostling.no-ip.com/images/matte.jpg <-- It's true! Here's one of the guys 16:34:10 --- quit: Speuler (Read error: 110 (Connection timed out)) 16:34:34 * TheBlueWizard zooms over to view another pic 16:35:34 hmm...ok, I see you've made those cement objects your precious little community :) human prarie dogs, eh? :) 16:35:59 Yeah... no money - no trouble. 16:36:09 lol 16:36:10 Our own anarchist society on the city dump. 16:37:37 you know, there are all sorts of microstates on Net nowadays...I know one: Kingdom of Talossa...it is outrageous :) 16:38:13 Kingdoms on the internet? Man, some people have to get theirselves something to do! 16:39:05 Forth on Net? Man, some people have to get theirselves something to do! (mocking tone) 16:39:29 lol 16:39:39 Forth = something to do. Sitting on a non-existting trone = nothing to do. 16:39:47 non-existing* 16:40:40 heh 16:41:55 It's true. What you're doing is _not_ normal, TheBlueWizard :) 16:42:21 * rob_ert starts singing Ob-La-Di, Ob-La-Da very loud. 16:42:24 lol...and am damn proud of it 16:58:32 --- nick: Fare -> Fare3053 17:26:14 --- quit: rob_ert ("(:") 17:45:10 --- nick: Fare3053 -> Fare 17:46:10 hiya Fare 17:55:11 wb fare 17:57:13 hiya I440r hehe 18:08:18 :P 18:33:40 hihi 18:33:54 * MrReach nods. 18:34:06 hiya futhin 18:34:09 hiya MrReach 18:34:56 thebluewizard: kingdom on the net? that sounds cool 18:35:06 maybe i should start up one 18:35:07 mrreach is there any GOOD opcode reference for ia32 ? 18:35:07 ooooh 18:35:12 ;) 18:35:22 something that doesnt require you to read 24896529845982 gigs of bullshit to get all the info ? 18:35:29 lies 18:35:31 no such thing 18:35:38 you mean other than the programmer's reference manual??? 18:35:39 if such a thing were made, the world would end 18:35:51 specificaly OTHER than that pile of shit.... yes 18:36:10 2839429834598246924 pages of SHIT with 3 pages worth of usful info 18:36:18 I don't know why they don't publish that in HTML ... but the copyright restrictions probably prevent me from converting it myself 18:36:20 futhin: do a google on either microstate or on "kingdom talossa" 18:37:00 I440r: no, I don't. There's some quick references out there on the net, but they are seldom complete 18:37:00 hmm...I thought I saw a good x86 opcode stuff...lemme scrounge around... 18:37:10 foo :( 18:37:18 what about the manual for NASM? 18:37:22 er 18:37:25 fuck nasm 18:37:35 i looked at its sources for all of 5 minutes 18:37:37 no, the manual describing the instruction set 18:37:38 thebluewizard: eh, the talossa government has elections and stuff.. doesn't sound very much like a kingdom 18:37:39 blah blah blah 18:37:45 I440r wants a compact table 18:38:05 its a manual 18:38:10 it has all the info in it 18:38:19 to get all related info you have to read the whole manual 18:38:27 futhin: yeah...it is a constitional monarchy...it all started with a guy declaring a secession of his bedroom from USA :D 18:38:28 if the info was well represented it would be easy to follow 18:38:36 but its not 18:38:57 and im in no mood to wade through 500 pages of badly written shit 18:39:11 with all the good titbits of info scattered 18:39:32 actually, I thought the Intel docs were well written, but maybe that's because I knew the guy that wrote them. 18:39:40 all i care about is one table giving all instructions plus their encoding 18:39:56 look at the opcode chart in the manual 18:39:56 well, a blow-by-blow detailed info on each opcode amount to getting ahold of a book...you might as well get an Intel PDF.... 18:40:06 and i dont want something that does 18:40:13 aaa opcode blah blah 18:40:18 3 pages of description 18:40:18 look at the opcode chart in the manual 18:40:22 fuck the description 18:40:24 i have 18:40:34 it's after the instruction set description 18:40:37 actually the whole fucking idea is pissing me off big time 18:40:55 im getting more and more frustrated over it 18:41:01 in table form, LSNibble across the top, MSNibble down the side 18:41:05 intel USED to write realy fucking good dox 18:41:21 now they are overly verbose and spend 50% of their time telling you how great intel is 18:41:25 I only have a 386 doc hehe 18:42:04 every time i try write an assembler i get lost in a sea of bullshit and get tied up in knowts and eventaully say 18:42:05 FUCK IT 18:42:19 so I see 18:43:02 I have a 386 assembler written in Forth that I obtained from UseNet some time ago...wanna that for a start? 18:43:25 there are a few assemblers for forth out there 18:43:31 I440r: you decided to bite the bullet??? 18:43:35 surely you can grab a few and adapt one of them.. 18:43:47 they are rather hard to understand 18:43:52 * TheBlueWizard hasn't tried out that assembler stuff hehe 18:44:15 tho' it looks rather well done...haven't examined it closely 18:44:17 i doubt i can write the assembler 18:44:22 not in a million years 18:44:35 lol...it ain't that bad 18:44:39 i wouldnt know where to fucking begin 18:44:41 why are you fustrated with the instruction set, then? 18:44:50 of course the one I have uses Forth syntax 18:45:10 because until i get an assembler isforth will proceed no further 18:45:19 when i have an assembler isforth will continue 18:45:29 i can see no point in continuing if i dont have an assembler 18:45:59 not having an assembler has become a MAJOR pain in he ass 18:46:11 i cant do what i want the way i want to because i cant code shit in asm 18:46:25 unless i add the asm part to the kernel and have nasm assemble it 18:46:29 im not playing that game 18:46:33 if i never get an assembler 18:46:38 isforth will never go any furthyer 18:47:26 I am confuzzled...you are presently using NASM to code IsForth, right? 18:48:34 and if I follow you, you want to develop a Forthish assembler to write IsForth in, right? 18:49:39 i440r: what assembler do you need? 386? 486? pentium? 18:49:54 p4 18:49:55 mmx 18:49:56 Starting Forth has a very simple, very easy to understand assembler 18:49:58 fpu 18:50:03 3dnow 18:50:07 ALL instructions 18:50:29 and it has to support things like 18:50:33 mov eax, 5 18:50:54 if it doesnt support 5 # eax mov thats fine by me :) 18:51:07 but i MUST support sane asm order 18:51:21 so you want a Forth program that support traditional, full blown assembler stuff...that's a lot of work... 18:51:48 s/support/assemble/ 18:52:28 and you think what i have in isforth NOW wasnt alot of work ? 18:53:25 do you use all the instructions? 18:53:35 why not start off with an assembler that has all the instructions you need 18:53:49 I wasn't saying IsForth wasn't a lot of work...it is a lot of work...but consider this: you will have to allocate and deallocate bunch of data associate with source code, like local label names, temporary references, whatever 18:54:03 futhin you want me to restrict what my users can and cannot do ? 18:54:11 not trivial 18:54:15 i dont want a 'partial' asselbler 18:54:18 i440r: the goal is to metacompile FIRST! 18:54:26 then you can extend the assembler later 18:54:31 or get somebody else to do it 18:54:43 dood you tell me how i can get isforth to metacompile a kernel thats 99% assembler 18:54:48 without a fucking assembler 18:54:51 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 18:55:26 you aren't using all the assembly instructions to code isforth are you? 18:55:46 why not just focus on a partial assembler that has all the instructions you used for isforth 18:55:53 so you can get started with metacompiling 18:56:30 fine 18:56:37 ill accept a crippled assembler tobegin with 18:56:59 ill even accept an assemblrer that only ahs 5 # eax mov to begin with 18:57:11 to BEGIN with 18:57:14 is that useful? :) 18:57:15 heh 18:57:19 heh 18:57:34 but until i have an assembler isforth is DEAD in the water 18:57:35 period 18:58:48 i also think if someone else writes the assembler it will utilize some word(S) that i have deliberatly not included in isforth 18:59:00 so i shapp probably have to write the assembler myself 18:59:02 so 18:59:11 isforth is dead in the water for the next 4 or 5 years 18:59:29 I440r's rationale for wanting own assembler is to free IsForth from dependence on NASM, and thus from dependence on C compiler and on libc...thereby making it completely freestanding on its own....am I totally dead on the target? 18:59:54 isforth is already free of all other libraries 19:00:04 i can write apps in isforth any time i want 19:00:08 * TheBlueWizard nods 19:00:15 and not rely on a single bloated lib 19:00:25 but isforht cannot assemble coded definitions 19:00:34 thats a crippled forth imho 19:00:45 and its starting to become a nusence 19:01:01 im continually being frustrated by not being able to CODE definitions 19:01:03 of course once assembled, IsForth is freestanding on its own...but to continue developing IsForth right now, one would need NASM.... 19:01:31 thebluewizard: send me a copy of the 386 assembler you have :) 19:01:34 thats starting to become unacceptable to me 19:01:58 ok...metacompiling does help some (especially with code definitions)...but here's one good interim solution 19:03:13 oops...I brainfart...I mean to say COLON, not CODE 19:03:37 * TheBlueWizard turns on the fan to dissipate the bad smell 19:05:00 here's one interim approach to compiling a COLON definition...by writing it much like Forth, but slanting it towards assembler a bit...making parsing much easier 19:05:04 example: 19:06:49 when I compile the C program: int _start() { return 3; } 19:07:05 it makes a binary that is 14K 19:07:21 : WORD label: word_loop OVER C@ = 0BRANCH word_exit SWAP 1+ SWAP BRANCH word_loop label: word_exit ; 19:07:49 --- quit: I440r (Excess Flood) 19:08:05 --- join: I440r (~mark4@1Cust19.tnt1.bloomington.in.da.uu.net) joined #forth 19:08:27 the little compiler will just crank out the assembler code by reading off the tokens, except for certain keyed ones, which it handles differently 19:08:55 I have some Python snippet which does that...I haven't worked on it in a long time hehe 19:09:37 compiling the colon definitions is not the problem tho is it 19:11:56 * TheBlueWizard is looking for forth 386 assembler 19:15:55 the syntax for X86 assembly is much more complex than PPC (as is the instruction set) 19:16:37 it took me about a half a day to write an 8051 disassembler 19:16:45 i STILl couldnt write an 8051 assembler 19:16:51 even still, I don't think it would take 4 or 5 years to write an asembler that would work for the basic stuff you use all the time. 19:17:12 basic stuff i use all the time like 19:17:27 mov eax,[esi+4*ebx] 19:17:28 or 19:17:29 hmm...couldn't find that assembler code...maybe it is on another machine? may have to fire up...but it is late night now :P 19:17:38 jmp [esi+4*ebx] 19:18:15 and I wanna finish reading /. and K&K comix :) 19:18:37 kevin and kell? 19:21:00 yup 19:25:47 --- quit: I440r ("Reality Strikes Again") 19:33:13 --- join: I440r (~mark4@1Cust19.tnt1.bloomington.in.da.uu.net) joined #forth 19:46:53 cool :) I've read some of them 19:49:27 my favorite is www.angryflower.com but you have to read a bunch of them before you get into them 19:49:46 and most of them has been scanned poorly, so it's poor quality, but whatever 19:50:00 yeah...though it does getting used to at first...the notion of eating is rather peculiar.... 19:50:03 I'll check it out some time 19:50:05 generic assembler (but ugly coding) http://home.hccnet.nl/a.w.m.van.der.horst/asgen.frt 19:50:26 er, it's not an assembler 19:50:34 it's tools for making an assembler 19:50:35 heh 19:52:08 here's 386 assembler 19:52:09 http://home.hccnet.nl/a.w.m.van.der.horst/i86assembler.txt 19:52:16 oh is that the guy that wrote that fucked up assembler ? 19:52:16 heh 19:52:26 with a realy fucked in the head but clever syntax? 19:52:46 lol 19:52:50 no - i guess not 19:52:51 heh 19:57:26 gonna go, i haven't been productive at all today, blaming it on mirc :P 19:57:40 haha...bye Fare 19:57:47 oops...bye futhin 19:59:04 --- quit: futhin ("byebye") 20:26:03 --- quit: I440r ("Reality Strikes Again") 20:38:32 gotta sleep...bye all 20:38:36 --- part: TheBlueWizard left #forth 20:55:05 --- join: I440r (~mark4@1Cust19.tnt1.bloomington.in.da.uu.net) joined #forth 21:34:28 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 21:34:51 hey need help 21:35:09 somebody tell me why 105 emit and 1629516649 emit both give me "i" ?? 21:35:41 i'm fetching from a string, and i don't want to get a stupid number like 1629516649 i want to get 105 !!! 21:35:49 i440r 21:35:52 mrreach 21:35:53 onetom 21:35:58 herkamire 21:36:09 (typing the names in the hope it beeps for you or something..) 21:36:55 lol 21:36:57 no beep 21:37:02 ok 21:37:12 so help me out here, this is fucked up behavior i'm getting.. 21:37:58 ? 21:38:20 i did something like: s" blahblah" and then i'm taking that addr, adding 5 to it, and fetching the value located at the addr 21:38:39 which means i've got a value on the stack which corresponds to "l" 21:38:48 well i consider s" to be your first mistake 21:38:50 and i type emit and it displays "l" 21:38:51 try this instead 21:38:53 create foo 21:38:58 ," blahblah" 21:39:04 then do foo 5 + 21:39:07 or what ever 21:39:08 but the value on the fucking stack, is a fucking 1629516649 instead of 105 !! 21:39:31 did you do fetch or cfetch 21:39:40 hm 21:39:44 c@ 21:39:46 dummy 21:39:48 :P 21:40:10 heh :) 21:40:11 works now 21:40:17 lol 21:40:22 hey what did i say! 21:40:30 i ain't no real forth coder :P 21:40:38 :) 21:41:29 don't u diss s" tho :P 21:41:30 btw - what forth are you doing this in ? 21:41:33 gforth 21:41:34 s" is bad 21:41:38 trator!!!!!!!!!!!!!!!!!!!! 21:41:41 heheh 21:41:48 it's on my sourceforge account 21:41:53 s" is a bad word 21:41:58 it's a lot of hassle to get on the compile farm and compile a new forth 21:42:07 which is why i haven't compiled isforth or bigforth 21:42:20 what's wrong with s" ? 21:42:22 rm -rf sourceforge 21:42:31 yeah, but then i'd need a shell account 21:42:36 install debian and have done with 21:42:38 from somebody with a fast connection 21:42:40 heh 21:42:48 s" is bad. nuff sex 21:42:50 sed 21:42:51 not going to install linux for a few months.. 21:42:58 nuff sex? no such thing! :P 21:43:09 never ennuff sex 21:43:09 can't have enuff sex 21:43:22 exactly 21:43:26 heh 21:43:42 does thebluewizard have a fast connection? ;) 21:43:54 dunno 21:43:59 fare does :) 21:44:04 oooh ya 21:44:48 i could get one of those tunes accounts 21:45:01 nothing wrong with sourceforge tho 21:45:08 except for lag occasionally 21:45:48 futhin: as i saw the problem got fixed :) if there were a 4th tutorial faq this will b one of its questions 21:46:09 heh 21:46:55 futhin: u should try bigforth, i u wanna c something amusing! 21:47:13 futhin: probably i could try 2 compile it to u 21:48:03 bigforth is written in asm isnt it ? 21:48:03 not c ? 21:48:19 no idea.. 21:48:25 but its not free or something 21:48:29 have you ever tried lina ? supposed to be some linux forth 21:48:35 fig-forth or something 21:48:43 probably ooold 21:50:06 im bored :( 21:50:07 http://home.hccnet.nl/a.w.m.van.der.horst/lina.html 21:50:40 create foo 21:50:47 ," blah blah" 21:50:53 does that leave a length on the stack? 21:51:36 no 21:51:36 you have to say 21:51:36 foo count 21:52:20 count remembers only the last string created right? 21:52:40 no 21:52:45 count takes an address 21:52:50 the address of a counted string 21:52:50 I don't see what's wrang with s"... isn't it just: : s" bl word ; ?? 21:52:56 foo is the address of the string 21:53:22 I440r: bigFORTH is a native code Forth. It is available for Linux and Windows 21:53:25 95/98/NT under GPL. 21:53:26 how the hell is count finding the end of the string? don't tell me there's a terminating character at the end! :P 21:53:26 : blah s" foo" blah blah ; 21:53:28 is bad 21:54:00 the string is IN THE WAY 21:54:16 MINOS is available under the GPL, not the LGPL. 21:54:19 a terminating character at the end of strings is bad :P 21:54:21 its not like ." where the string is USED by (.") its just IN THE WAY 21:54:26 you have to branch arround the string 21:54:36 onetom: bigforth was coded in asm ? 21:54:41 a non executable string does NOT belong in the instruction stream 21:54:47 ." is an executable string 21:54:48 so applications developed w its gui builder (MINOS) r not free 21:54:57 futhin: dont know 21:55:05 probably coded in c 21:55:09 heh 21:55:23 or uses a c wrapper 21:55:24 or something 21:56:32 somebody was looking at all the forths 21:56:36 avail on linux 21:56:48 and was looking for a pure forth or something 21:57:13 and i remember him saying that bigforth uses a c wrapper or something 21:57:53 so applications developed w its gui builder (MINOS) r not free 21:58:01 you mean they _are_ free ? 21:58:31 since both minos and bigforth are GPL'ed 21:58:35 futhin: theres a bigforth.c, but its pretty close 2 assembly, and it has a bf_link() function (ithink dictionary linking code) for example, what is written in asm 21:58:59 futhin: dont know, check http://www.jwdt.com/~paysan/bigforth.html for urself 22:01:05 I440r: probably writing bigforth in asm wouldnt worth the time so the most critical parts of it were directly coded in asm (and this is a good practice i think, coz C source is more compact than asm. this is undebatable, so dont even try 2 contradict :P ) 22:01:27 but i gotta go now soon 22:01:33 onetom - blah 22:04:19 I440r: why? how many times did u compared the C code w its asm counterpart? 22:04:31 heh 22:04:35 onetom: you are trolling :P 22:05:08 onetom you forget i am a real time embedded control applications software engineer 22:05:30 i compare code produced by c compilers and reverse engineer code produced by c compilers all the time 22:09:05 my most precious two lines of asm code 22:09:05 xor bl,20 22:09:06 cmp al,bl 22:09:19 I440r: im also an embedded applications software engineer - tho i dont compare c w asm that much as u - but compared just enough 2 c there is no reason for pure asm usually 22:09:22 bwahahaa! ph33r the code! :P 22:09:44 coz the space and the speed of C is just satisfactory 22:10:48 futhin: iwas wrong, it seems there is a precompiled bigforth 4 win32! try it immediately! :) 22:11:32 onetom have you ever written code to ramp up a stepper motor ? 22:12:04 or do manchester encoding and decoding at 1mbps for a 1553 bus ? 22:12:13 on an 8051 22:12:14 onetom: heh :) 22:12:21 using BIT banging 22:12:36 I440r: hehe many times :) 22:13:13 actualy ramping up a stepper motor is a fairly simple thing. you just use pwm basically 22:13:14 I440r: imean, code 4 stepper motor 22:13:29 pwm? 22:13:33 why? 22:13:39 try doing it usingonly one interrupt 22:13:57 because its the width of the pulse that says what level you are at heh 22:14:02 --- quit: futhin ("brb") 22:14:20 but how r all these related 2 the C<->asm problem? 22:14:22 the 1553 bit banging is definatly non trivial 22:14:32 it the controller is fast enough... 22:14:34 write it in c - it will be very erratic 22:14:39 write it in asm - it will be stable 22:14:49 stable :))))))) 22:14:56 the particular controler im talking about on both of these was an 8051 22:15:14 if u cant write programs in C then dont do it, thats rights :P 22:15:23 neway rite now im in a bit of a bad mood 22:15:29 i cant write this assembler 22:15:35 i never could write an assembler 22:15:54 i know the instruction encodings for the 8051 almost by heart. inside out 22:15:57 anyway, c compilers 4 micros usually compile very nice code 22:16:01 i can disassemble 8051 in a snap 22:16:14 i couldnt even BEGIN to write an 8051 assembler 22:16:43 so nice, that u c infront of u the compiled asm code while typing the c 22:16:45 code 22:18:09 I440r: the most simple assembler is a list of all the available possible machine instructions 22:18:43 assigned 2 asm like macros 22:18:53 macronames 22:19:07 like 1234+[ebx+4*ecx] 22:19:16 yup 22:19:19 certainly 22:19:21 yes thats a SIMPLE opcode :P 22:19:29 the constants will b parameters 22:19:36 there are probably some more COMPLEX opcides 22:19:36 but tahts NOT the only issye 22:19:43 issue you cant do an assember like this 22:19:44 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 22:19:46 but eg, the registers wont 4 the 1st time 22:19:52 weird, gforth doesn't have FORGET 22:19:55 : aam aam-opcode c, ; 22:20:01 it wont work 22:20:10 and dont think of such a fuckin CISC monster like intel 22:20:13 neither does isforth yet heh 22:20:15 4 the 1st time 22:20:39 futhin: gforth have marker instead 22:20:48 if isforth is to have an assembler it will REQUIRE complex opcodes like that 22:20:49 futhin: look it up in its doc 22:20:53 isforths kernel USES them 22:20:57 ALOT 22:21:10 xchg ebx, [esp] 22:22:41 : test 15 for i . next ; counts down from 15.. what if i want to count up from 0 to 15? 22:22:58 er 22:22:58 hm, i should look at my old sources for forth :P 22:23:04 dont use for next 22:23:09 its fucked in the head 22:23:12 lies 22:23:16 next is a totally fucking different thing 22:23:16 chuck uses for next 22:23:21 use do loops 22:23:29 or being until 22:23:35 jeez, don't name your next as next, name it something else 22:23:40 NEXT is NOT a looping word 22:23:40 leave next for "for next" 22:23:57 the NEXT that is NOT a looping word is a stupid NEXT :P 22:24:02 thats another word i REFUSE to implement 22:24:24 people are fucking all over forth and its fucking pissing me of 22:24:26 off 22:24:27 save the NEXT word for the FOR NEXT stuff :P 22:24:41 rename the other NEXT into something else.. 22:25:08 why does chuck like FOR NEXT? 22:25:13 it's tight or something.. 22:25:43 hm 22:25:45 if he comes in here - ask him about it 22:25:53 ah, another question :) 22:26:12 I440r: cat isforth/asmsrc/* | grep '^ ' | grep -v 'd[bwd]' | sort | uniq -c | sort | less 22:26:20 ? 22:26:35 wtf does that do 22:26:36 I440r: analyze this a lil bit and then start thinkin an asm 22:26:54 how can i analyze something i cant read :P 22:27:02 crunches ur code :P 22:27:16 tears it apart :) 22:27:38 right now i could care less 22:27:46 without a working assembler isforth is dead in the water 22:27:56 its a statistics about ur asm code 22:28:24 * MrReach returns. 22:28:59 wb 22:29:22 ./me still depressed - frustrated. totally pissed off with self for being unable to write assembler :( 22:29:24 I440r: u dont use more than ~450 asm instructions 22:29:46 I440r: its not so terrible 2 write an assembler for it 22:29:52 lol you cant POSSIBLY say that 22:29:59 mov eax,5 is NOT the same instruction as 22:30:14 futhin, look for MARKER instead of forget in gforth 22:30:15 mov eax, 5+[ebx+4*ebp] 22:30:35 who stated it is? 22:30:42 is marker like anew ? 22:31:04 have u took a look @ the list i showed u above? 22:31:31 onetom: where's the isforth directory on your comp ? i want to see the list.. 22:31:59 no 22:32:40 and you are missing the point 22:32:51 i would like an assembler that accounted for any instruciton i might be expected to use 22:32:51 not just the ones i did 22:33:14 erm ... yes 22:33:36 erm ... yes MARKER is like ANEW 22:33:54 I440r: why wouldn't that work? (: aam aam-opcode c, ;) 22:34:06 it would and it wouldnt 22:34:18 does it take any params? 22:34:19 how would you account for the fact that the aam has a PARAMETER 22:34:23 oh! 22:34:27 not passing the parameter is not wrong 22:34:38 aam 22:34:40 aam 10 22:34:46 I440r: i know what r u talkin about, but i also know what am I talkin about 22:34:57 yes, intel docs it as a two-byte opcode, but it's really an opcode followed by (usually fixed) 1-bytes parameter 22:35:08 I440r: so dont debate, try 2 start doing a dumb assembler 22:35:08 --- quit: herkamire (Read error: 104 (Connection reset by peer)) 22:35:14 onetim i know you do dood im just in a bad mood - ignore me :) 22:35:23 i started to 22:35:28 I440r: only 4 those instructions what u use, 1st 22:35:30 and stopped 3 minutes later 22:35:47 what stumbling block did you hit? 22:35:49 :) 22:35:53 knowing how to encode the instructions is only PART of the problem 22:36:08 probably my attitude stopped me 22:36:12 yes, you need to carefully think through the syntax first 22:36:17 esp w/ x86 22:36:17 i actually dont want to write the fucking thing 22:36:28 i have things i KNOW i can write that are SIMPLE for me to write 22:36:36 so u existing 1s :P 22:36:45 the assembler would take me a VERY fucking long time to write 22:37:06 onetom sure. you port one to isforth 22:37:20 without defining ANY of the ans words i object to 22:37:21 definitely this is the point when u should use already written 1s 22:37:28 heh, I'd write it on win32forth, THEN port to isforth 22:37:32 k 22:37:36 why not... 22:37:36 you cant 22:37:44 and it would have stuff like CELLS scattered all over the place 22:37:46 win32rforth does NOT do absolute addresses 22:38:00 doesn't matter, in assembly 22:38:04 but help me w an is4th <-> ans differences doc 1st 22:38:15 one is not required to use or not use any particular addressing 22:38:21 it sure as fuck does - isforth doesnt use relative addresses for variables 22:38:23 etc 22:38:28 it uses ABSOLUTE addresses 22:38:29 c, is c, 22:38:37 c, is the heart of the assembler 22:38:49 mov eax, ' myvar >body 22:39:03 is an ABSOLUTE address 22:39:11 heh, it's up to the coder to get the correct address, no? 22:39:21 in win32forth, you have to use rel>abs 22:39:23 that assembler does not assemble the absolute address versions 22:39:40 ugh 22:39:46 also i have issues with his lisence 22:39:50 ive looked at his code too 22:39:57 yes its very nice but 22:40:09 it has way too much bullshit ans words in it 22:40:26 i think its my objection to ans words thats going to be the biggest block tomy betting any assembler 22:40:41 however, coding a variable fetch in win32forth given a relative adr, one would use the [EBX+ESI] addressing mode, and everything owrks out automatically 22:40:49 theres ALOT of complex stuff in that assembler that i REFUSE to cater to 22:41:07 I retain the rights to the things I write 22:41:21 mrreach sure 22:41:23 I don't intend to distribute it with any particular forth 22:41:26 I440r: icould help u in unansifying, think... 22:41:31 i cant object to that 22:41:39 I440r: but we need a difference list 1st... 22:41:43 but i wont use an assembler that would taint MY lisence 22:41:43 but anyone wanting to use it may do so 22:41:47 I440r: between is4th & ans 22:41:55 of course 22:42:11 I440r: gforth also has an assembler, whats wrong w that? 22:42:12 i think win32forths assembler would taint my lisence 22:42:18 win32forth has a lot of stuff, ANS or not 22:42:21 gforth is ALSO gpl 22:42:22 *WAY* lot 22:42:40 win32forht is public domain 22:43:04 if i distribute an executable that contains the win32forth assembler 22:43:07 then that executable is GPL 22:43:09 I440r: license problems r just excuses not 2 do the job :P 22:43:12 not modifed gpl but 22:43:14 G P L 22:43:30 on windows, it's about the best forth development platform, next to swiftforth (which has an excellent editor) 22:43:36 onetom im not going to steal his assembler 22:43:42 L G P L 22:43:44 I440r: forget that stupid w4th. what about gforth? 22:43:54 gforth is GPL 22:43:54 I440r: u DONT HAVE TO 22:43:58 what about gforth? 22:43:59 his isforth is LGPL 22:44:08 LGPL does not mix with GPL 22:44:12 futhin isforth is modified lgpl 22:44:18 it would taint his license 22:44:18 I440r: u should just modify it 4 selfeducational purposes! 22:44:34 heh, just because I develop on a GPL system does not mean my sources are bound by GPL 22:44:35 I440r: dont b silly maaan 22:44:47 onetom ive never seen the gforth assembler 22:44:54 i have no idea what lisence is on it 22:44:56 it's "ok" 22:45:03 i have no idea if i can use it and retain my lisence 22:45:26 cant it be ported to isforth easilly without requiring i add words i deliberatly left out of the isforth kernel 22:45:40 does it support only 5 # ax mov format? 22:45:42 HA! Who cares?!?! 22:45:48 or will it suppoirt mov eax, 5 22:45:53 or , # 5 22:46:04 I _think_ it is polish only, not sure though 22:46:31 dont want it. not unless it can be EASILLY modified for sanity 22:46:44 then you prob don't want anything I'd write 22:46:48 i am prejudiced against ass backwards assembly in forth 22:47:13 mrreach you said you would write it backwards. i asked if you would then make it support both methods 22:47:16 you said yes 22:47:16 as you said, when you think forth, think forth, don't try to make it look like BASIC (or intel assembler) @:^> 22:47:27 thats right 22:47:34 but when i code assembler i THINK assemblker 22:47:45 and 5 # ax mov is WRONG 22:47:58 I said it was possible to write a prefix assembler, and then detailed the way I'd seen some others do it 22:47:59 ill suffer it on a temporary basis 22:48:02 but not permanantly 22:48:03 \ modify it under the terms of the GNU General Public License 22:48:03 \ as published by the Free Software Foundation; either version 2 22:48:03 \ of the License, or (at your option) any later version. 22:48:19 LGPL isnt a "later version"? 22:48:22 onetom theres the crux 22:48:31 its not LGPL - its GPL 22:48:35 lgpl is lesser gpl 22:49:00 heh, yoiu could pirate it and let Anton Ertl sue you 22:49:09 and the only difference between lgpl and gpl is that it allows you to not pass the lisence on if your library is DYNAMICALLY linked 22:49:13 I440r: but understand it dood, u dont have 2 stick it w ur isforth, u have 2 use it temporarily 22:49:14 if its static - your fucked 22:49:31 onetom any code it produces is gpl 22:49:45 because any code it produces will be an extension to itself 22:49:51 i.e. staticaly linked to it 22:50:03 i.e. the lisence will taint mine 22:50:36 well, I never thought I'd see an inflexible forth coder 22:50:43 there's a first for everything, I guess 22:51:12 im not inflexible 22:51:12 but i wont compromize my beliefs 22:51:16 or my standards 22:51:20 heh 22:51:26 standards? @:^> 22:51:36 and its a PRIME directive of isforth to NOT force ITS lisence on ANYONE 22:51:46 brb, my win98 machine hasn't rebooted in 3 days, and it's getting a head cold 22:51:49 never compromise your inner ANSI standard! ;) 22:51:55 --- join: davidw (~davidw@ppp-134-19.25-151.libero.it) joined #forth 22:52:00 you think i dont have any standards 22:52:02 ? 22:52:07 of course you do! 22:52:17 i have very high standards 22:52:32 it was supposed to be a poke in the ribs, not a direct insult 22:52:36 sure u have, but u cant think freely enough 22:52:43 logically enough 22:53:02 anyway, brb 22:53:08 ithink u have dogmas... 22:53:13 not standards 22:53:19 --- quit: MrReach () 22:53:19 whatever 22:53:19 but gotta go 22:53:23 i don't think i440r is inflexible, the issue is the license. if he uses an GPL assembler 22:53:36 it fucks the LPG license.. 22:53:49 dogmas r unbrokable stupid restrictions 22:53:56 what helps sometimes 22:54:22 but only ties ur hands usually 22:55:03 what dogma? 22:55:10 i thought we were talking about the license? 22:58:39 where can i see the gforth assembler without installing gforth 22:58:49 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 22:59:51 I'm back ... miss me terribly? 23:00:03 ya 23:00:19 we had 50 naked babes come in here and we had a quick orgy while you were away 23:00:47 oh, that would have been fun ... next time 23:01:01 lol 23:01:14 we were gona make a movie of it but they left :P 23:01:18 neway 23:01:29 where can i see the gforth assembler without needint to install gforth 23:01:40 heh, in the sources 23:01:54 I'm not sure if it's at sourceforge or not 23:02:04 fuckit then 23:02:04 i bet its written in c anyway :P 23:02:11 haha! 23:03:06 sourceforge is about as nice to navigate and poke arround as the mirablis web site 23:03:33 * MrReach offers some cheese to go with his whine. 23:03:40 your mood is remarkable 23:04:05 wtf 23:04:11 who has a recommendation for registering a domain??? 23:04:33 ICQ has a terrible website, IMO 23:04:39 I think I440r agrees 23:05:17 icq's website is a perfect example of how NOT to do a web page 23:05:22 too much graphics 23:05:29 it's not even too much graphics 23:05:32 micro miniature fonts 23:05:33 vague navigation 23:05:33 it's too much damn noise 23:05:57 links that lead to links that lead to links that lead to links that lead you back to where you came from 23:05:57 blind links upon blind links 23:06:07 lol 23:06:15 i never surfed mirabilis except to get icq 23:06:19 the icq program itself suffers from terrible featuritis 23:06:22 and there was no trouble to do that 23:06:48 not only that but. it crashes alot too 23:06:49 lol 23:06:54 :( 23:07:01 it would be cool if ICQ revamped and went completely with a pluggable module system 23:07:17 it's too late 23:07:20 it's dead :P 23:07:25 i use trillian now 23:07:27 works fine for me 23:07:38 oh? is it? it's showing that you're online, futhin 23:07:38 a web site for what 23:07:51 ah! 23:07:59 trillian supports icq, aim, yim, msn, etc 23:08:02 and irc 23:08:43 of course, the latest version seems to be screwy .. 23:08:51 doesn't let you message people who have an older version 23:09:01 lol 23:09:03 of trillian, or messaging people with icq clones or something 23:09:04 except it always shows you as Away on ICQ 23:09:09 yeah i know 23:09:09 i told you about trillian :P 23:09:11 buggy 23:09:18 it set me away one day 23:09:23 and it stays away 23:09:26 :P 23:09:28 haha!!! 23:09:34 i never liked icq anyway 23:10:00 who has gforth 23:10:03 dcc me the assembler 23:10:03 anyone got a favorite company for domain registration??? 23:10:05 me 23:10:08 if its written in forth 23:10:23 dont dcc me no bullshit c code 23:10:48 I think he wrote the assembler is pure forth 23:11:05 and the C code is the worst example of C code I've ever seen 23:11:17 it's like the whole forth is one big macro 23:11:39 as opposed to one big switch statement ? 23:11:41 lol 23:11:46 inside a for loop 23:11:57 but he was after the portability and optimisations of the GNU compiler, and they work well for him 23:12:01 that calls itself recursivly 23:12:39 gforth really is *FAST* for a threaded forth 23:12:50 is it as fast as iforth ? 23:13:04 iforth took 2 seconds to do something that took isforth 20 minutes to complete 23:13:18 iforth is hella optimised subroutine threaded forth, no it's not as fast 23:13:18 erm 20 seconds 23:13:48 marcel h sure knows how to code. ill give him that :) 23:13:52 in fact, iforth often produces faster code than gcc, and often faster than hand-assembly 23:14:09 gcc doesnt have a very good optimizer 23:14:13 lies, nothing is faster than hand-assembly :P 23:14:21 no, it's got a "decent" optimiser 23:14:36 if you say so, but speuler would disagree 23:14:39 its got a semi decent optimizer :P 23:14:59 futhin dcc me that damned assembler 23:15:01 grrr 23:15:18 it's expecting to optimise c generated code, and it kinda stumbles on forthish ways of doing things 23:16:20 optimisers often do better than hand coding ... they never forget a shortcut or an odd addressing mode 23:16:43 but their output is often hard to decipher, too 23:17:01 msvc++'s optimiser is very very clever 23:17:22 ive seen it optimise a very complex 3 or 4 page DO NOTHING function right out of the program 23:17:36 heh 23:17:51 i was very impressed 23:17:53 you ought to hand it some real functions and look at the output 23:18:27 perhaps the DIGIT function from forth 23:18:27 when i worked for bally gaming my boss spent like 4 weeks writing an assembler function and hand optimising it 23:18:34 put ALOT of effort into it 23:18:51 heh, the compiler version was faster? 23:19:00 the vc++ expert there wrote the equiv code in c++ and had vc output the asm 23:19:11 took the vc++ guy like 3 minutes to do 23:19:37 the code produced by the compiler was almost identical to the code that my bos had written :) 23:19:43 he was pissed hehe 23:19:57 which bencharmarked faster, and by how much? 23:20:15 they didnt benchmark them - the code was so similar it wouldn have been moot 23:20:27 many times, the optimiser will speed up code by inserting NOPs so that branches are page aligned 23:20:45 the point was 3 weeks of intense coding and tweeking against 3 minuts of throw it thru the compiler 23:20:45 heh 23:21:08 yeah, I've hinted at a similar forth compiler ... freeware 23:21:10 how they perform is not an objection i have to optimizers 23:21:19 its what they take away from you when they do it 23:21:26 neway 23:21:27 no, they make the code irreverible 23:21:29 futhin 23:21:35 not realy 23:21:47 yeah? i've downloaded gforth and i'm going to zip up the code part.. 23:21:50 i bet i can reverse engineer optimised forth easier than optimised c 23:21:55 lol 23:22:00 i thuynked you had it 23:22:01 duh 23:22:07 i do, on sourceforge :P 23:22:10 well, YEAH! you think in forth 23:22:11 lol 23:22:33 i can reverse engineer turnkeyd non optimised forth in no time flat heh 23:23:28 both swiftforth and vfx have pretty darn good machine code optimisers 23:23:55 sure makes the sources look SWEET 23:24:22 because people stop worrying about how fast it runs, and write to solve the problem at hand 23:24:42 errr is that dcc working dood ? 23:24:49 failed. grr 23:24:53 connection refused heh 23:25:00 lol 23:25:01 heh 23:25:02 email it 23:25:07 i'll connect to ur ftp 23:25:10 oh! email! 23:25:17 someone dcc'd me thru the ipmasq yesterday 23:25:22 try incoming 23:25:24 anyone got any suggestions for a domain registration company? 23:25:27 no way am i going to email it to your lameass mailcity account!! 23:25:39 the dcc send isn't working because of my router 23:25:46 oh i can very seriously suggest NOT using network solutions 23:25:53 oh 23:25:57 not internic??? why? 23:26:04 heh, I just went to their site 23:26:19 mrreach: i know two people that would know the answer, but they are afk right now 23:26:23 because if you ever have to modify your going to be in for a very very very long wait 23:26:29 you go to their page 23:26:36 you download their form from their web site 23:26:40 you fill it in and send it 23:26:44 oh, not cool 23:26:59 you get an auto response telling you - that form is no longer being used. use the attached form instead 23:27:05 I want to enter a password and change my ips over a secure connection 23:27:06 you fill it in and send it in 23:27:11 mrreach: what kind of domain do you want? there are free domains (without advertising!), there are alsorts of cheap domain registration companies.. 23:27:32 I want to aim a name at one of my IPs ... that's all 23:27:32 you get an auto reply telling you that they could not carry out your request because your ID could not be verified 23:27:45 mrreach: go to www.tk i think 23:27:47 no mail, no web, no redirection, no name server 23:27:52 no matter what you do you NEVER reach a real human being 23:28:16 your emails are always intercepted by their seriously fucked in the head scripts 23:28:23 and they ALWAYS fuck uop 23:28:24 up 23:28:34 heh 23:28:35 it took me three monts to get my domain moved last time 23:28:39 THREE MONTHS 23:28:55 mrreach: http://www.tk/ 23:28:56 dont user internic 23:29:00 free tk, no advertising 23:29:12 free url, no advertising 23:29:17 get www.mrreach.tk or whatever 23:29:22 what are yoiu talking about? 23:29:35 no, you don't understand ... 23:29:38 you want a domain name? 23:29:41 I want a DOMAIN 23:29:56 I'm sick to death of lame free email services 23:30:18 www..com <-- is that a domain ?! 23:30:26 mrreach i actually found a free web based email i LIKE!!!! 23:30:30 I want an SMTP server running on my unix machine receiving outside connections 23:30:34 yes, that's right 23:30:40 fastermail.com 23:30:46 http://www.tk/ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 23:30:52 you can get 23:30:54 a domain 23:30:57 that ends with 23:30:57 .tk 23:31:00 and it is free 23:31:04 so what'st he problem 23:31:13 www.mrreach.tk or whatever the heck you need 23:31:16 futh did u email that ? 23:31:42 i440r: no uploaded it 23:31:53 mrreach: or maybe i'm wrong about .tk 23:32:05 somebody had a site 23:32:07 to incoming ? 23:32:22 with .org .net and .tk 23:32:27 he registered a lot :) 23:32:28 I'm thinking PugetProperties.com, MrReach.name and MarkGraham.name 23:32:35 i440r: yes 23:32:52 what the hell 23:32:57 i don't see it in incoming? 23:33:16 incoming usually doesn't allow browsing filenames 23:33:18 lol 23:33:21 i just moved it out 23:33:24 k 23:33:35 do you see anything in there ? 23:33:41 mrreach tats assuming i set it up rite heh 23:33:43 lol 23:33:45 yes, i see other files 23:33:48 true 23:33:50 closed the ftp client now 23:33:51 big assumption :) 23:34:10 especially with you 23:34:18 not because i dont know how 23:34:18 actually, it assumes a default setup 23:34:23 but because im way too lazy heh 23:34:31 specially now that im not on a per connection 23:34:32 ok 23:35:28 mrreach.org and mrreach.net are available 23:35:41 until one of you bastards registers it in the next 3 mins 23:35:50 heh 23:35:53 lol 23:35:58 now would we do that 23:35:58 we had that happen with our ISP name 23:35:59 hrm 23:36:00 i know 23:36:03 not happening 23:36:07 i COULD reg it ahd hold it to ransom 23:36:18 yep, called piracy 23:36:19 for one nice isforth assembler :) 23:36:45 mrreach.com for oral health! 23:37:01 yeah yeah yeah ... don't remind me 23:37:04 lol 23:37:19 Johnson&Johnson use that site a LOT, too 23:37:25 so they aren't about to give it up 23:38:08 * MrReach brushes his teeth sexily and spits the horseshit that was between his teeth at Johnson&Johnson 23:38:21 heh 23:38:29 sorry, I get graphic when I drink 23:38:34 i do NOT understand the word postpone 23:38:36 that doesn't sound sexy at all 23:38:39 not one bit 23:38:45 i know what its doing 23:38:48 i440r: postpone is anti-immediate 23:38:49 just not HOW 23:38:56 no its not 23:39:02 defer? 23:39:05 its a replacement for compile and [compile] 23:39:08 it's not defer? 23:39:10 oh, well, I'm sure it depends on the system 23:39:25 i don't know anything at all about defer & postpone 23:39:29 mrreach compile and [compile] are VERY different words 23:39:30 i look at gforth code 23:39:36 and i see a lot of defer 23:39:39 one compiles an immediate word into the CURRENT definition 23:39:41 it seems pretty ugly and gay :( 23:39:47 it would probably use ' (tick) to find the word, then COMPILE, to put it in the current def 23:39:49 the other compiles ANY word into the target definition 23:39:55 how can you have one word that takes its place 23:40:45 ug i also hate the way people do 23:41:01 ok, it parse a word from the input stream ... uses FIND or SEARCH to locate it in the search order, and COMPILE, s it regardless of immediacy 23:41:07 postpone x postpone y postpone z postpone a postpone b postpone c 23:41:09 insterad of doing 23:41:16 : foo x y z a b c ; 23:41:28 and postponing THJAT 23:41:41 heh 23:41:41 fuck why not just add shitloads of visual clutter to the sources grrr 23:41:57 the word postpone encourages bad code 23:42:19 every time i see ans code i cant read it 23:42:22 i never could 23:42:26 i cant read c code either 23:42:31 after a while all i can see is 23:42:41 blah blah blah blah blah 23:44:39 actually im starting to dislike DOES> a little now too 23:44:45 instead of doing 23:44:57 : foo create blah blah does> xxx yyy zzz ; 23:45:03 do 23:45:11 : (foo) xxx yyy zzz ; 23:45:23 : foo create blah blah blah ;uses (foo) ; 23:45:25 much better 23:46:20 this way you can put the word FOO in a transient vocabulary (dumped on turnkey) and just have (foo) part 23:47:27 thats not the whole assembler btw 23:47:28 I440r: postpone is just a state-smart compile or [compile] 23:47:45 so not word postpone encourages bad code 23:47:48 none of the mneumonics are there 23:47:50 not in itself 23:48:02 certainly u r right about the 23:48:10 defer seems evil to me, but i'm not familiar with it 23:48:16 immediate/non-immediate problem 23:48:19 onetom compile and [compile] are better imho 23:48:35 its NOT a problem lol 23:48:36 heh 23:48:37 neway 23:48:39 but dont make errorneous conclusions 23:49:08 futin think of a defered word as a constant pointer to a different word 23:49:13 but when i do "SEE " and all it shows is " : BLAH BLAH BLAH ; DEFER BLAHBLAH " it's not very easy to learn from.. unless i do SEE on the BLAHBLAH.. but why should i be forced to do that? :( 23:49:28 you just change the bodie field of the constant and it points to some OTHEr word 23:50:05 : DEFER CREATE ['] not-defered-error , DOES> @ EXECUTE ; 23:50:55 : defer create , ;uses dodefer ; 23:51:01 is a better definition :P 23:51:14 your defer expexts xt on the stack? 23:51:14 defer seems dumb tho? 23:51:28 no 23:51:36 it is sometimes neccessary to change the bahavior of a word at runtime 23:51:39 the def is incomplete 23:51:41 I440r: yah, thats much more chatty... 23:51:45 defered words default to crash 23:52:03 my defereds default to error 23:52:11 : defer create compile crash ;uses dodefer ; 23:52:14 not , 23:52:17 haha! 23:52:22 yes crash is 23:52:39 tho, ;uses could by word-type-is: or sg like that 23:52:43 : crash abort" uninitialized exection vector" ; 23:52:55 sg ? 23:53:01 : crash TRUE abort" uninitialized exection vector" ; 23:53:05 something 23:53:08 sg = SomethinG 23:53:10 ;useserm ya 23:53:14 abort" needs a flag, doesn't it? 23:53:18 yea i always forget the flag heh 23:53:51 all isforth words start with a 23:53:54 I440r: iwill scan ya a page of english-hungarian dict ;) 23:53:56 call some-word 23:54:00 body starts here 23:54:14 ;uses patches that call 23:54:27 create blah 23:54:29 iknow 23:54:29 creats a 23:54:43 i know you do onetom - im educating futhin :P 23:54:44 but why do u call it ;? 23:54:48 foo: 23:54:52 call dovariable 23:54:54 oops, sorry :))) 23:55:02 this is the body of the assumed variable 23:55:15 : variable create 0 , ; 23:55:25 the 0 gets stored in the body of the newly created variable 23:55:36 : constant create , ;uses doconstant ; 23:55:41 now you an do 23:55:45 0 constant zero 23:55:55 constant creats a word called zero 23:56:13 it commas the 0 you pased it into the body of the newly created variable (hehe) 23:56:28 then the ;user patches the call to dovariable to be a call to doconstant 23:56:39 ;code is very similar 23:56:41 except 23:56:50 immediatly following a ;code is machine code 23:56:52 dd blah 23:56:54 dd blah 23:56:56 dd blah 23:56:57 dd ;code 23:57:05 machine 23:57:06 code 23:57:08 instructions 23:57:10 here 23:57:18 btw, the word that parses the input stream and places the bcharacters in name space is often called HEADER or BUILD-HEADER 23:57:29 yes 23:57:36 its called head" in isforth 23:57:45 heh, figures @:^> 23:57:55 stole it from fpc heh 23:58:03 you can bet that if I ever use your isforth ... 23:58:20 the word header exists 23:58:22 I'll dump WORDS into a datafile so I can regex it 23:58:25 header calls head" 23:58:46 head" just creates the header in head space 23:59:01 header ALSO compiles the default call dovariable in list space 23:59:17 why dont you do that now. the kernel is fairly stable now 23:59:48 head" is a good name btw - tho build-header isnt bad 23:59:59 --- log: ended forth/02.04.20