00:00:00 --- log: started forth/10.02.22 02:25:52 Deformative: You'll like that book. 03:09:34 --- quit: nighty^ (Remote host closed the connection) 03:38:43 --- quit: ASau (Ping timeout: 252 seconds) 03:41:41 --- join: ASau (~user@83.69.227.32) joined #forth 04:58:07 --- quit: nottwo (Read error: No route to host) 05:04:39 KipIngram: I hope it isn't too wordy. :D 05:34:03 No, it's not. You'll see. 05:40:37 --- quit: ASau (Remote host closed the connection) 05:41:57 --- join: ASau (~user@83.69.227.32) joined #forth 05:43:15 --- join: nottwo (~trannie@designvox-gw.iserv.net) joined #forth 05:56:48 --- quit: Deformative (Ping timeout: 260 seconds) 06:05:07 --- join: Deformative (~joe@141.212.202.151) joined #forth 06:21:49 --- join: nighty^ (~nighty@x122091.ppp.asahi-net.or.jp) joined #forth 06:27:24 --- join: Pusdesris (~joe@141.212.202.151) joined #forth 06:27:37 --- quit: Deformative (Read error: Connection reset by peer) 07:01:50 --- quit: Pusdesris (Ping timeout: 246 seconds) 07:16:54 --- join: Pusdesris (~joe@bursley-183118.reshall.umich.edu) joined #forth 07:54:36 --- nick: Pusdesris -> Deformative 08:04:53 --- quit: Quartus` (Ping timeout: 268 seconds) 08:25:54 --- join: GeDaMo (~gedamo@dyn-62-56-89-110.dslaccess.co.uk) joined #forth 08:51:59 --- join: madwork (~madgarden@204.138.110.15) joined #forth 08:59:55 --- join: kar8nga (~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net) joined #forth 09:40:28 --- join: qFox (~C00K13S@5356B263.cable.casema.nl) joined #forth 10:32:28 --- quit: kar8nga (Remote host closed the connection) 10:38:26 --- join: segher (~segher@84-105-60-153.cable.quicknet.nl) joined #forth 11:01:29 --- join: Maki (~Maki@dynamic-78-30-167-37.adsl.eunet.rs) joined #forth 11:26:18 --- join: Snoopy_1611 (Snoopy_161@dslb-084-059-222-144.pools.arcor-ip.net) joined #forth 11:27:15 --- quit: Deformative (Ping timeout: 245 seconds) 11:31:27 --- quit: madwork (Read error: Connection reset by peer) 11:36:53 --- join: madwork (~madgarden@204.138.110.15) joined #forth 11:39:10 --- join: Deformative (~joe@141.212.212.126) joined #forth 12:27:58 --- quit: Maki (Quit: Leaving) 12:29:35 --- quit: Deformative (Ping timeout: 252 seconds) 12:56:58 --- join: Deformative (~joe@bursley-183118.reshall.umich.edu) joined #forth 12:57:42 --- join: kar8nga (~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net) joined #forth 13:44:44 --- join: jdpo (~joe@66-169-176-49.dhcp.ftwo.tx.charter.com) joined #forth 14:09:22 --- quit: qFox (Quit: Time for cookies!) 14:10:27 --- quit: jdpo (Remote host closed the connection) 14:17:40 --- join: tathi (~josh@dsl-216-227-91-166.fairpoint.net) joined #forth 14:38:33 --- quit: GeDaMo (Quit: Now I lay me down to sleep; Try to count electric sheep) 14:51:45 --- join: neceve (~neceve@unaffiliated/neceve) joined #forth 14:57:51 --- quit: kar8nga (Remote host closed the connection) 15:00:50 KipIngram: I got the book. 15:01:01 Just picked it up at the library. 15:01:34 I feel like I need volume 2. 15:03:07 It says that there is a typical "nucleus" of primitive words, but it never lists them. 15:06:51 Look at CORE set in the standard. 15:07:07 ASau: Where is that listed? 15:07:14 Right in the standard. 15:07:42 ASau: I am looking for a minimal yet useful set of words to implement in asm. 15:07:49 Not bare minimal, but near minimal if you will. 15:07:57 Then I want to do the rest with the metacompiler. 15:08:07 ASau: Where can I find the standard 15:08:09 ? 15:08:18 STFW? 15:08:29 dpANS 94 15:13:27 read the channel topic? :P 15:15:29 Whoa. 15:18:21 Too bad that list doesn't say if the words are immediate or not. 15:18:27 It would be a handy bit of information. 15:18:27 Volume two lists those for Fig Forth, and also *defines* them (i.e., gives the Forth definition). 15:18:31 Or does it? 15:18:47 KipIngram: Yep, I know. 15:20:40 Deformative: look over a bunch of implementations and decide for yourself what you think of "the standard." I always tend to gravitate back toward the FIG model, or some derivative of it that I craft myself, because the machinery is so clear and easy to understand. The standard tries to focus on portability and so forth, and therefore doesn't tell you as much about how to makes thing work. 15:21:20 I've just never been a "standards are good because they're standards" kind of guy; I'm very non-conformist in most aspects of life. 15:21:40 I would say I'm an individualist but that would set ASau off. 15:22:04 Heh. 15:25:52 Jonesforth is the most elegant implementation I can find, and even that is rather backwards. 15:26:14 * ASau sighs. 15:26:56 What is so hard in eForth? 15:28:37 Even the core is written in like a psuedo forth or something. 15:28:54 That's the point. 15:29:06 It breaks even early. 15:29:59 Of course kernel is written in Forth. 15:30:09 It is difficult for me to turn this psudo forth into asm. 15:30:15 Why do you want it written in anything else? 15:30:46 Even if you don't have other Forth (though you do), 15:31:02 it is easy to write preprocessor that translates "code " 15:31:08 into proper assembler. 15:31:23 I would rather do it this way... 15:31:26 Anyone have any thoughts on implementing interrupts in a native Forth processor? My thought so far is to have the interrupt hardware just insert a 16-bit cell that represents a subroutine call to the service routine into the instruction stream. 15:31:34 This makes it easier to convert to another layout, if need arises. 15:32:15 KipIngram: why not just call fixed vector? 15:32:50 Well, I guess it would be in a sense. That 16-bit cell would be the vector, and it would get called. Maybe I didn't speak plainly. 15:33:19 I want more than one of them, though, because I want to support a potentially large number of hardware interrupts. 15:34:28 KipIngram: Two stacks, seven registers? 15:34:44 Pardon? 15:35:36 Yes, I have two stacks. But no registers, at least not in the actual processor. I will have primitives designed to support register banks associated with hardware peripherals, though. 15:36:00 Just brainstorming, have a parameter and return stack, 3 general registers, 1 for state, 1 for the ip, 1 for the code pointer, and 1 for HERE. 15:36:20 Oh, well I have an IP of course. 15:36:28 Better implement your metacompiler. 15:37:16 It is way easier for machines simpler than 68K. 15:38:09 The only things I have so far that keep a state are the stacks (data and return), the IP, the RAM, and the instruction pipe, which is just a 15 bit register I can load a cell into for processing 5 bits at a time. It's a 5-wide, 3-long parallel loadable shift register. 15:39:19 KipIngram: Well, forth compilers need 2 IPs yes? One that points to the codeword, and the other which points to the internal definition? 15:39:20 My architecture allows time for an extra memory access to look up an interrupt vector. 15:39:43 Deformative: why? 15:40:18 This is a native Forth processor. There is no "code" that's distinct from address lists. Everything is instruction cells. If the high bit is clear, then the low 15 bits specify a cell address for a subroutine. If the high bit is set then the low 15 bits represent three 5-bit opcodes. 15:40:25 ASau: For the return stack. The codeword is what is being worked on now, and the other one is the definition that called it, so it knows what NEXT is. 15:40:28 So those are inherently the same thing. 15:40:32 Jonesforth uses eax and esi 15:41:12 Deformative: no need unless you want to cache return point in a register. 15:41:28 * Deformative ponders... 15:41:29 In other words, DOCOL and NEXT are both in hardware, and the proper one is selected by one bit of the 16-bit cell. 15:41:46 I suppose you could put what jonesforth calls esi on the return stack.... 15:42:08 Deformative: don't refer to jonesforth. 15:42:20 ASau: It is the only one I was capable of reading... 15:42:26 It is some minor model that became famous only recently 15:42:34 Consequently, I don't have a CFA field in my word definitions. The whole definition is code, directly executed by the hardware. 15:42:39 and only because someone picked it up and tried to revive. 15:43:09 IOW, it's non-player. 15:43:29 There's established terminology for all those implementation models. 15:43:39 Yes, let's not ignore the establishment. 15:44:39 Alright, you may ignore establishment. 15:44:48 Then you should ignore outcasts first. 15:44:55 My opinion: read anything you find helpful. Absorb everything you come across here and make your own decisions. 15:45:06 :) 15:45:43 Very ineffective way. 15:45:53 Are fig Forth sources around anywhere? 15:46:00 Yes. 15:46:03 Hopefully documented. 15:46:07 No. 15:46:24 Yeah, but Forth Fundamentals essentially documents it. 15:46:49 Better use eForth as model. 15:47:25 It is way better than FIG Forth only because it is written 15:47:27 in high(er) level language. 15:47:59 Reading FIG Forth code is much harder. 15:48:38 ASau: I looked at eforth and it was hard to read... >.> 15:48:49 FIG Forth is much much harder. 15:49:04 I had no trouble reading FIG Forth back when I tried it. I think I used an 8086 assembly listing. 15:49:28 Because it did exactly what you expected it to. 15:49:28 "No trouble" doesn't mean it is easy. 15:49:38 Ok - I found it easy. 15:50:10 You have to grok internals before you start to understand it. 15:50:12 It would be nice if there was a minimal forth implemented in C. 15:50:23 minforth? 15:50:39 I don't think it helps. 15:51:21 You choose bad way to understand it. 15:52:22 In eForth you have almost everything that can be done in Forth, already in Forth. 15:52:46 And a bit more than can be done in assembler in assembler. 15:53:08 Well... Be back later. 15:53:10 In FIG Forth, you have _everything_ in unportable assembler. 15:53:12 I have to get my maths done. 15:54:26 You will learn it when you find out that you have to fix each and every word in dictionary. 15:54:51 Just because that particular ancient assembler is hard to find. 15:54:58 (If possible at all, I didn't find it.) 15:55:00 --- join: erider (~chatzilla@pool-173-69-160-231.bltmmd.fios.verizon.net) joined #forth 15:55:10 --- quit: erider (Changing host) 15:55:10 --- join: erider (~chatzilla@unaffiliated/erider) joined #forth 15:58:31 ASau, I don't think he intends *build* it from that assembly. He just wants to study an implementation. Not to copy it, but to learn from it. He actually intends to write a Forth for a custom processor his prof has, I believe. 15:58:50 He's looking for a *starting point* that has clarity, not a blueprint for a final implementation. 15:59:05 Anyway, wife's home; going to eat dinner, read, etc. etc. 15:59:09 See you all later. 16:01:08 It is eForth. 16:01:15 Not FIG Forth in any case. 16:02:20 Damn, eFotrh is 3000 LOC in almost high level Forth with comments. 16:02:44 FIG Forth is 50000 to 60000 LOC in assembler. 16:03:05 With almost no comments on its structure. 16:04:50 I think that with all addons eForth is under 8 kLoC. 16:07:12 Ah! 16:07:18 Do as you wish. 16:07:33 You're wasting your personal time anyway. 16:20:58 --- quit: neceve (Quit: KVIrc Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/08 23:52:48 UTC http://www.kvirc.net/) 16:30:18 --- quit: erider (*.net *.split) 16:30:19 --- quit: ASau (*.net *.split) 16:30:19 --- quit: probonono (*.net *.split) 16:30:38 --- join: GammaRays (~user@77.246.230.163) joined #forth 16:30:54 --- join: probonono (~User@unaffiliated/probonono) joined #forth 16:30:56 --- join: erider (~chatzilla@pool-173-69-160-231.bltmmd.fios.verizon.net) joined #forth 16:31:14 --- join: ASau (~user@83.69.227.32) joined #forth 16:31:40 --- quit: erider (Changing host) 16:31:40 --- join: erider (~chatzilla@unaffiliated/erider) joined #forth 16:39:21 --- quit: ASau (Ping timeout: 248 seconds) 17:10:49 --- quit: Snoopy_1611 () 18:29:00 --- join: I440r (~mark4@c-69-136-171-118.hsd1.in.comcast.net) joined #forth 18:31:12 --- mode: ChanServ set +o I440r 18:38:43 I440r: Hey - how've you been? 18:41:03 hey lol not bad. working on some GBA code 18:41:09 fighting gnu as 18:41:20 there is a very good reason why gnu named its assembler an ASS 18:43:16 GBA? 18:44:06 gameboy advanced 18:44:11 actually i have a DS not a gba 18:44:36 Fun. 18:44:56 not really. its taken me 3 days to get some code written that should have taken 10 minutes 18:45:03 fucking gny toolchain SUCKS ASS 18:45:23 i spend 90% of my time trying to figure out how to do "x" with this assembler 18:45:27 I see. 18:45:41 I hate assemblers in general. 18:45:44 then another 5% of my time trying to figure out how to get "X" to perform the way i expected it to 18:46:06 the amiga devpac and eric isaacsons a86/d86 (for dos) were good 18:46:10 a86 is STILl good 18:46:13 I am not a fan of differential equations either. D: 18:46:46 i have a dos version of isforth that i assemble with a386 and when assembly is finished i have fully hashed vocabularies 18:46:55 and the macros arent complex at all 18:47:12 tho they look squirly to ppl who dont know the macro language lol 18:48:21 Mmm, I like portable code. :P 18:48:46 (damn youngsters) 18:50:21 well there is absolutely NO such thing as portable code 18:50:48 you show me some portable code and ill show you source files chock full of #ifdef this system #else if defined this system else 18:51:16 so you either have code thats trivial to port to any system you want to run it on 18:51:40 or you have a clusterfuck unreadable BLOB of source PUKE full of visually cluttering bullshit #defines and conditional compiation 18:51:42 pick one 18:52:04 Well, some langauges have those hidden away. 18:52:13 But yeah, I am a fan of C. xP 18:52:28 For "general" things. 18:52:41 i personally consider the C language to be the single WORST thing to ever happen in the software industry 18:52:55 and i mean every word of that 18:53:02 I don't. 18:57:14 C is rather transparent, yet it keeps instructions out of the way and allows code which can be compiled to many different instruction sets. 18:57:35 Oh, and they could have done a lot worse as far as performance goes. :D 18:57:44 it allows every moron and his autistic brother to think they can code 18:58:01 it allows said moron to puke out some of the WORST code ive ever seen 18:58:28 and almost every single piece of example C code in existance exhibits what i would say are the single worst programming practices ther eare 18:58:43 such as if/and/but loops nested to the umpteenth level. TOTALLY uncommented code 18:59:14 clusterfuck source formatting 18:59:49 totally unreadable #define foo (bar << 3 | ((fud ^ (wtf << 6))) 19:00:26 but dont worry. you dont need to know what the value of foo is. just forget that... you dont need to know 19:00:46 include files that include include files that include include files that include include files that include include files ad infinitum 19:01:01 but dont worry. you dont need to know who included what in what order or what did or didnt get included or when or why 19:01:17 So you think it would be better to have fewer programmers producing higher quality code, at a much lower rate? 19:01:20 I can see that. 19:01:30 yes as a matter of a fact i do 19:01:38 there would be no such thing as a BSOD for a start :) 19:02:08 i dont want "every moron and his autistic brother" competing for me for the jobs i cant fucking get right now 19:02:14 ive been out of work for about a year now 19:02:19 i lost my phone. cant pay for it 19:02:27 i lost my 2006 mazda rx-8 19:02:29 I see. 19:02:44 im living in a prison cell sized room in my sisters house that im eternally greatful for 19:03:17 if every dumbass who thinks he can code werent out there puking out bullshit code i might have a job right now 19:03:28 What is your favorite language for general purpose programming, or do you think such a thing doesn't exist? 19:03:31 but dont worry. im not bitter 19:03:43 forth. assembler is a close second. 19:03:52 VERY close 19:04:04 I see. 19:04:15 c does not even enter into the picture (ok well... im a whore... ill code C if your paying me to do so :) 19:04:38 What makes you think you are so competent with asm, and that others can read your code any more than you cannot read their C? 19:04:54 Deformative, have you looked at the source files for isforth? 19:05:10 ive had people who dont code assembler. dont code forth tell me that they can read my code 19:05:15 multiple times 19:05:47 i take GREAT PAINS to make my code readable. that is the single highest prime directive that ALL CODERS should go by 19:05:48 You wrote isforth? 19:05:55 yes 19:06:45 I see. 19:06:47 btw. i believe that ANS forth has the same value as C 19:06:57 I will have to have a read through it. 19:07:02 I am implementing a forth right now. 19:07:04 www.isforth.com 19:07:08 Yep, found that. 19:07:12 cool. for what ? 19:07:16 not "why" lol 19:07:21 Custom educational CPU. 19:07:23 for what platform/os? 19:07:28 No os. 19:07:28 aha cool 19:07:36 forth IS the operating system 19:07:37 I440r: a really crappy FPGA cpu 19:07:47 Yeah, pretty much. 19:07:49 isforth is the operating system, Linux is my BIOS !!! lol 19:07:50 I440r: Precisely. 19:07:54 I440r: it has a lousy instruction set and weak assembler 19:08:08 so it really really REALLY needs forth! :) 19:08:25 crc: I agree, but let's be nice... It is "ok" for the other students in the class. 19:08:36 I couldn't live with it myself, so I am implementing a forth for my final project. :) 19:09:40 I don't blame you :) 19:12:46 crc wernt u looking at fbsd isforth? 19:13:07 I440r: slowly :) 19:13:09 or was that slava? 19:13:12 ok lol 19:13:16 u got it to work at all? 19:14:03 not yet 19:16:21 I440r: What is your education like / where did you used to work / where have you been applying? If these questions are not too personal. 19:16:36 no the questions are fine :) 19:16:37 If they are, applogies. 19:16:47 ive been living on monster.com and the like 19:17:02 i have NO formal qualifications and 25+ years of experience working as a consultant 19:17:05 apologies rther 19:17:08 my spelling is aweful. 19:17:21 its ok im dyslexic so i read it all wrong anyway :)))) 19:17:24 *snicker* 19:17:42 Heh, RPN does that do you. ;p 19:17:47 ive worked on code for longwall coal mining roof support systems. 19:18:04 ive worked on the air speed indicator for the U2 spy (err weather) plane 19:18:38 ive worked on satellite tracking systems too (and in forth!!!) 19:18:41 Have you tried applying at hardware manufacturers? 19:18:54 probably lol 19:19:03 Hardware companies seem to be in need of competent asm people from what I can tell. 19:19:07 but im not a hardware person at all, just software 19:19:19 They are in short supply now a days, and schools don't crank them out at all. 19:20:23 Well, for writing compilers and such maybe. (C compilers. :p) 19:20:27 Or drivers. 19:20:31 Or programming chipsets. 19:20:32 * Deformative shrugs. 19:20:45 i could never write a c compiler 19:20:53 even if i knew how i still couldnt bring myself to do it 19:20:58 i would feel too dirty 19:21:00 You could optimize, yes? 19:21:56 Really, I should stop talking though. I am just talking out of my ass. I have no experience in industry yet. 19:29:20 --- quit: erider (Ping timeout: 245 seconds) 19:35:59 --- join: TR2N` (email@89.180.235.140) joined #forth 19:39:17 --- quit: TR2N (Ping timeout: 268 seconds) 20:10:40 --- join: Snoopy_1611 (Snoopy_161@dslb-088-068-214-189.pools.arcor-ip.net) joined #forth 20:57:48 --- nick: TR2N` -> TR2N 23:59:59 --- log: ended forth/10.02.22