00:00:00 --- log: started forth/06.08.12 01:12:21 morn' Quiznos 01:12:35 re. how ya doin? 01:13:17 i made some headway in my forth internals yesterday 01:13:43 figered out how to layout a word struct so it's movable 01:14:07 and also associate a emacs's style helpstring with each word too 01:15:06 also made the NFA a real pointer to the name of a word 01:15:28 so it's more closely related to how one would write a cstruct style {} 01:15:48 --- quit: segher (Read error: 60 (Operation timed out)) 01:15:52 --- join: segher_ (n=segher@dslb-084-056-173-185.pools.arcor-ip.net) joined #forth 01:16:12 ie, struct _word { char *name, struct word *prev, parent; void *pfa } 01:20:39 comments, criticisms, flames invites :) 01:20:42 invited 01:52:31 what's parent? 01:54:51 oh, oops; parent is lfa 01:54:55 wait 01:55:15 arent is the cfa 01:55:17 parent 01:55:30 fig model fields are nf, lfm cf pf 01:55:41 nf, lf, cf, pf 01:55:53 to which i add an hf for help string 01:56:11 k? 01:57:22 i have name, flags, lf, cf, pf 01:57:43 yea, flags will be included as part of but separately from nf 01:58:07 but i'm thinking of expanding it to be a cell-wide 01:59:36 terms: a word has 4 standard fields, N, L, C and P; H is extra for a help-string. 02:00:07 a word consists of two parts, a head { nf, lf, and maybe hf} and a body has { cf and pf} 02:00:30 the standard fields end up being true pointers to their respective content 02:00:38 k? 02:00:58 a null field-pointer means no content 02:01:12 so that headless words are even easier to do i think 02:01:35 `dbu' == "define before use" 02:02:19 since a word's name is known before the word is defined (the name of a word follows the `:') it's easy to make turnkey headless applications 02:02:28 when i figer out how to make ELF binaries :) 02:02:51 just do a word by word copy to the buffer without the word's name 02:03:19 elf binaries are easy, at least if you cheat a little 02:03:19 and bc pf points to its content, i can attach a length field to pf 02:03:34 michaelw yea, i know linuxassembly.net 02:03:40 so, that's not really a prob 02:03:57 how's that look so far? 02:05:05 why do you want headless words again? 02:05:15 everyone else has them :) 02:05:16 heh 02:05:33 eventually, i want to share this kernel 02:05:45 so i'm planning on it being flexible. 02:05:50 designing it to be * 02:06:24 i'm not fond of headless words myself 02:06:52 i consider heads (nf and lf) to be essential debuging info 02:08:34 that's what I think,not sure about the separation 02:08:59 well, i'm trying to incorporate good design features from other languages and this is preparation 02:09:00 * michaelw runs 02:09:13 siddown :) 02:11:48 as far as "separation" by which i mean being able to describe the structure of a word using c-isms 02:12:25 after that, it makes sense to me to actually design the kernel's actual layout of words using that struct 02:12:59 --- join: EsotericMoniker (n=dkoontz@ip24-251-73-197.ph.ph.cox.net) joined #forth 02:20:51 one question i'm dealing with tho is ``to what field do i put in my LF?'' 02:24:42 where is a good place to start learning about forth? 02:25:33 in print, in google 02:27:46 anything else? 02:28:17 EsotericMoniker: http://www.amresearch.com/starting_forth/ and http://thinking-forth.sourceforge.net/ 02:28:59 Download Gforth for your system so you have an implementation to play with as you learn. 02:30:38 http://www.complang.tuwien.ac.at/forth/gforth/ 02:31:09 and Taygeta too 02:35:44 does the linux version of gforth run on osx? 02:36:47 I found it on darwin ports 02:37:15 It's here at fink too: http://pdb.finkproject.org/pdb/search.php?summary=gforth 02:37:26 what is taygeta? 02:38:05 A collection of largely vintage Forth bits & pieces from across the years. 02:38:55 many years 02:39:22 so like the standard libs? 02:39:39 "standard" is so subject with regard to forth :) 02:39:43 subjective 02:39:45 More of a hodge-podge collection of many things at taygeta. 02:39:47 heh 02:39:59 There's an offical ISO/ANS Standard for Forth. 02:40:11 but no one likes the standard ;) 02:40:12 heh 02:40:30 You don't speak for me, Quiznos. 02:40:35 i know 02:40:55 then you're not "no one" 02:42:18 I don't dream, someone suggests a newcomer gforth as the starting forth, well gforth is frustrating for a newbie 02:42:32 lol 02:42:41 * Quiznos refrains from responding further 02:42:47 * Quiznos steps away from the kbd 02:42:53 slowly i turned 02:42:56 step by step 02:42:59 heh 02:43:07 Gforth is well-built, reports errors instead of crashing, complies with the Standard, has good console keyboard facilities, and is well-codumented. 02:43:29 well-documented, rather. I don't know what more you could hope for. I guess the world is waiting for you to write a better one, virl. 02:44:32 I could go on. It has FFI; it's got full floating-point support; it's ported to multiple platforms. 02:44:39 I get the feeling from what I've read so far that forth is like lisp in it's diveristy and lack of a "standard" 02:44:54 well as Quartus said, there is a standard 02:44:56 well-documented, pah! even Anton Ertl admits that it's not 02:45:00 and it's highly divisive 02:45:02 :) 02:45:10 virl what did Anton say? 02:45:34 There are lots of different Forths and forth-like languages, EsotericMoniker, and a Standard that's in wide use, adopted by commercial Forth vendors, and quite effective. 02:45:51 EsotericMoniker for instance, see the joy language 02:45:56 Forth is easy for even a poor programmer to implement (however badly), so commonly that happens. 02:46:22 that they need to write docs for gforth, he said that for the new version of gforth there could be more documentation about it 02:46:39 virl, ah 02:47:00 There's always more that can be written. Gforth cannot be called undocumented, however; it's got a substantial manual. 02:47:26 I mean the manual isn't really _much_ documentation, for a small forth that would be true. but gforth isn't small! 02:47:36 so basically there's a standard core and then a bunch of different add-ons that aren't really standard or particularly compatible 02:47:40 Again, the world awaits your revisions, virl. Get writing. 02:47:41 it's a big unholly mess 02:47:55 * Quiznos sprinkles holly water on gforth 02:48:58 EsotericMoniker, nearly every Forth implements platform-specific extensions of one sort or another. Forth is used all the way down into the tiniest systems, and is often intricately involved with the hardware and peripherals it runs on. 02:49:32 EsotericMoniker, the standard was created to get old habits of old forths under a general description. it's not the state of the art of todays forth, in fact it's deprecated. 02:50:07 ANS is dep.? 02:50:32 deprecated = obsolet, sry. 02:50:41 wow 02:50:50 i've waited for so long for this day :) 02:50:52 I'm going to leave you with these two jackanapes, EsotericMoniker; I'm sure they'll keep trying to convince you that it's not worth bothering with. Good luck; I'll be around later if you want to talk when the trolls are down for a nap. 02:51:40 hehe, ok 02:51:45 I feel the love 02:51:55 his adjectives are ineffective ;) 02:51:57 lol 02:52:10 feel it, EsotericMoniker, feel it :) 02:53:30 EsotericMoniker, you can could look at gforth and other non-ans forths and then you could see what I mean. 02:54:21 EsotericMoniker my comment on ANS is that it was meant to standardise ONLY the meaning of forth words and clarify disparate usage among the different forth-models 02:54:36 it doesnt discuss how to implement 03:01:11 well, I think EsotericMoniker isn't much interested into this detail, are you? or in what are you exactly interested? 03:01:31 probably 'how the fuck do I learn forth?', right? 03:01:46 yea, we went overforth :) 03:01:48 lol 03:02:12 basically an intro to know why it's cool and why I should spend time learning it 03:02:26 I am interesting in *some* of the internals as I would like to use it to build a compiler 03:02:30 and a VM 03:02:45 EsotericMoniker forth is uniq among the family of lagnuages in that it can work with or without an operating system 03:03:11 it allow sone COMPLETE control over every aspect of a computer when there is no intevenining os 03:03:29 forth has no true limits in what you can do with it 03:04:32 but coding in forth requires that one lern first howto think IN forth. 03:04:42 and that's a different way of thinking in general too 03:04:56 it's also quite different from coding in any other programming language as well 03:05:06 in fact it's a language with an inbuild interpreter and an inbuild compiler 03:05:18 yep 03:05:30 it's a very liberating language environment 03:05:33 yeah, I got interested because of this presentation: http://csclub.uwaterloo.ca/media/Eric%20LaForest:%20Next%20Generation%20Stack%20Computing.html 03:06:03 virl is the name Koopman? (sp?) 03:08:04 EsotericMoniker google for umm 03:08:32 Phil Koopman; he wrote a book about forth type languages. 03:08:43 it's available online, and a good read 03:09:05 well, if so, then I haven't read it 03:09:21 Quiznos, anything more specific than just umm? 03:09:38 Phil Koopman 03:09:41 ah 03:10:09 umm is a "pauser" 03:10:11 :) 03:11:41 Stack Computers: The New Wave, right? 03:12:31 new wave.. around 1980 it was written 03:13:01 not 80s 03:13:03 90 03:13:16 ~80 was Loeliger's book 03:13:24 which i have somewhere ;) 03:13:46 hmm? I thought it was published 198* 03:13:55 nop 03:14:01 it's a "modern" book :) 03:14:23 1989 was the new wave according to this site: http://www.ece.cmu.edu/~koopman/stack_computers/ 03:14:32 yea, read that 03:15:00 also find Anton Ertl's pages, he has good info regarding too 03:15:34 also google for the usenet entries on forth. 03:19:28 hmm, I'm really inerested into that video file 03:19:41 what vid? 03:20:34 that one EsotericMoniker posted 03:20:53 ah 03:35:01 --- join: zak_ (n=zak@073.a.001.beg.iprimus.net.au) joined #forth 03:36:49 --- quit: llama32 (Read error: 110 (Connection timed out)) 03:42:18 thx for the info everyone 03:42:38 --- quit: EsotericMoniker (Remote closed the connection) 03:52:07 --- quit: zak_ ("Leaving") 03:52:56 --- quit: madgarden (Read error: 110 (Connection timed out)) 04:01:10 --- quit: Cheery (Read error: 110 (Connection timed out)) 04:21:07 --- join: vatic (n=chatzill@pool-162-83-254-201.ny5030.east.verizon.net) joined #forth 05:08:33 --- quit: madwork (Read error: 60 (Operation timed out)) 05:22:44 --- join: PoppaVic (n=pete@0-2pool236-120.nas22.chicago4.il.us.da.qwest.net) joined #forth 05:26:41 --- quit: vatic (Remote closed the connection) 13:05:07 --- log: started forth/06.08.12 13:05:07 --- join: clog_ (n=nef@bespin.org) joined #forth 13:05:07 --- topic: 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects.' 13:05:07 --- topic: set by ayrnieu on [Thu Jun 22 20:55:25 2006] 13:05:07 --- names: list (clog_ Snoopy42 Amanita_Virosa Cheery madgarden segher_ Quiznos virsys uiuiuiu timlarson virl Raystm2 cods @JasonWoof ayrnieu juri_ k4jcw warpzero nighty__ @Quartus @crc ccfg Shain clog Zymurgy ohub michaelw) 13:56:26 --- log: started forth/06.08.12 13:56:26 --- join: clog (n=nef@bespin.org) joined #forth 13:56:26 --- topic: 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects.' 13:56:26 --- topic: set by ayrnieu on [Thu Jun 22 20:55:25 2006] 13:56:26 --- names: list (clog slava Snoopy42 Amanita_Virosa Cheery madgarden segher_ Quiznos virsys uiuiuiu timlarson virl Raystm2 cods @JasonWoof ayrnieu juri_ k4jcw warpzero nighty__ @Quartus @crc ccfg Shain Zymurgy ohub michaelw) 13:56:47 virl my current kernel.asm assembles to 570 bytes ;) 13:56:49 heh 13:56:53 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 14:02:37 Quiznos, wow, ok? 14:02:44 and what does it include= 14:02:59 virl just the basics so far; all heads too 14:05:38 which system? I mean which Forth philosophy? 14:06:12 umm, i'm agnostic lol where forth is concerned 14:06:17 dtc 14:06:51 i might abide by ANS definitions but only loosely 14:07:00 32bit on linux 14:07:08 not dynamic binary atm 14:07:20 any words yet? 14:07:43 most of the common stack, math, inner interp 14:08:11 the easy stuff so far 14:09:06 i'm gonna hook certain words to linux kernel, like write() for type 14:09:16 that'll be easy 14:09:34 nice 579 bytes.. 14:09:41 eh 570 14:09:46 yea, it'll get larger tho 14:10:23 plus i'm also working on a recovered pc that was dropped off here about 1.5h ago 14:10:38 new toy to me 14:11:20 hmm? a pc which one? 14:12:08 so far i've figered out: celeron-400M with 128meg, 4g, atx mobo in a BIG 7bay tower 14:12:48 extra fan, 4usb ports split front and back 14:12:52 cdrom 14:13:03 it's pretty clean inside the box 14:13:12 just a few cobs, no bunnies at all 14:13:33 bunnies? 14:13:40 apparently previous owner was either lawyer or involved in employment 14:13:43 dust bunnies 14:14:05 one flop 14:14:23 no eth but i have a nic card lyin around 14:14:54 winme is on the hd now, with the cabs, so i might save that to cdrw 14:15:00 570 bytes, which assembler and how much lines? 14:15:07 k 14:15:33 so far it's: 212 lines of asm writ for the fasm assembler (nasm fork) 14:15:46 3101 text bytes 14:15:52 with modest commenting 14:15:57 what CPU? 14:16:02 a macro for NEXT 14:16:20 nasm fork? eh, when fasm is a fork of nasm then it would be written in C, but it's not. 14:16:26 for 386+ minimally 14:16:39 virl ty for correction 14:16:48 fasm is an assembler writ in asm for several host os 14:16:58 yasm is the nasm fork 14:17:05 i get my asm's confussled 14:17:09 :) 14:17:14 what makes your forth different from other x86 forths? 14:17:16 ok.. 14:17:33 slava, it's HIS forth ;-) 14:17:41 there are many forths like it, but this forth is mine. 14:18:00 slava atm nothing, it's not ready for prime-time; i'm still building it up but it'll have at least one uniq feature 14:18:11 virl that's tru, it's my forth atm 14:18:15 my vision 14:19:57 ax.dx for tos, si=IP, sp=SP, bp=RP 14:20:18 i think using ax instead of bx makes the difference in code-size 14:20:50 ayrnieu, that reads like a scene from the movie full metal jacket 14:21:05 i need to adjust the macros to put the word-name before nfa so nfa is an actual pointer 14:21:19 same with the cf and pfa's 14:21:51 16 bit? 14:21:58 32 14:22:13 but i wanna use relative offsets instead of absolute addresses 14:22:41 and incorporate the fpu/sse/mmx register-files too 14:22:59 there are alot of 0-operand opcodes not being used 14:23:05 if you only care about new cpus, don't support the x87 fpu 14:23:13 why? 14:23:17 sse is easier to program for and faster 14:23:21 you mean 286 and older? 14:23:23 oh 14:23:35 ok i'll look into that 14:23:36 sse2 is present on pentium 4 chips and newer (core duo etc0 14:23:44 k 14:24:05 i dont have P4 yet 14:47:59 335 bytes for a helloworld, java, we love you.. 14:48:11 heh 14:48:25 that's impressive; is that a native host compile of java? 14:49:12 probably a class file 14:50:05 java bytecode uses 8-bit instructions, and one of the original goals was to be compact, but i think they abandoned that one ;) 14:50:32 mayhaps 14:50:33 or they now restrict it to J2ME 14:56:00 can i paste a 15line macro here for comment? 14:56:29 --- quit: Amanita_Virosa ("Wewps!") 14:56:47 they have even a big header for every class file.. 14:56:55 its not that big 14:57:20 java is big because there's a lot of code and a lot of duplication, the bytecode format is relatively compact 14:57:25 if it was natively compiled it would be 2-3x bigger 14:57:29 quiznos - paste a URL to it. 14:57:33 k 14:58:44 maybe that it's not that big, but it's not little. 14:58:55 sun doesn't claim it is 14:58:56 little would be only the magic number and nothing more.. 14:59:12 but java was also designed for size.. 14:59:28 originally, but it hasn't been a goal for them for the last few years, i'm sure 14:59:34 the jdk gets much bigger with every release 14:59:42 its a ~100mb download these days for linux, i think 15:00:06 overwhelming.. 15:00:11 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 15:02:15 it's quite interesting how a class file is structured 15:03:26 http://pastebin.ca for comments please? 15:03:52 --- join: saon (n=saon@unaffiliated/saon) joined #forth 15:04:27 bah, a simple helloworld program has so much bloat information in java 15:04:42 how's xell coming along? 15:05:19 it's sure that it will beat that helloworld size 15:05:31 nobody cares about helloworld size, however. 15:06:04 I can't say much about it's future, but that's for sure. 15:06:16 comments on my macro? 15:07:22 which macro? 15:07:29 on pastebin.ca 15:07:35 via my nick 15:07:46 there's only one macro pasted 15:16:50 virl new version on pastebin.ca 15:24:09 --- join: Raystm2- (n=NanRay@adsl-69-149-35-106.dsl.rcsntx.swbell.net) joined #forth 15:30:35 --- quit: saon ("Lost terminal") 15:41:44 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 15:41:45 ray 15:44:55 has anyone seen my post to comment? 16:19:32 --- join: Raystm2 (n=NanRay@adsl-69-149-56-96.dsl.rcsntx.swbell.net) joined #forth 16:24:06 ray 16:25:41 --- quit: Raystm2- (Read error: 60 (Operation timed out)) 17:00:40 --- join: nighty (n=nighty@CPE00119576a9c5-CM0012c90d36fc.cpe.net.cable.rogers.com) joined #forth 17:01:26 re nighty 17:01:37 Hello Quiznos 17:02:12 I'm full I ate 6 crumpets 17:02:22 :) 17:02:46 what! no tea? 17:02:51 :) 17:02:58 bad colonist 17:03:31 Yes with tea 17:03:40 oh ok 17:03:40 1 cup 17:03:43 that's proper then 17:03:44 lol 17:03:48 Hi nighty. 17:03:57 quartus: hi :) 17:04:47 I go crazy on the crumpets , i love these things 17:04:53 :) 17:06:19 Heh. 17:06:48 lol 17:06:58 and Maple sirup 17:07:29 mmm 17:07:33 i want pancakes 17:07:41 and butter 17:07:53 pancakes are for wimps 17:08:00 crumpets I say 17:08:03 :) 17:08:27 pancakes are very special to me; like a gift 17:08:44 a gift from who ? 17:09:08 from me to me 17:09:17 nice:) 17:09:21 i goto a restaurant for them 17:09:25 not often at all 17:09:27 yea 17:17:04 --- nick: segher_ -> segher 17:18:48 --- join: snowrichard (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 17:19:41 hello 17:20:12 re 17:20:34 how are you today quiznos 17:20:45 i'm winding down for the night 17:20:59 oh... only 7:20 pm here 17:21:05 +1h here 17:22:03 listening to hitchhikers guide to the galaxy dvd just got a dvd-writer 17:22:36 cool 17:22:57 --- quit: slava () 17:23:35 windows XP pro didn't recognize it because it was a slave on the secondary. had to switch to master 17:24:03 linux had no problem 17:25:35 yea lin is like that 17:26:56 i burned a 4GB single-layer with most of my mp3 files 17:27:10 cool 17:27:46 had to drop a couple of the longer files out 17:33:06 nite all 17:33:07 gone. 18:07:09 --- join: richard_ (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 18:07:35 --- quit: snowrichard (Nick collision from services.) 18:07:38 --- nick: richard_ -> snowrichard 18:21:12 --- quit: snowrichard ("Leaving") 18:48:12 --- join: snowrichard (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 18:50:17 --- quit: snowrichard (Client Quit) 19:09:36 --- quit: uiuiuiu (Remote closed the connection) 19:09:38 --- join: uiuiuiu (i=ian@dslb-084-056-235-201.pools.arcor-ip.net) joined #forth 19:46:01 --- join: snowrichard (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 19:46:53 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 19:49:32 hey guitar man 19:49:41 I400r is your guitar right? 19:51:26 ya 19:51:37 you did the isforth? 19:51:49 yes and no 19:51:52 still DOING hehe 19:51:54 well started it 19:51:57 its not done yet :P 19:52:34 I just got a dual-layer DVD burner today 19:52:52 me 2 19:52:52 I'm thinking of packaging one of my apps on a bootable disk 19:52:59 and an athlon fx-60 19:53:10 and a BFV video card 19:53:13 dual core? 19:53:30 and a VERY NICE 550 watt power supply that went kaboom the instant i powered it up 19:53:33 yup 19:53:47 you lost the power supply? :( 19:53:47 had to go buy a crappy 350 watt till i can get this RMA'd 19:53:55 ill get it back :/ 19:54:57 motherboard is an asus a8n32-sli 19:55:52 do you know a decent nasm / 386 asm tutorial? 19:56:08 other than the intel docs, they are huge 19:56:51 well the only book i would recommend is the ORIGINAL "the 8086 book (includes the 8088)" 19:57:10 thats the ONLY x86 assembler book that is worth a damn 19:57:29 really. Amazon have it? 19:57:47 every other book ive looked at is 4 inches thicj. the first 2 inches go into great detail on the different assemnblers. followed by an inch and a half on hex binary and decimal 19:57:53 leaving half an inch for assembler 19:57:59 ya they probably have it 19:59:05 or I could just read your code :) 19:59:12 ya 20:00:12 brb 20:00:18 I've done assembly on IBM 360, 6502, 6800, 6809, Z80, one more could not be that hard 20:02:31 you shouldnt have any problem 20:03:21 oh yeah and a 68K 20:07:45 --- quit: snowrichard ("Leaving") 20:25:06 --- join: snowrichard (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 20:25:21 hi 20:27:19 --- quit: snowrichard (Client Quit) 20:48:24 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 21:52:54 --- join: snowrichard (n=richard@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 23:32:26 --- quit: snowrichard ("Leaving") 23:34:57 --- join: scc (n=sam@203-114-131-224.dial.dyn.inspire.net.nz) joined #forth 23:49:11 --- quit: scc () 23:59:59 --- log: ended forth/06.08.12