00:00:00 --- log: started forth/03.04.27 03:09:15 --- quit: Speuler ("NO CARRIER") 05:29:48 --- join: Mur (murr@baana-62-165-188-13.phnet.fi) joined #forth 06:09:52 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 06:10:07 morning 06:11:14 --- part: snowrichard left #forth 06:13:55 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 06:15:15 --- part: snowrichard left #forth 07:13:39 --- nick: Mur -> mur_AFK 08:04:39 --- nick: mur_AFK -> mur 08:08:39 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 08:09:31 hello 08:13:18 terve! 08:16:29 oh i was in a browser 08:17:36 I have a simulated vax running netbsd 1.6.1 with networking 08:18:00 I might try my hand at coding a vax forth again 08:19:45 Robert I just took a look at your web site 08:19:57 :) 08:20:00 Did you like it? 08:20:21 its fine. I am a little older than you in that picture ;) 08:20:49 The average age in here seems to be 30-40... 08:21:05 in lots of channels its in the 20's 08:21:11 I'm very young in this channel. But almost old in the rest of the network :P 08:21:29 i am 46 08:21:39 Robert?! 08:21:44 or will be at the end of may that is 08:21:50 :) 08:21:55 That's a little bit older, yes 08:22:00 what are you blabbering about , Robert :) 08:22:08 Nothing, why? 08:22:11 i dont trust with that :P 08:22:29 if the avg woudl be that small i doubt .. urhg 08:23:37 well I feel old when I tell people I have used punch cards and paper tape and they go like WHAT? 08:23:48 Haha 08:24:10 That was obsolete long before I was born, so I guess I should look suprised too. 08:24:40 But... 46 isn't THAT old. 08:25:10 Not compared to all those veterans. 08:25:15 70's punchcard computers weren't exactly like laptops 08:25:46 well kind of hard to tote around a building and tons of airconditioning 08:26:07 * mur has a CS book of that age :) it tells that in soon future there will be laser beam and ink bubble memories .. not seen yet 08:26:26 i think it might have been as late as 77 08:27:38 the IBM 360 I was using in 1977 had punch card readers still. By 80 or so they had phased out most of that for students and put in a terminal server they built with MP/M 08:27:41 yes 1977. no wonder some people have computerphobia if they have seen computers that time :) 08:28:25 this general "information technology" book contains the usual assembly and basic book contents 08:29:06 now I can run Hercules emulator on this walmart PC and it is probably faster than the 360 was 08:29:34 --- join: Speuler (~Speuler@mnch-d9ba4bd3.pool.mediaWays.net) joined #forth 08:29:49 Hi Speuler 08:29:56 g'day 08:30:56 do any of you remember discussing the harvard architecture of the vax (code space not writeable by default)? 08:33:11 I have figured out a way around that, I could define the core of the interpreter in native vax code, but in definitions store a byte code indexing a primitive function table. 08:34:51 and put all the user dictionary in data space. 08:39:34 snowrichard: right. forth hi-level words are just address or token lists, to be considered as data 08:40:26 I have a C version working like that, and it compiles on the VAX gcc as well. 08:41:14 've written a PIC runtime which works about the same. PIC also uses a harvard architecture 08:42:43 not strictly standard's compliant this is more or less my own language definition. 08:42:52 I call it Michael after my son 08:43:13 standard doesn't require a specific threading model 08:43:27 well I don't have all the ansi words 08:43:57 borrowed operators from C 08:44:00 i guess you got enough words to implement the missing ones 08:45:19 I have not studied the standard in great detail yet actually. I was more or less designing my own way of doing it 08:47:05 but I do have all the C arithmetic operators and logical operations so I would be able to do most anything with 32 bit integers data and characters. 08:48:40 my var word is a little different I stack the number of bytes I want allocated , then var name, instead of the initial value. 08:50:54 so 10 4 * var ptarray could allocate an array of 10 ptrs. 08:52:49 ptrarray 3 ARR@ gets the 4th ptr contents 08:54:04 and if it were a pointer to integer an @ would get the actual value 08:59:59 --- quit: snowrichard ("using sirc version 2.211+KSIRC/1.2.4") 09:20:20 --- join: tcn (~r@tc1-login26.megatrondata.com) joined #forth 10:03:11 * tcn is away. Automatically set away [SZon] 10:09:49 --- quit: tcn ("That's it for today") 10:13:14 --- join: tcn (~r@tc1-login26.megatrondata.com) joined #forth 10:18:22 --- quit: tcn ("Leaving") 10:43:40 --- join: tcn (~r@tc1-login26.megatrondata.com) joined #forth 10:54:30 * tcn is away. Automatically set away [SZon] 11:11:55 --- nick: mur -> mur_OUT 11:13:51 --- quit: tcn ("That's it for today") 11:37:44 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 11:53:31 --- join: Serg_Penguin (~z@ts21-a142.Moscow.dial.rol.ru) joined #forth 11:54:58 Hey Serg_Penguin 11:55:12 And kc5tja 11:55:34 re 12:14:54 hey Serg_Penguin! 12:15:14 * mur_OUT out 12:15:18 --- quit: mur_OUT ("MURR!") 12:16:06 --- quit: Serg_Penguin (Read error: 110 (Connection timed out)) 13:12:08 --- join: a7r (~a7r@206.72.82.135) joined #forth 13:12:10 hey.. 13:12:32 re 13:16:12 Hi a7r 13:16:31 what's going on Robert? 13:16:44 Not very much, to be honest :) 14:12:00 the world is spinning around a gigantic ball of fire 14:12:09 and you say nothing is happening 14:21:10 Nothing new on the western front. 14:22:23 ..or whatever the English title might be. 14:52:49 --- join: tcn (~tcn@tc2-login24.megatrondata.com) joined #forth 14:53:53 --- nick: kc5tja -> kc-food 14:54:29 l 14:54:46 i mean, hello :) 14:55:36 Hi tcn :) 14:56:33 i'm trying to figure out this IRC client.. god, they're all so LAME!!! 14:57:01 but at least this one's only 28k 14:57:19 :) 14:57:22 * Robert uses irssi. 14:57:27 Anyway, time for bed. Night! 14:57:31 see ya 15:00:14 tcn: whch client? 15:00:18 tinyirc 15:00:39 werd. 15:02:43 --- quit: a7r (Remote closed the connection) 15:02:56 --- join: a7r (~a7r@206.72.82.135) joined #forth 15:03:01 damn it 15:03:08 crashing xchat 15:03:11 heh 15:03:35 tinyirc would be great, with backscroll and window switching 15:04:36 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 15:04:49 --- quit: a7r (Remote closed the connection) 15:04:50 --- nick: a7r_ -> a7r 15:05:23 if msg crashes you then I won't do it :) 15:05:38 yeah, I've jumped into BitchX. ;) 15:05:47 oh tha'ts better. 15:05:53 that is xchataqua for OS X's Cocoa, and it has some rough spots. 15:21:36 while(*dest++=*src++); 15:21:54 yeah, it translates directly to asm :) 15:29:35 --- join: monk23 (monk23@mstr195175-33459.dial-in.ttnet.net.tr) joined #forth 15:29:45 hi ! :) 15:29:50 hey 15:32:02 cocoa irc clients all suck 15:32:09 hehe 15:32:13 shadowirc is ok 15:32:15 i use epic 15:35:58 tcn: asm? what asm? anyway, it was just a misclick 15:37:05 oh, a7r and I were talking about C just as you said that 15:39:37 that snippet you showed really demonstrates how C is just a shorthand for assembler 15:39:42 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 15:45:09 ah, c :) 15:45:17 tho, it was just an accident 15:45:25 yeah. 15:45:33 whats up anyway? 15:45:53 I was on #c a little yesterday.. picked up some good tips which should help with Isforth amongst other things! 15:46:33 like what? 15:46:35 dlopen() for example.. 15:47:18 Yeah, I've been curious about interfacing with C also. 15:47:21 implement that in forth/asm, and you have access to all shared libs 15:47:53 newer JED versions also have some kinda module system.. 15:48:32 ie, you take those .o files and link them into a running interpreter 15:48:44 Hmmm...I dont imagine putting a dlopen hook into a Forth would be too difficult. 15:49:24 yeah, why should 1 code it again in any other lang? 15:49:26 it's more complicated than i'd like, but it'd help ease the transition away from this bloatware 15:49:29 4 fun? 15:49:49 Wouldn't that force the Interpreter to compile around the the DLLs? 15:50:18 but if u plan a transition, define own, simpler file format, so u dont exactly need dlopen 15:50:18 around them? 15:50:27 yeah 15:51:17 Hmmm...I suppose one could tell Forth to fork itself for the specific purpose of interfacing C DLLs. 15:51:26 but, storing things precompiled is 1 thing what "bloats wares" .. ;) 15:51:56 the problem is when you precompile code for every possibility 15:52:17 running from src compiling it all the time seems a better idea 15:52:32 anyway, i gotta go 15:52:39 ok, see ya 15:52:41 b back in half an hour 15:52:51 * onetom just changes location 15:53:16 if you run something alot you should precompile it 15:53:33 What about hacking a C interpreter(they do exist) to recompile C source visa vi the Forth source? Know what I mean? 15:53:36 no, if compilation time is very short 15:53:58 "On the fly" sort of. 15:54:08 & if u modularize it well u dont even have 2 compile all the sources @ startup time 15:54:45 ramnull: c compilation is a very expensive operation 15:55:07 Good point. 15:55:16 there's cint (c interpreter) 15:55:23 ramnull: thats why on the fly C compilation is not a common practice 15:55:49 i don't see why C is any slower than Forth to compile.. except for slow compilers like GCC 15:55:51 Speuler: & there is awk which is also very similar... 15:56:23 hmmm 15:56:24 tcn: because of the more complex syntax of c. mainly, ithink 15:56:33 awc and c are pretty different 15:56:37 I suppose one could make a specialized Forth linker, optimized for that task alone. 15:56:47 Speuler: mmmm.. why? 15:57:01 i can program awk. i can't c :) 15:57:08 Speuler: there r no pointers, but anyway they r pretty similar 15:57:14 lol 15:57:35 me 2 15:57:37 I guess C is all about pointers :) 15:57:57 and data types :/ 15:58:04 and types, casting etc 15:58:05 That's one reason, in an earlier life, I used Ada over C, because I could compile in new code on the fly while the program was executing. 15:58:19 wow 15:58:26 i didnt know it about ada 15:58:56 Well, Ada uses seperate compilation for those tasks. 15:58:56 anyway, whatever the cost of compiling C, it'd be good to have a small *simple* C compiler even if it's not the most efficient.. just so you can run C programs. 15:59:31 Sort of like Forth deferred words. Kinda. 15:59:42 tcn: yeah, c is not an absolutely evil thing 16:00:07 tcn: u can express things in it a more compact way 16:00:19 and if you use a big C program that takes 10 minutes to compiler, you only want to do it once! 16:00:29 Heh. I outta write a generic "Interfacer" dll for Ada, Forth, C, etc... 16:00:34 tcn: tho, awk, tcl, python all has this feature: 16:01:00 tcn: u can express certain things in them more easily than in other langs... 16:01:18 Awk, tcl, python, and some versions of Lisp are all based on lower level precompiled C libs. 16:01:25 For the most part. 16:01:53 tcn: but it wouldnt take 10mins if it were written in a very modular 4th 16:02:26 tcn: just, say 1min & because probably it would run for a lot of minutes 16:02:27 if you guys ever write some really big Forth programs you'll wish you could precompile them.. 16:02:55 tcn: that 1min shouldnt be spent on compilation in 1 term 16:03:00 tcn: Precompilation and run-time compilation can work hand in hand. 16:03:17 tcn: chances r u can defer most of it 2 run time 16:03:22 or you could pre-parse them.. 16:03:25 "run time"... 16:03:35 I see no dichotomy here. 16:03:43 tcn: the bigger ones i compiled 16:04:02 Of course, I'm drawing from my experiences with the GNAT Ada compiler. 16:04:50 Big source, and bigger binaries. But fast as hell. Heh. 16:05:02 hmm.. yeah, it's ideal if you can precompile the program but extend it at runtime. 16:05:13 tcn: Exactly. 16:05:29 tcn: the graphical interface of bigforth is pretty large 16:05:33 tcn: Think of precompilation as defining the condition the program should start out in. 16:05:45 byes 16:05:57 later, monk 16:06:06 :) 16:06:10 but i havent ever experienced any significant compilation time while i was using it 16:06:29 how fast is your computer? 16:06:47 --- quit: monk23 () 16:06:53 Bigforth tries to cram too much stuff into to small a space. At least in my opinion. 16:07:10 i tried it on a p200 yrs b4 16:07:54 it must not be THAT big 16:07:55 woody:~/x/bigforth# time make 16:07:59 real 0m2.192s 16:08:36 tcn: probably not, but its a full development env. 16:09:16 this 2secs is all the compilation of the C & 4th blks on an 1.7 celeron 16:09:27 1.7ghz??? 16:09:42 yup 16:09:55 so it should take 30 secs on this machine, in theory :) 16:10:01 that's unacceptable. 16:10:10 i wont think.. 16:10:17 tcn: Same here. 16:11:09 Alright, what would be the time penalty to have Forth generate an elimination tree for the DLL it wants to open? 16:11:13 sure, I could get a new machine but it'd cost a lot and I'd prolly have to upgrade my kernel and everything to use the hardware.. 16:11:17 compiling only the 4th blks is: 16:11:21 real 0m0.647s 16:12:21 i.e. With a C binary, is it possible to have Forth pull out only the functions it needs, and dump the rest? 16:12:32 say you load libvga.so and put all the symbols into a "libvga" vocabulary 16:12:49 quick hack :) 16:13:10 tcn: Not all the symbols, have a tree file eliminate the unwanted ones. 16:13:26 it could be done, probably not with ELF though 16:14:05 the old "ar" libraries could handle it.. when you compile a program, it just pulls out the functions you need since it's a static binary. 16:14:20 look: 16:14:21 woody:~/x/bigforth# echo `rm bigforth.fi ; make 2>&1 | grep '\.f' | awk '{print $1}'` 16:14:25 mv: make: ./forthker assem486.fb stream.fb hash.fs fileint.fb errore.fs strings.fs savemod.fb tasker.fb idle.fs tasker.fb vt100key.fs output.fb disass.fb tools.fb except.fs startup.fb struct.fs random.fs environ.fs ./bigforth minos.fb locals.fs oof.fb lambda.fs sincos.fs points.fs qsort.fs string.fs minos.fb x11.fs xpm.fs opengl.fs minos.fb splines.fb minos.fb pixmap.fs minos.fb xstyle.fs edit.fb ediwind.fs edit.fb edit.fs edit.fb browser.fs login.fs ptt 16:14:32 tcn: Look at gnatelim if you get a chance. That's what it does. 16:14:42 u dont need all these at once... 16:15:51 ramnull: a static library, shared lib, executable, or '.o' object file? 16:15:58 I'm picturing a sort of "run-time" gnatelim lite. 16:16:05 --- nick: kc-food -> kc5tja 16:16:19 wb, kc 16:16:22 re 16:16:55 tcn: so as this experiment show, most of the time is spent on compiling the C part... 16:17:08 tcn: It works on either executables or object files. But it uses source "headers"(theres really no such thing as a header in Ada) to generate the parse tree. 16:17:40 ramnull: only Ada programs, then? 16:18:10 tcn: gnatelim is a part of the GNAT GCC package. 16:18:17 & dont forget that loading precompiled things also need time 16:18:21 tcn: I speaking conceptually here. 16:18:37 thats why shell scripts r so slow... 16:19:29 so if u add the 1time compilation + all-the-time load time 16:19:31 tcn: It was designed for embedded projects in large internetworked systems. 16:19:57 u can clearly see that we should only compete w load time in case of 4th 16:20:40 onetom: And having a pre-"compiled" elimination tree would cut the load time down drastically. 16:20:45 remmeber, GCC is *really slow* 16:21:04 tcn: Yes. Hence gnatelim was developed. 16:21:20 I was better off with Turbo C in DOS, except for that 16 bit limit 16:21:21 I'm not suggesting using gnatelim. 16:21:55 well, something similar would help 16:22:02 Rather I'm suggesting looking at it conceptually and seeing what features could be used for a Forth/C "run-time" linker. 16:23:09 well, are we talking Linux/Unix or something like RetroForth? 16:23:15 time for (( i=0 ; i<500 ; i++ )) ; do awk ; done 16:23:19 real 0m0.762s 16:24:02 tcn: It could be adapted to any environment. At least theoretically. 16:24:02 becuase in Linux we want to use shared libs and they're not gonna like being cut up 16:24:26 and a simple OS is gonna be single address space and won't like shared libs 16:24:40 awk: 95k 16:24:52 *.fs *.fb: ~2M 16:25:49 so loading a 95k program 500times takes roughly as much time as compiling 2M noncolor forth src 16:26:46 I envision using old-style "ar" libs, but loading & linking only the needed parts, at runtime 16:28:04 tcn: You'd have to look at the Ada toolchain. Theres absolutely no intermarriage between the Language and the OS. Forth, by it's very nature is like that(from my perspective). 16:28:09 gcc --version 16:28:09 2.95.4 16:28:36 the measured time was referin 2 this (the faster) version of gcc 16:28:56 btw, is there any free 2 use C 4 linux? 16:29:05 ibm or intel c compiler? 16:29:18 LCC 16:29:19 has any1 tried it 2 compile, say mplayer w it? 16:29:42 or u have 2 adjust too much compiler option 4 such a test? 16:29:48 tcn: LCC what is it? 16:29:52 url? 16:29:54 oh, there's also TCC.. tiny C compiler.. you need glibc2.1 though 16:30:06 ramnull: what is that elimination tree? 16:30:08 there's also Tendra 16:30:50 tcn: lcc doesnt seem 2 b the part of debian (woody) :/ 16:31:06 tcn: but i guess, it wont b able 2 compile mplayer 16:31:27 tcn: coz its not as featureful as gcc 16:31:31 i dunno. I couldn't get LCC to c.. to work 16:31:52 tcn: btw, thats said if the featurefulness of a compiler is 16:32:07 onetom: Basically it looks at the sources of two program sections(as text files, sources) and goes down the line recording all the dependencies, and then generates a specific compile chain including only the functions that are interdependent. 16:32:13 tcn: is rational w its overall general compilation speed :) 16:32:48 onetome: There is no excess code or data included in the resulting executable or object file. 16:32:57 ramnull: aaand its would b useful 4 C or 4th? 16:33:16 s/its/it 16:34:00 ramnull: so the result would b some structure of references (offsets) 2 the source? 16:34:06 onetom: oh, you mean proportional to compilation speed.. "rational" means something different in English :) 16:34:09 onetom: Well, I'm not sure, yet, if such a thing is possible with C(it is with Forth though), as C sources shackle themselves to each other through vague #includes and #defines. 16:34:21 tcn: hehe, yeah proportional, sorry 16:34:22 onetom: Exactly. 16:34:59 ramnull: k, i c now. & have u heard of similary preparsed 4th code? 16:35:03 uhh.. it could be reallyt tough w/ forth1 16:35:15 !!! 16:35:25 onetom: Not yet. But theres a first time for everything. 16:35:26 --- quit: Speuler (Connection timed out) 16:35:46 ramnull: coz jeff fox has described such a system... 16:36:09 ramnull: probably he has also realized it in aha 16:36:13 hm.. say you parse C, Forth, everything into linked lists.. use this internal format to generate machine code, check depencencies, whatever.. 16:36:15 onetom: Maybe Jeff Fox and Robert Dewar run into each other in a coffee shop. Heh. 16:36:38 then at least the compiler and the checker would always concur :) 16:36:44 ramnull: jeff was talkin about a preparsing editor 16:36:59 Well, the thing with Ada is ... 16:37:01 ramnull: what stores a preparsed src 16:37:26 ramnull: what can b compiled a magnitude faster than pure txt src 16:37:38 --- quit: CaffeineJunkie (Read error: 110 (Connection timed out)) 16:37:54 ramnull: so compilation cost has been shifted 2 edit time this way 16:38:00 The input and output for each and every procedure/function is described in minute detail, so the compiler/eliminator can do the preparsing job with ease. With Forth it would be a bit more complex. 16:38:22 that's an understatement :) 16:38:33 --- join: CaffeineJunkie (~Speuler@mnch-d9ba46f8.pool.mediaWays.net) joined #forth 16:38:34 certainly introducing more complexity in2 the editor 16:39:04 Yet, since Forth is so simple, as it should be, technically it should be much more efficient. I'm speculating. 16:39:27 it's hard to extend a preparsing editor.. 16:39:42 tho, u dont have too ;) 16:39:58 s/tho/but 16:40:20 --- join: Speuler (~Speuler@mnch-d9ba46f8.pool.mediaWays.net) joined #forth 16:40:49 but its still an area 2 be researched 16:41:27 I think the idea has merits, and should be investigated. 16:41:41 a preparsed color4th editor would b really fun 16:41:50 sait also makes it tough to generate code from another program.. 16:42:06 s/sait/it/ 16:42:13 but c4th is already very easy 2 compile, so its not a real urge 2 write such a beast 16:42:49 One could always have the parser take the code from the elim tree and generate an equivalent forth word/definition. That might kill the load time though. 16:42:59 but regular text utilities DON'T WORK on colorforth code! 16:43:14 tcn: why? 16:43:21 it's not text 16:43:26 it is 16:43:42 not ascii 16:44:05 just [:space:]!='[ \t\r\n]' 16:44:09 BAUDOT CODES!! (sorry, had to interject that) 16:44:31 but [\001-\030] 16:45:13 kc5tja: ;p 16:45:53 tcn: i dont really c 2 much difference... do u still really c? 16:46:31 oh, i thought you meant Huffman coded.. but even what you're saying, still won't work good with text utils.. 16:46:51 you'd have to rewrite 'em all 16:47:08 Anyways, I'm starting to think Chuck Moore and the Ada guys were seperated at birth. 16:47:27 all all all ... dont always think in the traditional *nix environment 16:47:43 ramnull: :))) 16:48:34 oh well, we could go on for hours 16:49:14 tcn: most other langs running under unices had 2 interface w kernel & lib functions somehow... terrible.. brrrr 16:49:48 but python tcl pike perl whatever has all these interface files 16:49:50 the syscalls are easy 16:49:54 tonns of megabytes 16:50:17 onetom: Sorry. I just see so much in common between the two. 16:50:31 well, see ya guys 16:50:37 & u r whinning about hacking grep & libregexp a bit?... mmm 16:50:51 ramnull: yeah, i got the puchline 16:50:53 it's about dnner time 16:51:05 --- quit: tcn ("TinyIRC 1.1") 16:51:08 have good apetite 16:51:09 a 16:51:12 eeh :) 16:51:12 --- join: tcn (~tcn@tc2-login24.megatrondata.com) joined #forth 16:51:17 --- quit: tcn (Client Quit) 16:51:19 tcn: have a good apetite 16:51:23 shit 16:51:30 * kc5tja laughs 16:51:58 i just wanted 2 express him how i like him otherwise 16:52:15 not counting disagreement, but havent really managed 2 :) 16:53:02 http://www.openravenscar.org You'll see what I mean. 16:54:06 Hmmm...To fork Forth or clone it. Hmmm. 16:54:46 wow 16:55:32 so, the main idea behind ada is the programatical rightness verification of any kind of code? 16:55:45 onetom: essentially, yes. 16:55:47 s/is the /is the ability of 16:55:56 essentially? what else? 16:56:05 interactivity? 16:56:25 or its not that interactive as 4th or smalltalk? 16:56:41 It's about as interactive as compiled C is. :) 16:56:45 onetom: All that. It's designed, from the ground up, so that you can strip out everything except what you specifically need. 16:56:52 (ive only seen squeak as smalltalk, but dont know much about it) 16:57:12 kc5tja: :) 16:57:55 onetom: You will find no two identical dialects of Ada(like Forth), using the RavenScar profile you can statically verify every branch you program will ever possible take. Excepting of course a silicon meltdown. 16:58:43 onetom: Using elimination trees, I've Object Databases engines <5kbytes. 16:58:49 I've seen. 16:58:58 Got three terminals going at once. 17:00:50 Essentially, you've got the perfect pair Ada at the Macro project level, interfaced with Forth at the Micro project level. 17:01:08 aaaaha! got it 17:05:59 ... and a hush filled the room. 17:07:26 * onetom is just transporting himself by bike 17:07:27 bbl 17:07:38 onetom: Did I say something dumb? 17:07:46 no 17:07:58 Oh. 17:08:02 i just have 2 change workplace 17:08:13 Heh. Laters then. 17:08:41 i have 2 monitor the net traffic of a 20box cabinet 17:08:53 I see. 17:37:08 back 17:38:50 the doorman was a askin me very surprised: "now???" when i woke him up & said: "hello, i came 2 work" :) 17:39:01 its 2:43am here 17:41:22 Heheh 17:43:46 onetom: You work third shift too eh? 17:44:05 onetom: Where at? 17:49:35 bbl 17:49:38 --- quit: ramnull ("This isn't Happy Hour!") 17:50:30 :) 17:51:27 just there was a wedding last day so iwas sleeping during daylight time 17:51:38 anyway its already monday here ;p 17:55:24 --- join: karingo (karingo@43.portland-08-09rs.or.dial-access.att.net) joined #forth 18:26:13 --- quit: karingo () 18:37:22 --- join: karingo (karingo@43.portland-08-09rs.or.dial-access.att.net) joined #forth 18:49:02 --- join: kapple (karingo@80.portland-01rh15rt.or.dial-access.att.net) joined #forth 19:01:03 --- quit: kapple () 19:07:08 --- quit: karingo (Read error: 113 (No route to host)) 19:08:05 --- join: karingo (karingo@80.portland-01rh15rt.or.dial-access.att.net) joined #forth 19:14:37 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 19:14:48 hello again 19:15:14 re 19:16:42 started re-implimenting my little language a little differently. I figured out a more efficient way to code the definitions. 19:18:47 Cool. 19:19:04 this way I could have primitive byte codes ranging from 00 hex to EF hex. User defined words would be coded as FXXX where XXX is a 12 bit index into the user def table. 19:19:12 * kc5tja was doing more work on his ATM ARNI specification and development site. I think I'll move it to its own sourceforge site when I get working code. 19:19:29 * kc5tja nods 19:19:37 That's pretty reasonable to me. 19:19:48 I envision most bytecodes would end up as primitives anyway. 19:19:49 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 19:20:18 since I am writing this all in C for now, by primitive I mean "a C function" . 19:20:36 * kc5tja nods 19:20:55 I have no problems with Forth systems written in C. I may end up doing the same for my port of THE to Linux. 19:21:31 working on the parser part now, but need to rest some tonight. 19:22:03 * kc5tja nods 19:22:16 I do my own version of extreme programming - top down development using stubs that basically say "this isn't done yet" and quit. 19:22:21 Writing some new Forths eh? 19:23:07 snowrichard: Heh, I don't even do that. 19:23:29 My XP is to implement what I need, when I need it. I really have little use for stubs overall. Plus *LOTS* of unit tests. 19:24:22 so I can use this stub idea in my little language, I could encode a definition that isn't done yet so that if it runs, it would tell me its not defined and ask if I want to run the editor. 19:25:37 then compile the file I just edited and try the test again 19:26:04 Aaarg. I can get most of the syscalls to work. getdents is being a bitch though. 19:26:30 where could I find a reference on netbsd/linux syscalls? (I know that's two questions) 19:26:47 Good question. 19:26:49 snowrichard: /usr/include/asm/unistd.h 19:26:50 I have no idea. 19:26:57 What does getdents() do? 19:27:16 snowrichard: Then you can do man 2 at the shell. 19:27:19 it ran on my car when a beer truck cut into my lane. 19:27:54 Heh 19:27:58 kc5tja: I gets directory entries from the filesystem. 19:28:08 After arguing with the guy about the damage to the car, I would have asked him for a beer. :D 19:28:16 Ahh 19:28:33 unistd.h has the syscall numbers? ok thanks (linux I guess) 19:28:33 is there anybody here who already has some experience w menuetos? 19:28:52 he didn't stop 19:28:53 snowrichard: Yeah, should work for BSD too. Dont know about AIX or Solaris. 19:28:59 Menuetos -- the FRESHMAKER!! (joke) 19:29:10 i think, 1 should write some color4th 4 it 19:29:35 it seems 2 b a very convenient framework 4 such development 19:29:58 it already has tcpip support too... 19:30:31 the reason I stayed up so long was I finally got the simh networking to work right. I installed bsd on a simulated vax 19:30:48 heh :) 19:31:18 there is a little deal about attaching the simulated ethernet to the real one and I went back into the docs trying to find it again and couldn't 19:31:30 ramnull: menuetos.org? 19:32:46 If I had lots of extra money I would pick up one of those sharp zaurus pda things for about $300. but I don't . 19:33:07 onetom: I downloaded and played with it a couple times. Dont know much about it though. 19:33:20 * kc5tja nods 19:33:35 Damn. getdents keeps returning -1. 19:33:36 I ended up getting a Sony Clie for half that price, with similar features. 19:33:55 but does it run linux or windows ce ? 19:34:42 I give it the file descriptor, the buffer, and the count. no luck. 19:36:09 No, it runs PalmOS 4.1, which is still a nice environment, even if its memory management is a bit ... weird. :) 19:36:55 ramnull: sad... so, i left wo company :) 19:37:47 I have never seen a PALM os machine it might be as nice as some of the other small machines 19:38:34 Anyone here running Linux? 19:38:42 I am running linux now 19:38:57 I just pulled up that manual page a second ago 19:39:28 snowrichard: Is it telling me to read FROM the structure or INTO the structure? 19:40:11 reads several dirent structures from the directory pointed at 19:40:11 by fd into the memory area pointed to by dirp. 19:40:12 I'm getting the file descriptor using fopen. 19:40:24 * kc5tja is running LInux 19:40:33 Well, I got it set up right then. 19:41:00 open returns an fd, fopen returns a FILE * 19:41:05 --- quit: karingo ("you all shall join me in the end") 19:41:14 Just a sec... 19:41:21 The lightbulb goes on... 19:41:23 ;D 19:41:47 I'm going "0 apath path !" 19:42:29 Don't you need to use diropen() instead? 19:42:34 --- join: kitsune (foxchip@adsl-209-182-168-45.value.net) joined #forth 19:42:48 OK, never mind. diropen doesn't appear to exist on Linux. :( 19:42:55 re kitsune :) 19:43:04 hai 19:44:04 I just pass the file descriptor stored in path plus the buffer address plus how many bytes I want it to read. 19:44:05 kitsune: I'm right pissed. >:( My car broke down on the way to aikido last Friday. Turns out I was running off of the battery -- the alternator wasn't working. So now my battery is dead, and the alternator needs to be replaced. 19:45:04 and the labor is more expensive than the alternator itself usually the way some of those belts are 19:45:12 3 141 syscall getdents 19:45:38 fchdir works fine. 19:46:29 RX-7s are trivially easy to change alternators on. 19:46:37 Labor isn't going to be that much. 19:47:03 actually we have a shop here that does a good job on most cars for under $75 for the whole deal 19:47:32 if you want the rebuilt one 19:47:40 No, I always get the new ones. 19:47:44 The one I have in here now is rebuilt. 19:47:51 And this is why I never get rebuilt ones. :) 19:47:55 (I bought the car with it) 19:48:18 It'll probably cost me $200 or so for a Mazda alternator, including labor. 19:48:28 If I had the tools, I'd do it myself. 19:48:36 (and the time) 19:49:03 I am a mechanical klutz. repairing computers is about the limit of my ability that way. 19:49:19 Heheh :) 19:49:25 Lets see here. Read is 1, Write is 2, Read/Write is 3? 19:49:42 Well, I blew my car's sound system trying to replace the power antenna after it got damaged...does that count? And I'm quite proficiant(sp?) with electronics too. 19:49:51 It's just that Mazda's wiring is ... rather nonstandard. :D 19:50:21 ramnull: rwx is the bit order for permissions. read is 4, write is 2, read/write is 6. 19:50:34 ramnull: I'm *assuming* you're referring to Linux permissions. 19:50:42 Thats right, now I remember. 19:53:06 I'm opening the directory with read perms, but getdents still returns error. 19:53:27 you doing this in forth? 19:53:32 (duck) 19:53:33 I'll probably bug I440r about it. I'm doing something wrong. 19:53:53 Yeah. Heh. 19:53:59 ramnull: Do you even have read permissions on the directory? :) (e.g., is the power cord plugged into the wall socket?) 19:54:28 in the isforth? 19:54:29 kc5tja: Well, I'm using my homedir, so yeah. 19:54:34 * ramnull nods 19:54:39 OK, Just Making Sure (tm). :D 19:55:06 I've done really stupid stuff in Linux like that before, spent hours and hours figuring out why it didn't work, only for it to be something as simple as a single permission bit on a directory. 19:55:07 :) 19:55:11 I'm not opening it with write perms, so I should be safe. 19:55:20 * kc5tja nods 19:55:35 Or rather in write mode. 19:56:14 did you check the status of the open to see if it did open it? 19:56:17 Hmmm...I just thought of something. Be back in a second. 19:56:36 snowrichard: It opens alright. fchdir syscall works too. 19:57:54 That didnt work. 19:58:15 Was checking to see if it could only see my CWD. 19:58:38 well I need to be getting ready for bed when I finish that last cup of coffee 19:58:58 Try not to let that coffee keep you awake. 19:59:15 I know it's something simple. 19:59:19 I think I have ADHD or something, drink enough and I get sleepy 20:00:03 actually i am taking some medication that makes me sleep 20:01:47 Integers in Forth are assumed to be unsigned? 20:03:07 why 20:04:09 never mind... need to go now 20:04:13 bye 20:04:15 --- quit: snowrichard ("using sirc version 2.211+KSIRC/1.2.4") 20:15:05 bbl 20:15:08 --- quit: ramnull ("This isn't Happy Hour!") 20:50:48 --- quit: onetom (sterling.freenode.net irc.freenode.net) 20:52:55 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 20:58:38 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 21:06:33 --- quit: kitsune () 21:34:27 --- quit: njd (Read error: 54 (Connection reset by peer)) 22:01:05 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 22:12:01 --- quit: ramnull ("This isn't Happy Hour!") 22:47:51 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 22:48:07 You guys all lurking? 22:48:27 no, me not 22:48:35 im still workin 22:50:31 Hey 22:50:40 I'll go to school in ~20 min. 22:51:04 i WAS in the school all the night ;) 22:51:38 I'm trying to figure out where IsForth put's it's errno value. The source code offsets it 5 from eax. 22:51:52 I gotta work tommorrow night. 22:55:23 Hmmm. 22:56:34 Think I found it. 22:56:53 Well, the same number comes up everytime I try it. 22:56:57 Heh. 22:57:10 errno 8 22:57:17 endexec 22:57:33 Hmm.. 22:57:50 A nice little cryptic explanation "Exec format error". 22:57:55 errno+5, that's the body of the word, right? 22:58:02 Yeah. 22:58:13 I'm just doing here 5 + c@ 22:58:17 To get it. 22:59:09 Hm? 22:59:23 "here", where? :) 23:00:44 After executing 3 141 syscall getdents 23:01:01 errr... 23:01:11 3 141 syscall getdents here ! 23:01:27 Saves the same number in the buffer pointer too. 23:02:10 pi syscall ;) 23:02:28 Now that you mention it. Heh. 23:02:46 Coincidence thats the only one I'm having a problem with? 23:03:34 I'm gonna go google for ENOEXEC 23:03:54 Time for some school, bye. 23:04:59 Later Robert. 23:05:56 Alright. Does this make sense http://www.wlug.org.nz/ENOEXEC ? 23:06:20 I mean, I'm using an interpreter. 23:06:28 IsForth. 23:11:06 Oh shit. 23:12:12 I gotta register the Forth interpreter with binfmt/register under /proc 23:12:52 Aint that some shit. 23:13:32 Anyone seen I440r? 23:32:44 Yup. I got it all figured out now. 23:35:17 then tell us the solution 23:36:20 Well, I'm working on implementing a solution. I'll let yah know if it works. Gotta pass a magic number to the kernel for the IsForth interpreter. 23:36:31 Using binfmt_misc. 23:36:55 I could do it from a shell script I suppose. 23:37:38 yup 23:37:46 google can always help... 23:38:00 onetom: I already found the docs I need. 23:38:14 & also an rgrep binfmt_misc /usr/src/linux/Doc* 23:38:31 Just finished reading it. 23:38:44 & how have u found it? 23:39:01 http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html Is the URL. 23:39:18 Simple. If a bit ugly. 23:39:49 You'll find it under /proc/sys/fs 23:40:24 Hence I suspect this problem is only limited to filesystem calls. 23:58:47 --- quit: ramnull (Remote closed the connection) 23:59:59 --- log: ended forth/03.04.27