00:00:00 --- log: started forth/03.01.23 02:16:43 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 02:20:43 --- quit: Serg_Penguin (Client Quit) 03:08:55 --- quit: onetom (leguin.freenode.net irc.freenode.net) 03:09:18 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:09:56 --- quit: onetom (Remote closed the connection) 03:10:02 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:45:03 --- quit: onetom (leguin.freenode.net irc.freenode.net) 03:45:03 --- quit: sma (leguin.freenode.net irc.freenode.net) 03:45:03 --- quit: Klaw (leguin.freenode.net irc.freenode.net) 03:45:03 --- quit: skylan (leguin.freenode.net irc.freenode.net) 03:45:03 --- quit: ianni (leguin.freenode.net irc.freenode.net) 03:45:20 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:45:20 --- join: sma (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 03:45:20 --- join: skylan (sjh@Riverview16.tbaytel.net) joined #forth 03:45:20 --- join: Klaw (chuck@ip68-4-155-247.oc.oc.cox.net) joined #forth 03:45:20 --- join: ianni (~ian@inpuj.net) joined #forth 03:46:34 --- quit: sma (leguin.freenode.net irc.freenode.net) 03:46:34 --- quit: Klaw (leguin.freenode.net irc.freenode.net) 03:46:34 --- quit: skylan (leguin.freenode.net irc.freenode.net) 03:47:30 --- join: Klaw (chuck@ip68-4-155-247.oc.oc.cox.net) joined #forth 03:47:30 --- join: skylan (sjh@Riverview16.tbaytel.net) joined #forth 03:47:30 --- join: sma (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 03:53:42 --- quit: onetom (leguin.freenode.net irc.freenode.net) 03:53:51 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 05:23:38 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 05:35:28 --- quit: Serg_Penguin (Read error: 104 (Connection reset by peer)) 06:01:59 --- join: sylk (spammesens@dialup-8.175.220.203.acc01-geor-mor.comindico.com.au) joined #forth 06:07:19 --- part: sylk left #forth 06:19:36 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:28:00 --- quit: Serg_Penguin () 06:32:05 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:41:10 --- quit: lament (" cocks || gigantic cocks || slapping me in the face") 08:48:32 --- join: gilbertbsd (~knoppix@67.97.122.120) joined #forth 09:48:57 --- join: hp48nik (xru52729fj@1Cust53.tnt4.vancouver.bc.da.uu.net) joined #forth 09:50:51 --- join: male (~male@cpe-024-033-030-124.midsouth.rr.com) joined #forth 09:51:32 --- part: hp48nik left #forth 09:56:20 --- join: I440r (~mark4@sdn-ap-034tnnashP0310.dialsprint.net) joined #forth 09:58:04 --- join: Speuler (~Speuler@mnch-d9ba4841.pool.mediaWays.net) joined #forth 09:59:13 bongo! 09:59:21 'morning 09:59:49 ive half finished my memory sub allocator, i can allocate with a granularity of 16 bytes now 09:59:57 but i cant deallocate yet - thats more complex heh 10:00:17 nice 10:00:32 i assume you have done this before ? 10:00:37 yes 10:00:41 i440 is this about garbage collection? 10:00:47 but not using cpu mm 10:00:52 no. forth has no garbage 10:00:56 i copied data chunks around 10:01:16 sorted'm first 10:01:19 Ha. Yes, it does I440r.. The only difference is that you charish yours. 10:01:21 im using a mmap syscall to allocate a heap and dole out pieces parts of the heap in multiples of 16 bytes. 10:01:34 male forth has NO garbage :P 10:01:35 moved them into consecutive space 10:01:38 cherish ;-) 10:01:58 if its forth - its not garbabe. c needs garbage collection because it IS garbage :P 10:02:06 so the gaps connected 10:02:18 C is not garbage. 10:02:24 Ha. C doesn't need GC. 10:02:25 i did that whenever an allocation couldn't get a chunk big enough 10:02:27 mmap has a 4k granularity, thats not acceptable 10:02:31 I believe all languages ARE colours. 10:02:38 or rather, a Pallete of colours. 10:02:53 What color is forth, gil? 10:03:00 white 10:03:05 ummm. what pallete is forth :D 10:03:06 ALL colours 10:03:12 If you say pink.... 10:03:15 hahaha. 10:03:21 and ther IS a fscking U in the word C O L O 'U' R 10:03:42 there's no U in forth :) 10:03:42 yes there is a U. 10:03:48 Chuck doesn't think so, I440r. 10:03:48 colorforth 10:03:49 hahahaha 10:04:41 thats because he cant spell :P 10:04:48 foUrth <-- !!! 10:04:50 i rest my case :P 10:05:05 he is prejudiced against the letter U :P 10:05:18 Anyhow, why is the memory management so complex in your forth system I440r?It should be easy considering that its written in assembly. 10:05:36 its not complex 10:05:41 its NOT written in assembly 10:05:47 isforht doesnt have an assembler extension 10:05:56 all the kernel extensions are written in 100% pure forth 10:06:07 the assembler is a future thing 10:06:21 None the less, memory should appear simple to such a system. 10:06:36 it will to the system 10:06:54 you will asl for a block of memory of size X and you will be given an address of that memory 10:06:55 Just alloc space in the dictionary and require the use of FORGET. 10:07:21 fuck no. what if your application needs 4 or 5 megs of data ??? 10:07:31 you cant allot 4 or 5 megs 10:07:41 Then get it from the os and keep it. 10:08:03 male lets say your writing some program that repeatedly allocates 3 bytes of memory 10:08:05 It all depends on your application. I doubt isforth will be used to do anything that dynamic. 10:08:13 every time you mmap 3 bytes your going to be given 4k 10:08:29 I meant mmap for large blocks. 10:08:47 Or use sbrk(). 10:08:54 no 10:09:02 brk only extends the DATA segment 10:09:43 if you could brk ANY fucking block of memory then brk would be useful 10:10:00 I'm not sure what you're getting at. 10:10:03 and even so. you STILL get memory in multiples of pages of 4k 10:10:17 Why is the page size a problem for you? 10:11:03 because if you have an application building a tree, creating and destroying nodes (say a chess game) and each node is 25 bytes in size 10:11:20 your going to blow away ALL yuour fucking memory allocating 4k for each node 10:11:25 and using only 25 bytes thereof 10:11:43 a chess game could have BILLIONS of nodes to search! 10:11:53 Why can't you put more than one node in a page? 10:12:07 male thats what my code gives you!!!!!! 10:12:25 it allocates a heap. and when you allocate memory it gives you chunks of that heap 10:12:26 And why do you have to alloc space dynamically? I'm saying that a static form of allocation would be suitable. 10:12:31 the granularity being 16 bytes now 10:12:41 not for everyone in all cases 10:12:56 Of course, but you don't have to worry about everyone's cases. 10:13:02 yes i do!!!!!!!!!!!1 10:13:10 thats the whole point! 10:13:11 Nah, you're being to general. 10:13:19 yes. and no. 10:13:58 I don't think its possible to write a gerneral low-level system. At least, no one has done it yet. 10:14:18 And Forth is a perfect example of that. 10:14:39 I440r: shall i send you my implementation ? 10:14:48 is from 1992 10:14:52 Speuler: no but would you look at mine ? 10:15:14 i'd send it for what was missing in your code. 10:15:19 i already know how to finish it but im procrastinating :) 10:15:21 can't see what you haven't got yet 10:16:39 bongo ive looked at about 3 other forth dynamic memory managers, i found them difficult to read and understand their logic because most people are too fucking lame to comment their code heh - i got a general idea of what i needed to do from them though 10:17:45 they helped with the overall picture but not with the details. i have the details now totally figured out 10:21:06 I440r: Then while you're at it you might want to write an article on the process. 10:21:31 male i might just do that, but im notoriously bad at writing actual ENGLISH words heh 10:21:45 ;-) 10:21:59 there are alot of small processes that i need to document in my forth 10:23:06 Well, that's true of every project.. Documentation is a moving target. 10:23:24 its just been neglected in isforth 10:23:31 sma is going to be helping :) 10:24:40 I'm actually at this very moment working on a markup processor to generate my own documentation with. I've gotten fed up with the other solutions. 10:25:45 This new processor is very low fat as far as the mark up text is concerned, and it outputs to troff. 10:26:03 is it anything like the new scheme text processor? 10:26:45 I'm unaware of what you speak, gil. 10:27:34 My system just uses the first two characters of every line to format the remainder.. It actually comes out looking very sharp. 10:29:11 And I don't really have to worry about targetting ascii because the markup text looks pretty good as it is ;-) 10:31:25 hmmm. but can you do blocks of text? 10:31:42 As in paragraphs? 10:32:29 yes. 10:32:42 I mean, do you absosmurfly have to write something on everyline? 10:33:00 Short answer: yes, Long answer: no, but it doesn't matter. 10:33:18 Not if you have a decent editor, gil. 10:33:26 like ed :D 10:34:03 But, at the very least very line will be indented two characters. 10:34:09 (usually spaces) 10:34:15 what is it written in? 10:34:18 bash? 10:34:27 python? awk? 10:34:49 Sigh. I tried to prototype it in sed, then awk, then perl.. Perl worked, but I didn't like it. So now it is a state machine in C. 10:34:57 hmmm. 10:35:07 did you try p-y-t-h-o-n? 10:35:13 But, it is only two pages of C. 10:35:32 this feels like deja vu. 10:35:40 I was about to say 'sounds like work'. 10:35:46 hmmm very very odd. 10:36:02 I have heard someone say this before for some reason. 10:36:14 ;-) 10:36:33 I better becareful. someone is messing with the matrix script. 10:36:55 Oh, I don't care for python.. Nor perl. Sometimes, but not in a case like this. 10:41:11 Its actually kind of pathetic, because I wrote a language that is perfect for this sort of task, but I'm also in the middle of changing it so drastically that its useless for the moment :-( 10:43:45 I despise interdependency. 10:44:36 what is your language called? 10:44:51 STOICAL 10:45:49 hahaha 10:45:51 are you a stoic? 10:46:04 I am THE stoic ;-) 10:46:35 I am Zeno. 10:47:17 ;-) 10:47:22 hmmm I have been to your page before. 10:48:24 Most of what's there is horribly outdated now. 10:49:03 I remember finding it quite interesting and 1tom said he liked it. 10:49:13 had you seen STOIC before? 10:49:41 I actually have the manuscript.. Its a long story, but I'm named after STOIC's author. 10:49:54 yes I remember reading that. 10:50:11 js moore 10:50:26 or some such... 10:50:37 so where is the manuscript? is it online? 10:51:00 No. But I think there are some STOIC sources in the CPM archive. 10:51:42 will you put it online? 10:52:12 I've considered it, but that would require quite a bit of typing. It isn't as though anyone ever used STOIC. 10:52:28 * gilbertbsd wonders if kinkos can be paid to scan manuscripts as pdf's. 10:52:37 just for historical purposes... 10:53:26 I've actually been meaning to get together with Sachs on writing a history of STOIC, which would be much more interesting. 10:53:59 will you do anything like the stuff McCarthy did for his paper? 10:54:03 the first lisp? 10:55:07 I doubt the story is that good ;-) 10:55:47 and was STOIC that good? 10:56:30 Well, in many ways yes. Certainly better than Forth, but lacking much functionality by today's standards. 10:56:42 have I asked you if you've seen rebol? 10:57:20 Yeah, I've seen it. It seems too monolithic. 10:57:37 STOICAL reminds me of that though. 10:57:49 wdymb monolithic? 10:58:14 its pretty tiny for a language that comes with gui support as well. 10:58:20 AND it is written in C. 10:58:26 With the whole IOS thing. 10:58:36 inspired by forth, lisp and scheme... 10:58:44 Don't get me wrong, I was very excited about rebol when I first came accross it. 10:59:00 me too. but the man pages are a little boring. 10:59:05 I even wrote a few little apps to get the feel. But the license is what kept me away. 10:59:13 I just like the fact that it is soo small and packs such a great lot at the same time. 10:59:33 do you know you can do things like (+ 2 3 54 ) in it? 10:59:49 Yeah, well I just tried to make STOICAL do everything that I had ever needed from a language. 11:00:08 so what did you break it apart for? 11:00:13 Prefix arithmetic? Cool. 11:01:56 sometimes rebol thinks it is a scheme :D 11:02:21 Ha. That's a good question.. One reason was that I discovered that gcc wasdoing some very nasty things with the object code. And I never liked the trickery I had to do with the build process. Also, the garbage collector/memory management was a place holder. And I'm still working on putting a real GC in. The problem is that I use native threads, and that makes GC a bitch. 11:03:33 My current development version can switch between the BWD conservative collector and my own incremental GC. 11:03:54 But there's still some work to do. 11:04:41 I'd like to make the whole thing a bit more modular. For instance, by having network support be in a module. 11:05:15 I'm just so sick any tired of fighting the C compiler tooth and nail. 11:05:36 As it is I'm completely tied to GCC. 11:05:48 do it in asm then. 11:05:56 or CL 11:07:04 It started out in assembly, but that drastically limited the functionality.. At that time STOICAL was pretty much doomed to be a clone of STOIC. 11:08:04 Besides, I have so much assembly code from years past that is useless now becuse it isn't portable. 11:08:25 I hate having to do things more than once, you know? 11:08:50 ah yes. 11:09:06 and why not CL? 11:09:37 That seems excessive. 11:09:49 I actually considered using bigloo scheme, btw. 11:09:57 But that seemed excessive as well. 11:09:57 nice. 11:10:04 and C is not excessive? 11:10:53 C is frustrating, but it isn't excessive. That is, they wanted C to be a high level language--which it isn't. So how could it be excessive? ;-) 11:11:08 It is a bit much for a "portable assembler". 11:11:18 (Which is what I'm using it as) 11:12:00 so how many pages is STOICAL so far? 11:12:14 Jesus. Do I have to answer that? 11:12:20 wait I'll find out. 11:12:38 There are almost 300 built in words.. 11:13:20 But most of the code deals with data structures. 11:13:26 (And memory management) 11:14:02 lc says about 4k on the current version. 11:14:47 130 pages, whatever that means. 11:15:08 why so many builtin words? 11:15:24 Mainly because of C. 11:16:00 are you serious? 11:16:06 STOICAL is currently indirect threaded via computed goto.. So it is rather hairy on the implementation side. 11:16:26 why don't you write a tiny kernel in C and then write the rest in STOICAL? 11:16:45 so you won't have to deal with C too much. 11:17:27 Well, I'm working tward that end. But when I began writing it in C I was using a totally different threading model. I've gone through about 5. 11:18:31 you oughtta write an 'evolution of STOICAL' 11:18:42 One of the big advantages that I have now is the use of clauses.. They work like anonymous words and make writing conditionals a breeze. 11:18:59 clauses from C? 11:19:05 Ha, one of the OO examples is called "the evolution of man". Perhaps I could rename it. 11:19:19 eww eww 11:19:20 No, a new sense of the word. 11:19:36 so you are inventing tools as you go along as well? 11:19:41 or are they easily available? 11:19:58 What do you mean by tools? 11:20:14 eg the clauses stuff. 11:21:46 Well, I feel unrestricted by the past. I prefer to do things in the best way possible, so I do break with tradition a lot. The clauses stuff could be gleaned by someone yes.. But I've seen related stuff done in forth before. Not as versatile, but it worked. 11:23:05 Oh, clauses make decompilation a breeze as well. 11:24:07 Of course, Chuck would say that the programmer should decide when to use the technique and not the language.. But I don't buy it. Let someone write traditional conditionals if they need them ;-) 11:24:38 eg of clauses? 11:25:06 You mean as far as syntax? 11:25:10 yeah 11:26:25 I use a different syntax, but I also provide a compatibility interface. Th programmer doesn't really have to understand how they work, they're more of an implementation detail. Any how, the syntax I use is a if{ foo }else{ bar } 11:26:51 But you can also say a if foo else bar then 11:27:34 And you can put a clause on the stack like so. { body of clause }> 11:28:48 I really put a lot of thought into the syntax for stoical. I find that it looks much cleaner than your average forth. 11:29:18 I love python for 1. its simple syntax 2. few keywords to get dirty with :D 11:29:39 do you think it is conceptually as simple as forth though? 11:30:14 --- join: rafe (~rafe@www.scinq.org) joined #forth 11:30:47 Many would argue that Forth isn't conceptually simple. Hell, I think Chuckhas argued that.. The reason is that programmers tend to get bogged down with the semantics of what does> does instead of thinking about their problem. 11:31:17 hehehe. 11:31:26 forth, like scheme is an implementation ONLY language. 11:31:40 its very tempting to try writing a forth or a scheme... 11:31:48 Actually, I've seen some neat stuff done with scheme. 11:31:49 its not very tempting to write an ADA or a COBOL. 11:32:20 Ha. What kind of pervert would enjoy writing a COBOL compiler!? 11:32:30 Hopper. 11:32:48 I bet Fortran 1 wouldn't be that hard to write either. 11:34:39 Well, nothing is that complicated as a newborn. 11:34:43 male I am almost tempted to learn C so that i can read the STOICAL sources. 11:35:00 Well, don't bother until I finish rewriting it. 11:35:15 why not? 11:35:29 Because I'm changing everything! 11:35:43 we are still waiting for the final word on Forth from CM and the final volumes of Knuth's books. 11:35:46 .... still waiting... 11:36:19 I could do another release pretty soon if I didn't include thread support or my new gc. 11:36:50 But I'd rather have some incentive to get it done. 11:37:58 worse is better male ;) 11:38:15 MS does it all the time though it would be nice if he did make worse better. 11:39:03 I just wish I could find a simple unified solution to some of these problems 11:40:05 But the type of GC affects the type of threads affects the possibilty of having a persistent object store ... and so on. 11:40:40 Its all about compromises. 11:40:56 perhaps the next stoical should be in stoical? 11:41:02 or would that be a PITA? 11:41:44 ;-) I never planned for it to be self hosting. Most self-hosting languages are a joke (unless done via an assembler facility). 11:42:27 Nah, I'm tied to C because of the portability aspect. 11:43:07 well, you could do it in rebol AND it would be immediately executable on 45 platforms :D 11:43:38 Ha. 11:44:09 I really like that about rebol... now for a forth that can make similar claims. 11:45:21 Its a shame that there even are 45 platforms.. If we had just one decent chip in one decent system with one decent OS then we'd have a million times what we do today. 11:45:41 no its not a shame. 11:45:56 it shows some people are using their heads. 11:46:30 --- join: mur (jukka@baana-62-165-185-162.phnet.fi) joined #forth 11:46:49 No, its all about money. If everyone was selling the same chip then why buy it from intel? 11:47:00 the diversity is proof of the search for the one decent system (ODS). 11:47:15 Hehe. ODS. 11:47:45 hmm.. Male is just such absurd nick name, it just is. 11:48:36 But what I'm saying is that we have the technology to do it better right now.. A highly integrated carbon copy system that everyone could use an wouldn't be out moded for another 40 years. 11:48:57 lets. 11:48:57 mur: its short for something else ;-) 11:48:59 whats stopping us? 11:49:00 i dont know if others notice the absurdance, but it just has some myth it breaks hiddenly 11:49:13 male, i'm referring to using word male as nick name 11:49:15 s/ance/ity/ 11:49:33 s/ance/ity/ = almost sanity :) 11:50:07 mur what if those form is initials: Male Albert Larry Eckert? 11:50:09 My ex used to call herself female to mock me. 11:50:35 where is she? 11:50:40 does she Forth? 11:50:57 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 11:51:13 Ha, I only wish gil. 11:51:47 Then maybe we would have gotten along. 11:52:13 --- quit: I440r (Read error: 113 (No route to host)) 11:52:27 what about virtual machines? don't you like those? 11:53:08 Well, forth is a virtual stack machine. So I suppose I do. I just don't like layer upon layer of abstraction. 11:53:26 but that is necessary isn't it? 11:53:30 every language defines a virtual machine 11:53:39 male, WISH? she does python?! 11:53:52 (was wish python interpreter anyways?) 11:54:21 Not really, lament. Not in the technical sense of the word. 11:54:56 What gil is suggesting is builting a language atop a virtual machine for portability. 11:54:56 Yes, really, in the computer science' sense of the word :) 11:55:26 Sigh. Perhaps. But Java should not be in silcon! 11:55:40 Forth should. 11:55:54 Java should not be. 11:55:54 wouldn't that be fun? 11:56:03 all "computer scientists" are either geeks, or those who dont know anythign about the matter and still call themselves experts! 11:56:20 mur they are mathematicians who don't wanna work too hard :D 11:56:38 not mathematicians but economistpersons 11:56:48 I thought they were just programmers that didn't know how to use computers. 11:57:08 But give them a pen and paper... 11:57:13 economists and most social scientists are statisticians who don't wanna work too hard :D 11:57:23 hahaha 11:58:50 male are you a CSist? 11:59:42 No, I believe that problem solving happens more often in the real world than at university. 12:00:00 male is clearly a problem solver :)+ 12:00:41 aha! 12:00:42 oops, that + wasn't intended - that's not a priest smiley 12:00:59 Well, I don't know about that. I cause a few too, so its an equilibrium. 12:02:15 I like the university though... I just hate the fact that it has to have so many 'social scientists'. 12:02:37 social science is a gross, arrogant misuse of resources. 12:03:10 Anyway, computer scientists are not just programmers that don't know how to use computers. They have to clean up all the mess left behind by 'real programmers'... 12:03:12 Architecture. Now, THAT is a social science :D 12:03:30 computer scientists don't know what mess they create afterwards. 12:04:01 gilbertbsd, what do you mean? 12:04:08 Well, for being 'scientists' few of them seem willing to provide proofs and implementations. 12:04:08 by what? 12:04:20 the proofs are too hard. 12:04:22 Architecture. Now, THAT is a social science :D 12:04:47 ah. it is not just about building a house. 12:04:48 male: profs they do implementations no 12:04:54 male: implementation is best left to "real programmers" 12:05:11 male: and proof is essential, if they fail to provide proof they're not computer scientists 12:05:22 lament essential to what? 12:05:26 their status in the university? 12:05:30 their publishing record? 12:05:37 if they fail to provide implementation then they're just ivory tower 12:05:41 their 'street creds' :D? 12:05:48 gilbertbsd: to being a branch of math 12:06:03 gilbertbsd: since otherwise it's just a heap of evil-smelling mess 12:06:23 mathematics is a game played by a few people who couldn't care less about the rest of us. 12:06:44 the write love letters only to other mathematicians. 12:06:47 Hehe: "I'd like to start this essay by handin' out props to all my niggas." 12:06:58 isn't that how it goes? 12:07:05 big up CM 12:07:14 shout out to Knuth . 12:07:45 ;-) 12:07:52 gilbertbsd: programming is applied math :) 12:07:59 is it lament? 12:08:06 er, yes, it is 12:08:07 programming is a form of prose writing. 12:08:17 Programming these days has very little to do with math. 12:08:19 so it is literature. 12:08:44 I'm with gil, code is literature interspersed with poetry. 12:09:08 ode to hello world in python 12:09:12 print "hello world" 12:09:12 :D 12:09:14 Some of it is informative.. Some is joyus, and some makes you just want to break down and cry. 12:09:44 gilbertbsd: prose writing deals with human languages 12:09:50 gilbertbsd: human languages are not formal systems 12:09:59 starting from asm, they are ALL human languages. 12:10:02 Perhaps they should be, lament. 12:10:02 gilbertbsd: all programming languages are 12:10:35 male: eh? 12:10:58 a human language is a language that OTHER humans can grok. 12:11:04 Human language should be a formal system. 12:11:09 male: why? 12:11:43 computer languages are clearly variations on human languages. They are simply formal versions of (usually) english 12:12:17 and byte code 12:12:19 Think of your brain like a cpu doing multi-tasking.. Run Java on it andyou can't get much done. Run something simple and structured like Forth and you can get a lot of work accomplished. 12:12:34 a lot of 'thought' 12:12:37 The better the language the clearer our heads will be. 12:12:42 although, brain sytstem is superioir to batch system like computers 12:12:54 since brains dont input and output in chains 12:12:58 And the better we'll be able to communicate with out fellow man. 12:12:58 male the greater the command we have of the language methinks. 12:13:12 male: do you know lojban? 12:13:16 because one could write drivers in *gasp* COBOL! 12:14:06 It is interesting, but I'd rather see a computer make us a new language. We're obviously not that good at it. 12:14:12 yea & i could learn semephore to r3ecite poetry 12:14:13 ;-) 12:14:26 male that computer will be programmed by a person. 12:14:33 so you can still drop the middle man! 12:14:50 I say a language is a context sensitive expression. 12:14:55 let the variations BEGIN! 12:14:59 male: the problem is that you can't make a human language be a formal system 12:15:05 Just because the computer is programmed by a human doesn't mean that a human could do the same work. 12:15:21 didn't Godel raise a big stink about formal systems and their weaknesses? 12:15:27 male: if you do, people will simply modify it until it's not :) 12:15:30 male and why not? 12:15:32 But you could come much closes than we are now, lament ;-) 12:16:03 No, that's why you use the computer. It comes up with the language and we all conform mindlessly. Goodbye to regional dialects. 12:16:04 male: well, lojban does that. And lojban sucks. 12:16:17 male Iverson invented APL as a unambigous notation for communication amongst mathematicians. 12:16:26 he realised later on that it could be executed by machine... 12:16:38 --- quit: skylan (Read error: 110 (Connection timed out)) 12:16:49 perhaps we should all write APL :D 12:16:57 gilbertbsd: and you're still arguing that programming is not applied math? :) 12:17:06 ah yes. Strongly :D 12:17:09 hee 12:17:42 it would look very different if it were 12:18:08 I am all for visualising programs the way organic chemcial compounds can be visualised and modelled in 3d 12:18:20 Programming may be applied computation.. Applied sequence. Applied action.. But there's very little math. 12:18:51 programming boils down to this: sbnz $a $b $c 12:18:57 computation is not math how? 12:19:08 its all a game lament. 12:19:28 gilbertbsd: no, that's not what programming boils down to. Programming boils down to abstraction and combination of given primitives :) 12:19:45 well then sbnz a b c is the ultimate primitive. 12:20:03 Sure. But in the grand scheme of things, primitives aren't important. 12:20:08 aren't they? 12:20:18 what then will your abstractions stand on? 12:20:28 On other abstractions, of course. 12:20:37 and when it comes down to it? 12:20:42 Once an abstraction is complete, it's indistinguisheable from a primitive. 12:20:45 what will the first abstraction stand on? 12:20:54 only in lisp and forth Lament ;) 12:21:13 gilbertbsd: i don't mean indistinguisheable syntactically 12:21:28 I just thought of a way to make forth popular again. 12:21:30 gilbertbsd: just indistinguisheable by denotational semantics 12:21:32 well then "only in forth lament :)" 12:21:55 We need to figure out how to associate stack languages with pornography. 12:22:03 hmmm. 12:22:28 I mean, look at what porn has done for perl! 12:22:34 huh? 12:22:37 hee 12:23:25 Every porn house has a programmer writing cgi in perl. They are the biggestperl community. 12:24:00 Forth needs a similar arrangement. 12:25:06 Just think. What a job... You write Forth code all day while beautiful women take their clothes off in the next room. 12:26:13 God, I just realized something. 12:26:21 I really am a dirty old man. 12:26:37 hawww 12:26:41 but how is that dirty? 12:26:53 why is it that the third urge is always so politicized? 12:27:11 first urge is to eat, second urge is to metabolize, third urge is to reproduce :D 12:27:22 Hey, what's the Forth urge? ;-) 12:27:31 That would make a nice teeshirt. 12:27:36 hahaha. To not have to cuddle afterwards :D 12:27:42 "Get the Forth urge" 12:28:21 perhaps to KISS? 12:28:32 the forth urge is to KISS. 12:28:47 the forth urge is to K.I.S.S. 12:29:35 ;-) Very good. 12:29:49 I was thinking ICE, but KISS is much better. 12:32:32 ICE? 12:33:18 Interpret Compile Execute. 12:33:31 The three modes of a forth system. 12:33:47 thats right. Forth does not have rep 12:34:03 RICE 12:34:07 it does have an 'r' 12:34:10 ;) 12:34:21 the Forth urge is to RICE 12:34:23 get it? 12:34:27 hahaha. 12:34:39 STOIC(AL) only has two modes because intrepret/compile are one step. 12:35:04 don't you get it? 12:35:11 hmmm the forth is to RICE? 12:35:22 oops. missing a word there. 12:35:34 read, interpret, compile, execute 12:35:41 heh. 12:35:50 compare that to the TUNES HLL model: 12:35:51 instead of rise. 12:35:54 ;-) Well, I eat a lot of RICE. 12:36:04 Parse, Expand, Search, Dispatch, Rewrite, Response. 12:36:19 okay. instead of "the forth urge is to rise", we have "the forth urge is to RICE" 12:36:22 pesdrr! 12:36:44 pesdrr. 12:36:51 I still like KISS better ;-) 12:36:58 ah but RICE is true. 12:37:03 forth wants to rise. 12:37:08 it has an urge. 12:37:15 it is urgent that forth rise! 12:37:27 sounds like forth needs viagra 12:37:37 I think Forth is pretty content where it is. 12:37:55 as a limp Richard? 12:38:06 Well put ;-) 12:38:34 Forth - An IL 12:38:50 Impotent Language. 12:38:50 --- quit: Speuler (Read error: 104 (Connection reset by peer)) 12:38:54 hahaha 12:39:10 --- join: Speuler (~Speuler@mnch-d9ba4841.pool.mediaWays.net) joined #forth 12:39:24 Boy I hope CM never visits this channel. 12:39:45 cm? 12:40:04 Charles H. Moore. 12:40:31 We didn't kill him when he visited last time. 12:40:35 Why would we now? 12:40:59 He's older? 12:41:00 ;-) 12:41:32 heh, i remember when guido van rossum came to python. 12:41:44 The most memorable thing he said then was "fuck debian" 12:41:46 :) 12:42:01 (horribly out of context, yet immensely quotable) 12:42:04 Hey, I run debian ;-) 12:42:08 but CM did visit... 12:42:19 * gilbertbsd runs knoppix(debian) 12:42:59 lament when was this? 12:43:10 * lament shrugs 12:43:11 * mur runs debian which he has personally fskd up.. ah personalised 12:43:13 Some time ago. 12:43:13 Well, I also run AIX, OpenBSD, SCO, minix, and Inferno. 12:43:28 AIX on which system? 12:43:31 male: Haha, who knows? :) 12:43:54 RS/6000. 12:43:55 http://www.ultratechnology.com/chatlog.htm 12:44:11 you OWN it or do you work with it? 12:44:16 Own it. 12:44:29 hmmm. I gotta get me one of those babies sometime. 12:44:31 to poke around :D 12:44:34 And three IBM 3151 terminals to go with it ;-) 12:44:46 ... from ebay? 12:45:17 No, I got it through to grape vine. It used to run a PICK database and serve up /home. 12:45:26 s/to/the/ 12:46:07 Its funny, AIX had so much technology before anyone else did. The system is still usable. 12:46:20 --- quit: mur (Connection reset by peer) 12:46:24 --- join: mur` (jukka@baana-62-165-185-162.phnet.fi) joined #forth 12:46:58 Anyhow, now maybe you understand why my code needs to be portable ;-) 12:47:06 oh 12:47:14 * mur` reads the topic for the first time 12:47:16 --- nick: mur` -> mur 12:47:28 how can i do vegan food iwth forth? 12:47:39 you have many DISportable machines to play with. 12:47:55 mur for vegan food, follow a wild cow around. 12:48:08 so " wild cow follow " 12:48:19 cow wild follow 12:48:20 * mur puts gilbertbsd to pan and heats up 12:49:05 Hmm. I wonder if we could tie Forth into the health food industry.. It is low-fat after all. 12:49:23 male: err 12:49:25 porn, sure 12:49:26 food, sure 12:49:33 but please, not both at the same time :) 12:49:44 that's not very hygienic. 12:50:01 Mmmm... Edible porn... 12:50:46 "Hey, you got your porn in my food!" "Hey, you got your food in my porn!" 12:51:05 edible? 12:51:20 that would be the LAZIEST man on earth. 12:51:29 pr0n requires interaction with the system. 12:51:48 --- quit: lament (" cocks || gigantic cocks || slapping me in the face") 12:55:24 male are there any pedogagocial advantages to writing and implementing a language? 12:57:07 Not really, most people just end up fighting their own language instead of someone elses. 12:57:25 Although, it does give you a sense of control over the process. 12:57:58 what about just implementing the language? 12:58:03 A language... 12:58:04 That doesn't apply much to me, though. I have such a failing memory that I can't even remember how the system works from day to day. So I rely a lot on good code ;-) 12:58:20 And good documentation. 12:58:50 If you have to implement a language to grok it then it must not be a very good language. 12:59:55 I think the best way to learn a language is to write programs in it. I know that sounds obvious, but these days people don't think that way. 13:00:17 how do they think? 13:00:40 I like the 'implementing to grok' approach a little. 13:01:02 People get a degree without writing a slice of code. 13:01:09 perhaps the ultimate method would be to write the language IN the language :D 13:01:29 so to learn forth, implement forth IN a forth :D 13:01:39 hahaha. the best of both worlds huh? 13:01:41 Lots of people do that. 13:01:52 Well, at least with lisps. 13:01:52 what do you think of that approach though? 13:02:50 It just seems fruitless. 13:02:54 why? 13:03:09 you said the best method IYO would be to write programs in the language. 13:10:13 Yes, but what good is another implementation of the language? 13:10:22 You could just write something useful instead. 13:10:55 like what? 13:11:01 one oughta start someplace! 13:11:31 True. 13:11:43 --- quit: mur ("RND() // alea iacta est") 13:11:44 But if you don't have a project then why do you need to know the language? 13:12:37 Have you seen Joy? 13:13:07 yes I have . 13:13:32 the project could be to implement the language IN the language. That way you use ALL its keywords. 13:13:38 or at least ALL its primitives. 13:14:03 But what have you gained as far as functionality? 13:14:14 Perhaps a better goal would be to extent the language. 13:14:20 extend. 13:14:25 one oughtta start someplace. 13:14:26 :D 13:14:35 eg, to extend the language to include oh say tcp/ip ? 13:14:44 or OO (eww eww)? 13:16:12 OO really isn't that bad if the system lets you just use it for things tha SHOULD be objects. 13:16:35 And polymorphism is always fun. 13:16:59 eg in STOICAL + adds numbers and concatenates strings. 13:17:18 can you do prefix addition? 13:17:34 Of course, the words ADD and CAT do individually. 13:17:35 or is there a system for using + over a range? 13:17:45 I see. 13:18:12 'foo 'bar + = 13:18:20 Would output "foobar" 13:18:45 what I meant by prefix addition was 23 43 34 345 45 46 56 + 13:18:46 (STOIC uses = instead of .) 13:18:59 and what is . used for? 13:19:03 That's not prefix. 13:19:10 Currently, nothing. 13:19:12 the meaning ... not the writing. 13:19:16 In STOIC . was the dictionary pointer. 13:20:08 Sachs had this thing about STOIC looking like a calculator. 13:20:24 I actually prefer . because its on the keypad. 13:20:53 what did he have about it ? for or against? 13:21:15 And that's why I don't use it for anything. So that I can say '. : = ; 13:21:28 Oh, he wanted it to look like a calculator. 13:21:41 hmmm. does stoical look like a calculator? 13:21:53 No, I already have a calculator ;-) 13:21:58 hahaha 13:22:10 is the syntax ambigous? 13:22:24 (an HP-41C to be exact) 13:23:15 Ambiguous how? Everything is going to look a little bit odd to somebody. 13:23:32 consistent is a better word. 13:23:58 I try to be as uniform and sensible as possible. 13:24:26 The new STOICAL will be much better in that respect. I'm throwing out some of the less useful bits. 13:24:53 But look at the array/hash interface. I think its beautiful. For example: 13:25:11 [ 'foo 1 ] 'baz( hash 13:25:18 baz( 'foo )= 13:25:22 Prints 1 13:26:27 So, I've sort of tricked an asyntactic language into having syntax ;-) 13:26:39 hmmmm. 13:26:44 that was very clear 13:27:13 So are arrays, streams, and threads. 13:27:24 I'm going to be adding lists to, I think. 13:27:25 I was being sarcastic. sorry 13:27:31 sure add lists though. 13:27:56 evidently the square [] have meanings I don't know yet. 13:28:07 I guess 'foo 1 means foo = 1 13:28:18 'baz( hash I don't get. 13:28:23 As far as the hash goes, yes. 13:28:44 That's making a hash named baz( from the elements on the stack marked by [ and ]. 13:28:59 [ and ] just count the things between them. 13:29:07 oh I see 13:29:15 so [ 'foo 1 ] could be written 'foo 1 2 13:29:20 so [ 23 3 23 232 ] == 4 ? 13:30:29 Right, that pushes 4. 13:31:25 That part is straight from STOIC. 13:32:09 Anyhow, once you get into it does seem to have a bit of grace. 13:35:54 so the docs on your page are they sufficient for learning stoical? 13:37:22 I spent a lot of time on them. But I'm planning to make a lot of changes there do. 13:37:47 why whats wrong with the docs? 13:38:01 will the language change that much? 13:38:05 Well, for one thing they're out of date. 13:40:17 Obviously some stuff won't change, but a lot of important stuff might ;-) 13:40:53 But you're more than welcome to read it. I think I did some new work on the documentation a while back, but that copy isn't on the web. 13:41:12 where is it? 13:41:22 I plan to expand the scope of the manual to that of a book if for no other reason than having a nice hard copy. 13:41:35 why make it so large? 13:41:51 Less large and more complete. 13:42:03 Because otherwise I'll forget how it works ;-) 13:42:33 Plus, I want my father to be able to use it and that will require providing a lot of information. 13:43:37 does he use STOIC? 13:43:45 He did. 13:44:03 The STOIC manual is only 71 pages. 13:44:19 And in my opinion very incomplete. 13:44:42 But hey, it's also in all CAPS ;-) 13:45:05 really? 13:45:14 what was missing from the STOIC manual though? 13:45:35 --- part: rafe left #forth 13:46:30 It just isn't comprehensive. The first half is spent explaining what a stack is. 13:46:36 haha 13:47:53 You can never have enough documentation.. But one tutorial is too much. 13:48:19 re 13:48:28 how came names being defined must start with a "'" ? 13:49:04 Because that's how you make a string.. STOICAL doesn't do all that looking forward stuff that forth does.. It is pretty much RPN all the way. 13:49:23 oh I see. 13:49:54 That little ' is why so many people seem to think the ST in STOIC stands fo STring. 13:50:03 so how would you feed it a string like 'the Forth urge is to RICE' ? 13:50:04 s/fo/\0r/ 13:50:20 "the Forth urge is to RICE" 13:50:29 ' only works up to the first space 13:51:08 Of course you could say 'the\ Forth\ urge\ is\ to\ RICE as well. 13:51:14 so "factorial" : dup etc is also legal? 13:51:24 Correct. 13:51:41 hmmm. that looks nice. so you CAN have spaces in variable names and stuff? 13:51:51 But, "foo bar" : 1 + = ; is a word that you can't call. 13:52:19 why can't you call it? foo\ bar looks okay. 13:52:27 I suppose I could allow that, but what would be the point? 13:52:39 Hold on, it may work that way already.. Let me see. 13:52:40 good point. 13:53:10 Hmm. So it does. 13:53:17 You can call foo\ bar. 13:53:38 Feature or Accident? ;-) 13:53:47 hahaha 13:53:57 thats one for your manual. 13:54:38 I would have just said that the behavior is unspecified ;-) 13:55:25 If I want that to be a feature I'll have to put it in the regression tests so that I don't remove it the same why I added it--mistakenly. 13:56:04 I'm certain that you couldn't do that in STOIC though. 13:57:05 stoic is interactive right? 13:57:10 STOIC used &20& style escapes. 13:57:32 *stoical is interactive right? 13:57:44 Even more interactive than forth because you don't have to worry about whether a word is for compile mode or interpret. 13:58:10 Ie. no [if] and whatnot. 13:58:18 good good. 13:58:44 so stoical CAN be written in any scheme? 13:59:31 I'm not sure what you mean. 14:00:05 scheme the language. 14:00:15 I am thinking of a nice project. 14:00:55 I think you could write it in scheme. Certainly a subset. I can't say it would be efficient, though. 14:01:35 bah. in these times when INTEL is making sure moore's law is fulfilled, who cares about resource efficiency? 14:01:37 ;) 14:01:52 Me! Me! 14:02:00 good good. 14:02:29 But it is true that flexibility has a cost. 14:02:29 you have quite a bunch of looping commands though. 14:03:09 everything has a cost in this linearVerse. 14:03:10 Well, the BEGIN/END and DO/LOOP stuff is just for compatibility.. They'renot much more than aliases. 14:03:18 aliases of? 14:05:28 'begin : () { exec ; immediate 14:05:34 'end : () }until exec ; immediate 14:06:42 how would you write something like for i in stuff: 14:06:44 do this 14:07:21 I would use { ... }while{ ... } 14:08:40 which is the most versatile one in STOICAL? 14:09:12 Now, hashes have the )each iterator. But that was more of a necessity. 14:09:30 nice! 14:10:02 I use the new style constructs, but I guess the versatility comes from th combination. 14:11:01 I think the coolest thing though would have to be the regular expressions. 14:11:21 They let you do things with STOICAL that would normally require Perl. 14:11:32 (because sed can't do a damn thing ;-) ) 14:12:00 STOICAL also has backticks.. Like the shell. So `date -R` = prints the date. 14:12:21 --- join: Sonarman (~root@adsl-67-113-234-249.dsl.snfc21.pacbell.net) joined #forth 14:13:20 I am yet to see a language adopt the SNOBOL regex 14:13:29 regex is a tad convoluted. 14:13:40 the syntax ie 14:13:48 I love regexes though. 14:13:51 Ahh SNOBOL. Well, SNOBOL had patterns not regex's. 14:14:05 SNOBOL was actually pretty sweet. 14:14:23 so are you gonna add lists? 14:14:46 Yeah, but I'm not to worried about it. It can be added at any time. 14:15:18 add the words atom, car, cdr and cons too :D 14:15:19 I was actually considering making the stack a list ala Joy.. Butit just didn't fell right. 14:15:29 or at least use atom, first, rest, combine :D 14:15:42 I like the latter ;-) 14:15:57 Lisp is notorious for bad names. 14:16:09 McCarthy says he tried to change it but would they listen? 14:16:28 they thought he was just some absent minded professor. 14:18:23 Go figure ;-) 14:19:06 Oh, another thing I'd like to do is write a replacement for readline to use for the command line editor. Readline really makes a mess of things. 14:19:13 with the exception of the profusion of looping words, I think I like stoical. 14:19:31 I actually love the editor I'm typing this with.. Naim. 14:19:35 readline is not good enough? 14:19:41 Nice completion. But the code to it is awful. 14:20:02 Oh, did I mention that the STOCIAL does tab completion on the dictionary? 14:20:17 thats neat1 14:20:19 ! 14:20:39 Yeah, but readline is a big price to pay for that functionality. 14:20:56 anything for the users :) 14:21:21 Naim's completion uses color and shows you the most likely posibility before you even hit tab. Very smooth, but like I said the code is a cluster fuck. 14:22:16 That and it never has handled the 80'th column properly. 14:22:20 does naim feel at all like viM? 14:22:56 Well, naim is an instant messaging client for the linux console. I was just talkin about its line editor. 14:23:05 No vi-keys though. 14:23:26 s/talkin/\0g/ 14:23:28 ah for AIM. 14:23:44 Right. It does IRC too, which is how I'm talking to you. 14:23:51 cool. 14:23:58 Of course, the IRC code didn't work out of the tarball so I had to fix it first ;-) 14:24:06 --- join: wossname (wossname@HSE-QuebecCity-ppp81812.qc.sympatico.ca) joined #forth 14:24:14 those silly programmers huh? 14:24:37 Well, it's understandable.. If you don't ever use a feature how can you know if it doesn't work? 14:26:40 Anyhow readline/terminfo present a problem in and of themselves because they are by no means thread-safe.. That makes using either of them a huge hastle. I might end up having to write a thread-safe version ofterminfo first. 14:27:34 All of these conjoined words I'm typing are the result of naim's 80'th column behavior, btw. 14:27:47 ;-) 14:29:40 perhaps they want you to tweak some more. 14:29:54 I have my own problems! 14:31:15 --- join: Sonarman_ (~root@adsl-63-196-0-66.dsl.snfc21.pacbell.net) joined #forth 14:31:23 write naim in STOICAL. 14:31:50 Just what the world needs, another aim client. 14:32:47 I'm probably going to write a BBS in STOICAL some day, though. And that includes teleconferencing. 14:33:05 --- quit: Sonarman (Killed (NickServ (Ghost: Sonarman_!~root@adsl-63-196-0-66.dsl.snfc21.pacbell.net))) 14:33:13 --- nick: Sonarman_ -> Sonarman 14:34:16 The last BBS I wrote in perl. Which seemed like a good idea at the time. Once I started working on STOICAL however I realized that it would have been much simpler to write a new language to write the BBS in ;-) 14:34:18 who uses BBs'es these days? 14:34:55 Me :-( 14:35:25 Its more about nostalgia than anything else. 14:35:52 how many STOICAL users are there so far? 14:35:54 You know, a lot of people have talked about writing BBS's in Forth, but no one really has. 14:36:10 I told you: forth is an implementation only language :D 14:36:23 it has the urge to RICE but people just wanna make one. 14:36:33 I think there are two Russians and a Czech. 14:36:41 what do they think of it? 14:36:56 I don't know, I can't understand what they say. 14:37:02 hahaha 14:37:32 It isn't funny dammit ;-) 14:38:29 I'm actually honored that they're making use of it. There's a lot of Forth in Russia. A lot of ascii too. 14:38:56 I guess I feel a kinship with anyone else who's behind the times ;-) 14:41:10 http://forth.org.ru 14:41:23 Perhaps you can make some sense out of it all ;-) 14:42:54 male: has the statue on red square be replaced against a statue of charles moore already ? 14:42:54 I don't read russian. 14:42:58 I read english ascii 14:43:08 --- nick: wossname -> wossree 14:44:04 I almost think it would be worth learning just to converse with those fellows. 14:44:24 --- join: I440r (~mark4@ip209-183-83-51.ts.indy.net) joined #forth 14:44:37 The state of the art in Forth is definitely not in the US. 14:44:50 england 14:44:59 theres more companies pusing and using forth in england that there are here 14:45:17 its verry depressing :P 14:45:21 what? ER is not pushing Forth? 14:45:39 I440r: no, it isn't 14:45:43 Companies? You mean, Forth isn't just the language of evil communists and geeky programmers? 14:45:47 (depressing i mean) 14:46:01 Mmmm.. Communists.... 14:46:05 U.K is much closer :) 14:46:18 * male does his best "Hommer" 14:46:58 it is when you havent had any work at all since august of 2001 14:47:02 s/mm/m/ 14:47:03 (one can go by bicycle to the U.K from here, save crossing the water) 14:47:03 thats VERY depressing :P 14:47:33 Out of work I440r? 14:47:37 yes 14:47:46 100k a year to ZIP overnight 14:47:48 literally 14:47:55 Me too. 14:48:42 i440 2001 is a loong time. 14:48:51 I wouldn't worry too much about it, though. Things will get much worse before it's over ;-) 14:48:54 I440r: considered saudi-arabia ? 14:49:03 they Forth in saudi arabia? 14:49:10 I440r: riyad airport uses forth 14:49:20 but they already have a forther by now! 14:49:22 I440r: occasionally looking for forth experts 14:49:30 contractually ? 14:49:35 yep 14:49:42 and who else? 14:49:48 I bet there's some Forth in the weaponry. 14:49:50 i'd expect them to pay well 14:49:53 speuler i wont work for ANY arab countries 14:50:03 why not I440r? 14:50:07 I440r: why ? 14:50:08 as far as im concerned every single arab nation is my enemyu 14:50:10 EVERY FUCKING ONE 14:50:13 bullshit 14:50:24 because the politicians say so? 14:50:25 there isnt a single one who doesnt have blood on their hands 14:50:28 Woah there. How did we get on this topic? 14:50:39 'I wouldn't work for any ARAB country'. 14:50:43 I440r: that's what the rest of the world says about the U.S. too 14:51:04 we arent the agressor. we only become agressive when threatned 14:51:08 We all have blood on our hands. 14:51:11 we havent just been threatned, we have been attacked 14:51:16 I440r: would you use any arab country's oil ? ;) 14:51:19 BY ARABS 14:51:20 Being human means being a killer. 14:51:20 nuff sed 14:51:28 did corea attempt to invade the u.s ? 14:51:32 or vietnam ? 14:51:38 or Germany? 14:51:41 if i was in charge i would immediatly seace all imports of all oil from ALL arab nations 14:51:41 or Japan? 14:51:43 ALL of them 14:51:50 korea is full of baby eaters, so it's OK (they are very hungry) 14:51:51 well, germany did some kind of attack on the us 14:51:57 so that doesn't count 14:51:58 so you can start by not using any ARAB tainted petroleum products 14:52:20 But it adds to the flavor! 14:52:35 Mmmm... Sandy... 14:53:05 what about the children? Are they evil as well?\ 14:53:08 and, after all, u.s. airlines still fly riyad 14:53:20 seems they're less consequent as i440r 14:54:18 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 14:54:48 arabs say "we've been attacked by the u.s." 14:54:54 libya says 14:55:15 --- join: deluxe (~deluxe@pD9E4E8E6.dip.t-dialin.net) joined #forth 14:55:32 oh 14:55:43 libya is not an arab country anymore 14:55:48 it is african now 14:55:54 khaddaffi says 14:56:56 many arab countries use/have u.s. weapons 14:57:10 yes and many of them use then AGAINST us 14:57:14 probably stoilen from us depots ? 14:57:21 I440r: why not? 14:57:31 they did not buy the weapons to ONLY shoot each other with. 15:01:56 male your docs jump from 3.10.3 to 10 15:02:20 is there something missing from 3.10.4 to 10? 15:02:37 I440r: name a nation which has NOT "blood on its hands" 15:02:50 even the vatican has :) 15:03:18 Quite a lot, actually. That was the joke ;-) 15:03:39 hah. 15:03:42 Speuler: we do not wage war on nations unless provoked. 15:03:57 you cannot however attack us with impunity 15:03:58 I440r: Heh. I really hope you don't mean the US: 15:04:00 The new documentation will hopefully be formatted with my new doc proccessor. I'm calling it MUP--Mark Up Processor. 15:04:01 riiight I440r 15:04:04 for no other reasons do other countries 15:04:34 according their reasoning 15:04:40 I don't know if I mentioned it already, but it outputs to troff. 15:04:50 I440r: You know, Al Qaeda is not attacking you for no reason. You (as a US citizen) provoked them. 15:04:56 except china, maybe 15:05:04 I've already written the -man interface. And am doing to -me as we speak. 15:05:05 yes you did Speuler. 15:05:13 oops male. 15:05:16 they tend to invade without provovation 15:05:30 China? when for instance speuler? 15:05:48 himalaya dwarf states 15:06:11 thats only because they are STRONGER than those l'il uns. 15:06:41 gilbertbsd: "only" ? 15:06:49 yes. 15:07:03 if you're stronger, you may invade without provocation ? 15:07:26 surely. 15:07:53 and why not? do you forget that an army is made up of people? 15:08:02 gilbertbsd: that is, you agree that china forms an exception there ? 15:08:11 oh no. 15:08:27 gilbertbsd: but you just gave as the reason why they invaded 15:08:42 its not an exception. 15:08:47 gilbertbsd: which wasn't "because they have been provoked into invasion" 15:08:53 all countries attack because there is a perception of weakness. 15:09:19 yes they were never provoked into strong arming tibet for instance. 15:09:32 ah. get it. weakness is a provication 15:09:34 I don't see Fiji attempting to take on the US. 15:09:38 provo.. 15:10:07 but I can see Fiji trying to take on Kiribati. 15:10:23 it is kindergarten all over again. 15:10:30 so why should - supposedly weaker - arab countries take on the - supposedly stronger - u.s. ? 15:10:45 because they are trying to make a point. they've been wounded. 15:10:53 or they think they've been wounded. 15:11:09 its a matter of principle in their case. 15:12:00 * gilbertbsd would like to see the likes of I440r fighting the ARAB evil bastards :D 15:12:16 bring em on:P 15:12:21 hehehe. 15:12:55 its all meaningless anyway. 15:12:57 a few of my best friends are arabs. does that make me guilty ? 15:13:13 Only if they use ANS FORTH. :-) 15:13:15 Speuler my roommate is Morrocan. 15:13:23 I must be ultra guilty. 15:13:52 the other day, I stole some of the cookies his mummy sent to him. I taught the little arab bastard :D 15:13:55 --- join: skylan (sjh@Riverview1.tbaytel.net) joined #forth 15:14:04 I have done my part I440r ;) 15:14:34 gilbertbsd: oh yes, the moroccan sweet stuff if nice indeed 15:14:58 very very. 15:15:00 nothing like it. 15:15:05 he knows how to cook harira ? 15:15:33 no he is too lazy to make anything but pasta. 15:15:51 t'is not such an effort to make harira 15:16:17 how is it made? 15:16:28 t'is a kind of thick soup 15:17:07 lentilles, potatoes, meat, water, spices 15:17:19 sounds simple. 15:17:42 traditional ramadan meal 15:17:52 for marrocans, that is 15:17:57 the evil one did not celebrate ramadan at home. 15:17:58 north african 15:18:16 cooked between maroc and libia 15:18:19 but I have experienced 2 different ramadans. 15:18:35 in iran, it is ob-gusht 15:18:47 which is? 15:18:55 not quite a soup anymore. even thicker, served with rice 15:19:03 a stew? 15:19:14 yes. chicken based 15:19:23 mean "meat water" 15:19:36 but different to harira 15:20:24 I440r: fear not, when my friend's mum sends him more cookies, in the name of striking a blow for Uncle Sam, I shall steal more :D 15:20:26 hehehe 15:20:42 that'll teach'm 15:21:17 gilbertbsd: lol 15:21:32 he might retaliate 15:21:45 my mum won't send me cookies. 15:21:54 oh yeah he might drink my tea. 15:22:23 I shouldn't let him. 15:22:28 boil one of your cds for each cookie 15:22:45 my cds? 15:22:53 your backup cds 15:22:57 hahahaha 15:23:12 no fears there. I am his sys admin as well. 15:23:30 try to become his cookie admin 15:23:32 --- join: lament (~lament@24.78.145.92) joined #forth 15:23:35 i can easily put the fear of mahomet in him by fiddling with his machine a little. 15:23:53 no hope. he didn't do ramadan 15:24:11 he did. he just didn't celebrate it at home. 15:24:15 ah 15:24:34 id el (the end of ramadan) 15:24:38 is that how its spelt? 15:24:56 sugar celebration 15:25:07 is that what that means? 15:25:29 might mean it. dutch, german translation means that 15:25:34 --- quit: wossree (".cb") 15:25:42 so i suppose english translation does too 15:25:59 du bist dutch? 15:26:08 oder Deutsch? 15:26:13 sort of 15:26:13 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 15:26:17 or Amish? 15:26:31 or yiddish? 15:26:32 t'is about midnight here :) 15:26:53 6 hrs ahead. thats western europe thereabouts. 15:26:57 so you are not Amish. 15:27:07 All the yiddish folks are in New York city... 15:27:28 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 15:27:28 so ... 15:27:31 I give up. 15:27:36 I can't guess. 15:27:38 ah! 15:27:42 no. 15:27:51 I was gonna say luxembor 15:27:51 g 15:27:55 belgium. 15:28:24 sort of :) 15:28:36 lived in NL for quite a while 15:28:45 lived in france before 15:28:50 born germany 15:28:55 in germany now 15:28:59 I am guessing Schwabisch 15:29:03 ah you gave it away. 15:29:05 nope 15:29:06 I was gonna guess. 15:29:19 rheinland-pfalz 15:29:24 "pelser" 15:29:29 I was just gonna say that! 15:29:37 bavarian-of-choice right now 15:29:43 temporarily :) 15:29:52 I had a german g/f until monday. 15:30:17 she dumped you ? 15:30:20 heheh. 15:30:32 I dreamt she was gonna under some bizarre circumstances. 15:30:40 20 minutes after telling her it became true! 15:30:46 in _exact_ details. 15:31:03 you described your fream to plastically 15:31:05 too 15:31:16 gave her the idea ? 15:31:21 no. 15:31:30 I told her I dreamt we broke up over something I said. 15:31:35 20 minutes later I said the thing :D 15:31:44 (which you said in your dream only) 15:31:52 i do that sometimes. i think it's because i subconciously sense what's going on, but conciously i'm an oblivious nitwit:) 15:32:00 I did not hear myself say it in the dream or else I wouldn't have said it. 15:32:12 people can break up over saying stuff? 15:32:15 Yep. 15:32:33 wow. people are touchy. 15:32:36 I told her "psychology sucks big blue nutz" :D 15:32:53 so? :P 15:32:53 you did a reality test, checking whether your actions work out the same way in reality as they do in your dreams 15:32:56 and since she is a psyc student getting a PHD in august, she was pretty pissed. 15:33:10 well the test was succesful. 15:33:15 well yah. you basically said "you wasted your life you miserable little moron." 15:33:23 by monday i was on her 'do not call' list. 15:33:31 heh. 15:33:33 OrngeTide: but she HAD!!! 15:33:37 --- part: Sonarman left #forth 15:33:44 yah. but she obviously didn't want to hear that. 15:34:00 I shall never tell another german woman my dreams again. 15:34:03 although i never had a gf that would break up over me saying something like that. 15:34:12 Dude... NEVER tell a psychopathy major that their major sucks. :-) 15:34:17 hahaha. 15:34:18 hahaha 15:34:22 they might break up because I refused to accept that it was rude/mean. 15:34:22 but it does!!! 15:34:32 I did not see it as mean! 15:34:43 psyche chicks are a little crazy. 15:34:49 that they are. 15:35:13 s/psyche// 15:35:14 its hard to tell at first, but if you scratch a little, they are a can of nutty worms. 15:35:16 s/little// 15:35:29 hehehe. 15:35:35 how does it feel to be free again ? 15:35:43 well. I am in miami, and she is in Ohio. 15:35:50 there are HOT chicks in miami ;) 15:35:52 gilbertbsd, i accused my good friends girlfriend of being a psyche major when i first met her. turns out she has a masters :P 15:36:12 hehehe. OrngeTide don't tell her psyc is a waste of time. 15:36:18 ahah. :) 15:36:36 i didn't even bother finishing college... 15:36:58 I am in college because I don't have to work as long as I am getting "a degree" 15:37:01 ;) 15:37:15 gilbertbsd: that's a good reason 15:37:19 gilbertbsd: what's your major? 15:37:24 ummm. CIS 15:37:30 CIS? 15:37:32 bah! 15:37:33 but that was the least evil major I oculd take. 15:37:36 you should do CE or EE 15:37:45 EE is work. 15:37:51 EE is fun! 15:37:52 CE on the other hand. 15:37:54 i loved my EE courses 15:38:27 my friend went from CS to Marine Biology. go figure. he studies neurons in shellfish and stuff. 15:38:38 neurons in shellfish? 15:39:08 hehe. my dumper studies 'job satisfaction' 15:39:08 now isn't that silly? 15:39:16 yah. basically how the brain and nervous system react to diffent chemicals. (like the drugs he grows) 15:39:41 job satisfaction? 15:39:48 yah. Industrial psychology. 15:40:05 it is a glorified version of Human resources managment. "with statistics" they say. 15:40:18 i work in san jose. most of us have plenty of job satisfaction. why else would we all work 50-60 hours a week? 15:40:54 i wish i could work 40 hours a week though. 15:41:20 I don't know. I might ask her what could be done but she won't talk to me. 15:41:53 hrm. i need a forth interpreter to combine with my C application. i will have a bunch of objects in a game controlled by various users (1000s of users possibly). anyone recommend a public domain or BSD forth for it? 15:42:09 onyx 15:42:16 onyx? hrm 15:42:26 or ficl 15:42:46 yah. i'm checking out ficl. 15:45:03 hrm. onyx looks good. 15:45:44 still 179 users to go 15:46:03 Onyx is much better. 15:46:19 But Jason hasn't been working on it much lately. 15:46:47 And I haven't been able to get into his cvs for months. 15:47:02 Now, if only I could remember to send him an email about it ;-) 15:47:33 hah do `email jason@cannonware.com 'hey ummmm do something new`. 15:48:21 It would be interesting to note that I started STOICAL after getting fed up working with the onyx source code ;-) 15:48:57 really? 15:48:58 Have you looked at "4th", Ornge? 15:49:18 Yeah. 15:49:54 Onyx uses a ton of abstraction. And in part that's okay, but it isn't good for writing applications. 15:50:13 It makes a good embedded interpreter from C, though. 15:50:26 Onyx is really just PostScript without the graphics. 15:51:18 male, 4th wasn't appropraite for my uses. 15:51:33 Oh, and Onyx has great debugging output. 15:51:57 maybe i should just write my own forth. :P 15:52:02 In fact, it's so great that I just had to make STOICAL's better ;-) 15:52:04 --- join: rafe (~rafe@www.scinq.org) joined #forth 15:52:28 --- quit: rafe (Client Quit) 15:52:52 Writing a forth in C is no fun, Ornge. 15:52:53 WTF are these curly braces doing in Onyx? 15:52:59 hehehe 15:53:04 I told you, it is PostScript. 15:53:05 male, yah. i've started about 6 forths in C. finished 0 15:53:12 GROSS! 15:53:28 Gross? PostScript is just safe Forth. 15:53:41 i suppose that's true. 15:54:10 Of course, the safty makes it slower, but if you're using it for application scripting that doesn't matter. 15:54:23 In fact, that's a case in which you really NEED safty. 15:54:47 well in my system it would be nice if my forth couldn't segfault my server. 15:55:21 Onyx has an okay garbage collector, too. But be warned, it is of the "stop the world" variety, so no real time applications. 15:56:07 I wrote a webserver in onyx.. I think Jason put it in the examples/ tree. 15:56:33 Of course, it probably doesn't work anymore. 15:57:02 male, do you think onyx would be appropraite for running multiple environments at the same time? (not actually threaded) 15:57:21 Well then I don't know what you mean. 15:57:33 basically i have a system with a bunch of game objects. each game object could have multiple "scripts" attached to it to execute on events. 15:57:54 And you don't want them to interact? 15:58:02 when i was trying to design my own forth it was hard to say who owned the dictionary. because i didn't want a lot of duplication 15:58:20 male, the objects interact through the event network. 15:58:41 But not concurrently? 15:58:42 you can think of an object as a process in a microkernel. and the event network as your typical messaging. 15:58:59 --- quit: Kitanin (": war postpone peace ; immediate : freedom postpone slavery ; immediate : ignorance postpone strength ; immediate") 15:59:06 no they don't need to go concurrently. you couldn't possibly support them concurrently with most pthreads implemenetations 15:59:50 i might run 4 events concurrently, but the rest get stuffed in a queue and are services FIFO. 15:59:55 I don't think it would be a problem at all then. Onyx is fully multi-threadable so all the mechanisms are in place, even if you are single threaded. 16:00:27 male, but is onyx going to have a seperate dictionary for each instance? 16:00:56 Not unless you tell it to. 16:01:35 hrm. but if one instances defines foo and another instance defines foo. i'm kind of screwed 16:01:51 but STOICAL is not at all like onyx is it? 16:01:54 what i need is the ability to share similar dictionaries. 16:02:43 No, STOICAL is much closer to Forth. And it isn't meant to be embeddable (although I'm sure you could embed it easily) 16:02:50 i thought of having a library and pointing up into other environments. but then i run into a problem with the allocation of memory between environments. 16:03:17 like if i make an array in the parent attached to 'foo' and i use it in the child that's fine. but if i add some stuff to the child, then add some more stuff to the parent i'm screwed. 16:03:21 Onyx has GC, so that's not a problem. 16:03:38 a GC won't fix that problem. 16:03:42 Why are you screwed? 16:03:53 If there's a conflict just use locking. 16:04:00 male, because the variable you allocate has an address into the heap. 16:04:09 The onyx dictionary doesn't work like Forth. 16:04:10 the heap addresses won't match if you start manipulating the dictionaries heavily. 16:04:15 oh. 16:04:59 Onyx doesn't even "compile" procedures unless you tell it to. 16:08:25 i don't think i can use it. it has this PCRE library it needs 16:09:06 That's just for regex's. 16:09:14 You can disable that at compile time. 16:09:18 i know. i looked at it. 16:09:21 oh. you can disable it. 16:09:32 ./configure --without-pcre 16:09:36 Or so I would think. 16:09:45 yah. i'll have to figure out how built it with ./configure 16:10:12 He put regex's in there just because STOICAL has them ;-) 16:10:52 Regular expressions are very handy though.. I would leave them in. 16:11:08 male, i'll just have to use a different regex library 16:11:21 PRCE has a weird license i can't use. 16:11:54 Oh.. Well, you can just use the standard package like I do. 16:11:59 male does jason evans know of stoical ? 16:12:10 regcomp(), regexec(), and regfree() 16:12:11 yah. i'll definently check it out though. thanks. 16:12:47 Yeah, I wrote STOICAL so that he would understand what I meant when I say "there's got to be a better way" ;-) 16:12:57 male, where is stoical? 16:13:14 And in turn he added a lot of STOICAL's features to Onyx. Which was the whole idea. 16:13:18 male invite him over sometime. 16:14:12 I haven't talked to him in a while. I just recently got back into the whole mode of things. I'm still trying to get caught up on usenet ;-) 16:14:38 Is there a #postscript here anyhow? 16:15:20 I don't think so. 16:15:25 Nope. 16:15:53 uhh but your fellow Tunes guys should know a lot about postscript. 16:16:02 especially the guys in #pldi 16:17:23 The really neat thing about PostScript is that it's built into damn near every printer/plotter on the face of the earth. 16:17:32 If only Forth could say something like that. 16:17:45 Well, I guesss there's OpenFirmware. 16:18:27 male: postscript has been derived from forth 16:18:37 both my Mac and my SPARC have openfirmware:) 16:18:43 I am aware, Speuler ;-) 16:19:28 the postscript people wouold deny that 16:19:59 why should they ? 16:20:05 no they don't deny it 16:20:13 you just have to dig very deep in google for the truth 16:20:22 aparently that truth is not very popular ;) 16:20:44 HA! relativity of truth on the internet. 16:21:08 there is no truth 16:21:16 I agree. 16:21:25 i.e. there's no single truth 16:21:26 but what about the truth of my dream and the reality? 16:21:29 was that not a truth? 16:21:32 oh okay. 16:22:31 experiencing truth requires a prejudiced mind 16:23:02 same as with "believe" 16:23:10 There -me support works. 16:23:34 Should I dare to -ms? 16:24:15 whats ms? 16:24:27 multiple sclerosis 16:24:41 A set of troff macros for uesr manuals, reports and so on. 16:24:51 -me is more for books. 16:25:00 And of course -man is for on-line manual pages. 16:25:30 ah okay. 16:25:33 They all render in slightly different ways. 16:25:40 --- quit: deluxe ("'bye") 16:26:00 For instance, man pages don't have numbered headers or title pages. 16:26:11 Or tables of contents for that matter. 16:32:20 so how similar is STOIC to Forth? 16:33:45 I'd have to say very. Sachs just decided to throw out some of the BS and include a few neat ideas while he was at it. But under the hood it really looks like Forth. 16:34:41 I'd also say that it is more useful than forth. 16:34:49 Unfortunately no one ever used it for anything ;-) 16:39:05 male: what makes it more useful ? 16:40:01 Well the lack of separate compile, interpret states for one. 16:40:29 But it was just better thought out in general. 16:41:30 Had a sweet little assembler too. Sachs used it to port from the NOVA toIntel. 16:41:54 male: assembler = platform specific 16:42:22 difficult to incorporate into system supposed to be usable on different cpus 16:42:28 Not when used as a cross compiler. 16:42:40 Hey, don't tell me. It wasn't my idea. 16:42:53 i don't argue. 16:43:03 i consider 16:43:05 --- join: Rk (~chris@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 16:43:19 Most Forths are extrememly implementation specific. 16:43:31 * Rk is away: dog 16:43:45 the interpreter, yes. the programs you can compile with, no 16:44:15 That isn't really the case. Look at word size for instance. 16:44:29 It took forth a long time to even come close to overcoming that confusion. 16:44:42 And it probably hasn't yet. 16:44:55 source written with the idea of compiling it on system with different word size don't hardcode word size 16:44:58 That's because Forth requires programmers to know the implementation details. 16:45:31 It was a very long time before CELLS came along ;-) 16:45:39 i notice that some forth programmers refuse to see any good in "cell" 16:46:07 because of the idea "if you need to rewrite the interpreter, you may as well rewrite the sources" 16:46:25 * Speuler eyes i440r 16:47:15 --- quit: lament (" cocks || gigantic cocks || slapping me in the face") 16:47:29 cells came along when forth stopped being a 16bit system 16:47:58 or the other way around ? 16:48:31 well, no, "cells" existed before, but the forth constant "cell" or forth word "cells" didn't 16:50:58 problem with portability may be that you can't use features/possibilities which are beyond a common base 16:51:14 your program is not allowed to know about those 16:51:33 leaves it up to the compiler 16:52:41 which needs smartness to translate platform-common code to support of platform-specific features 16:53:08 and that's somewhat against the forth doctrin 16:54:30 CM never intended forth to be portable. I don't think he is even familiar with the concept. 16:55:36 male: i think we need to distinguish between "forth" as in "interpreter" and "forth programs" as in "source you translate with a forth interpreter" 16:55:54 why build in portability when porting is trivial 16:56:08 trivial ? 16:56:25 a program not written for portability is NOT trivial to port 16:57:04 Porting isn't always trivial. CM just likes to pretend that it is. 16:57:14 it is if its written in anything other than ANS forth which like c is write only 16:57:18 It certainly isn't trival for someone else to do. 16:57:39 sure it is 16:57:45 ive never had any problems porting forth code 16:58:25 What I mean is that if its your tool--like Forth is Chuck's--then its fine.But other people have other platforms and they just won't port it. 16:58:39 Speuler: well written programs are usually pretty easy to port by hand. 16:58:39 I440r: earlier you said "couldn't understand other implementations of mem management". why should you, just port it :) 16:58:53 i've even ported freebsd kernel code to vxworks. it wasn't really that difficult. 16:59:39 bongo they were ANS - thats NOT forth 16:59:45 i said i didnt have any problems porting FORTH 16:59:48 blindly compiling something and assuming it works because it's "portable" isn't a hot idea either. you really ought to evaluate anything you put into a system thouroughly. 17:00:08 I440r: ok. writing a forth interpreter is not difficult 17:00:09 portable code gives you a false sense of security. 17:00:30 that depends... writing a forth interpreter in C is a pain in the ass:P 17:00:45 I440r: i'd agree that it is not that necessary to write a forth interpreter which ports without mods to other platforms/cpus if that would be possible at all 17:00:59 I440r: but that's not what i'm looking for portability 17:01:17 I440r: i like to see forth sources written in a portable manner 17:01:27 anyway i gotta go :) 17:01:39 they dont NEED to be. 17:01:39 its easy to port real forth 17:01:45 im gone 17:01:51 --- quit: I440r ("bleh!") 17:02:00 direct-threaded forths work nice on x86. but token threaded or subroutine thread forths actually do better on MIPS. so having a portable forth might lead to us using a less than optimal solution. (you went to all that work to make it direct-threaded and it turns out that it's worth on some other machine. smooth move) 17:02:00 brainfuck is the most portable language 17:02:11 not the interpreter/compiler though 17:02:15 ehhe 17:02:22 befunge is portable too:) 17:02:39 a brainfuck program runs on any machine, any cpu the same way 17:02:45 although good luck writing a brainfuck compiler in brainfuck itself:) 17:03:06 brainfuck is really slow too 17:03:08 there is an implementation of a brainfuck interpreter, written in brainfuck 17:03:15 yah. an interpreter. 17:03:23 i want a native compiler. :) 17:03:30 too platform specific 17:03:31 i want to run brainfuck C-less. 17:03:38 define "too" 17:03:42 but i've written a brainfuck translator 17:03:49 optimziing too 17:03:53 cute. 17:03:53 optimizing 17:04:08 string replacement 17:04:27 removes many iterations 17:04:32 what's wrong with being specific to a platform? as long as you leave yourself a way out to a different platform you're fine 17:04:50 because you need to add support for another platform if you'd use one 17:04:58 yah? 17:05:02 a small investment. 17:05:10 depends 17:05:23 depends if you wrote it correctly or not. 17:05:31 and how often you switch 17:06:14 well realistically you won't switch often. 17:06:22 who says ? 17:06:25 especially if you're actually part of a business. 17:06:36 because switching costs money beyond what it takes to port the apps 17:06:58 i'm glad i was able to reuse code developed for different platform 17:06:59 for starters buying new equipment. 17:07:03 saved me some time 17:07:06 retraining staff on the new platform. 17:07:12 made the projects realistic 17:07:16 cancling support contracts and starting new ones. 17:07:30 Speuler: yah. but my devel cycle is about 18 months. 17:07:40 we don't change platforms more often than every 18 months. 17:07:40 i had 3 17:07:56 i use to work for different companies 17:08:12 well we produce our own hardware so that's why we have such a long cycle. 17:08:21 so do those companies 17:08:33 if tomorrow they decided to use MIPS instead of x86. it would really cut into our devel time since it's all omptimized out for Xeon. 17:08:47 you must have very different requirements than me. 17:09:13 if i had to tell'm "yes, but i need 18 months" i won't earn the project 17:09:23 Speuler: dpeneds on how big the probject is. 17:09:30 right 17:09:48 and, how quickly they have to deliver 17:10:03 we're doing custom non-portable modifications to the kernel. (like replacing QNX's messaging system) 17:10:38 and it's not a big deal to port it over to a different architecture later. just have to invest the time later. 17:10:52 2nd-last interpreter i wrote for hardware developer. custom-designed computer boards. non-standard. everything needed to be tested 17:11:16 rather than investing it right now. which is pointless because we don't need it right now. nor do we have the resources to test it on other platforms that we won't even use. 17:11:27 Speuler: yah. testing is the killer. 17:11:41 boards needed to be delivered ... 17:11:43 my last company made the mistake of having lots and lots of different hardware to do the same thing. 17:11:56 bound by contract 17:12:05 "take it or leave it" :) 17:12:16 poor QA had a giant testing matrix. we eventually convinced them that it would be cheaper to replace every old unit with the latest and discontinue them than it would be to support the old equipment 17:12:29 competing company designed boards according same specs too 17:12:45 sure. but if you have tight schedules why bother trying to make stuff portable? 17:13:19 because, i can REUSE stuff if it HAS BEEN written portably 17:13:33 you can reuse stuff anyways. just needs to be polished. 17:13:44 i just loaded lot's of stuff 17:13:50 i ported a libc made for x86 to mips in about a day. 17:14:39 using forth ? 17:14:47 the hardest part was getting va_arg to work again. the rest of it was just fixing stuff that had endian issues. 17:14:49 no. in C:) 17:15:04 it's the same for forth though. 17:15:15 libc has been written for some portability 17:15:18 it's actually easier since you can define words and shove them in there for compatibility. 17:15:21 Speuler: not this libc. 17:15:33 this libc was all broken on non-x86 17:16:15 would you find hardcoded data sizes of 16bit, for example ? 17:16:17 i'm more interested in mostly portable. not absolutely portable. 17:16:31 Speuler: for 32bit. we were using 64bit word sizes. 17:16:32 where it would have to be 32 on another cpu ? 17:17:02 (which was way va_arg was all fucked up) 17:17:05 s/way/why 17:17:18 i.e. something like &var+4 17:17:30 Speuler: yes. that's why va_arg does essentially. 17:17:40 it's a great way to throw bus errors 17:18:05 these kind of things are not too difficult to write in a more portable manner 17:18:17 why cares? 17:18:27 but only complicate porting if not done so 17:18:49 just invest the hour to a day to fix it. gives you a chance to review the thing as a whole so you end up learning other things. 17:18:51 so why whould i make it purposely more difficult to get code running on another platform ?? 17:18:55 that's sort of chuck's philosophy. 17:19:07 Speuler: because it's easier. 17:19:29 don't get it. it may be slightly more difficult to do it once, and easier fromon then 17:19:55 you're not purposefully making it difficult. you're just banging out code to work for your platform. since you know you can't test it's portability anyways you don't need to bother making it absolutely portable. 17:20:00 if you can't test it, then assume it's broken. 17:20:01 never wondered "do they mean wordsize (cell) here , or just 2" ? 17:20:04 if it's broken you have to fix it. 17:20:12 if you have to fix it, why bother writing broken code? 17:20:45 Speuler: i usually just rewriter those words that i'm unsure of. 17:20:56 exactly. but you HAD to fix it 17:21:01 most words are pretty small rewriting a few dozen is not a big deal 17:21:24 Speuler: if you can't prove that it's portable then it's by default broken. 17:21:34 so you simply wasted your time making it broken. 17:21:40 and you have to fix it anyways. 17:21:51 i don't need to prove it if i save time loading code on another platform because it works without mods 17:22:10 i don't care for the proof. i care for getting it done quicker 17:22:14 well if you're able to write bug free code without having to test it, then more power to you. 17:22:26 i'm getting it done quicker this way though:) 17:22:43 what goes quicker: just testing, or modifying, and testing ? 17:22:57 assume you have to modify either way. 17:23:16 assume everything is portable 17:23:21 that's broken. 17:23:27 that's how schedules get pushed back 17:24:17 when i have to put code not tested on my platform into a project i schedule it as if it were broken and needs fixing. 17:24:23 i wanted to make the point that by simply assuming you don't create facts 17:24:38 by doing the opposite assumption 17:25:27 Speuler: i disagree there. 17:26:35 well i gotta go. seeya. 17:26:52 go on modifying what you wouldn't need to 17:27:12 go on pretending you didn't have to modify it anyways. 17:27:29 :) 17:27:34 peace bro 17:27:42 yup. maybe i'm just a crappy programmer. 17:29:11 do you keep all different versions in a kind of archive ? 17:34:25 nah. i keep modifying the same version. 17:34:39 it eventually becomes portable, but only on the platforms i've actually designed it to be portable to 17:35:04 so i might write it for PPC vxworks, then later i need it for MIPS Linux, then later QNX x86. 17:49:55 i think i'll make my forth like scheme. i'm such a pervert. 17:58:00 * Rk is back (gone 01:14:29) 17:58:17 ay 17:58:18 im back 18:07:57 ha. 18:08:29 * Rk is bored 18:08:54 why? 18:08:59 begin begin key? until key 27 = until 18:09:09 go play with stoical? 18:09:36 ..? 18:18:36 * male puts on some tea 18:18:52 * Rk hates tea 18:20:28 what do you drink instead? 18:20:41 The blood of babies, no doubt. 18:20:43 ;-) 18:21:52 i drink anything ranging from sprite over pure liquid acid mixture to juice. and tea and coffe are out of that range 18:22:03 ay and i like tabasco, it tastes good 18:24:26 Well, my tea is more whiskey than tea anyway. 18:25:10 Mmmm... Warm.. 18:34:49 --- join: joonas (jpihlaja@kruuna.Helsinki.FI) joined #forth 18:38:43 * gilbertbsd yawn 18:40:29 * joonas offers gilbertbsd a cup of coffee 18:46:00 thanks. 18:46:05 I drink tea :D 18:47:51 --- quit: gilbertbsd ("Client Exiting") 18:48:10 tabasco + tequila ... mmm 18:48:28 the tequila cuts the burning of the tabasco, the tabasco cuts the foulness of the tequila:) 18:51:12 either a praire fire or TNT. (tnt is 1 part tabasco to 4 parts tequila, praire fire is just a few drops) 18:58:35 it still doesn't sound very appetising 18:58:40 even when you put it like that 19:10:39 There, my little doc processor now has named variables and -me support. Minus table of contents. I guess I'll do that now. 19:22:01 I gotta get back into forth 19:22:18 too much work, not enough play 19:22:19 ay 19:22:30 begin begin key? until key 't' = if ." You have entered T. You may go." bye else ." You suck, you didn't type the magic character!" then 0 until 20:04:01 bye all 20:04:03 --- quit: joonas ("ircII2.8.2-EPIC3.004+Kasi --- Bloatware at its finest.") 20:09:05 Rk: what's the purpose of "begin key? until" before "key" ? 20:09:37 hrm 20:09:40 there is none 20:09:55 ay 20:11:17 begin key 't' <> while ." suck" repeat ." go" ; 20:11:47 ay 20:11:49 ;) 20:24:56 --- part: Rk left #forth 20:30:32 Ha. I just realized that what I've been writing is a TRAC interpreter. 20:31:48 This blows. 20:32:14 I could have done this whole thing in a few TRAC procedures. 22:14:09 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 22:31:30 TOC and html work now. 22:31:41 I'm sleepy. 22:33:37 --- quit: Serg_Penguin () 23:03:12 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 23:59:59 --- log: ended forth/03.01.23