00:00:00 --- log: started forth/04.07.16 00:22:42 --- quit: cmeme (Remote closed the connection) 00:23:02 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 00:37:07 --- quit: Serg () 00:38:46 --- join: arke (arke@melrose-251-251.flexabit.net) joined #forth 00:38:55 hi :) 00:39:12 arke! 00:39:18 :) 00:39:23 still on vacation 00:39:31 factor.sf.net/CFactor.zip -- try factor in C! 00:39:39 factor.sf.net/Factor.zip -- try factor in C! (correct url) 00:39:41 factor in C? :) 00:39:56 as in, embed factor into C programs? 00:39:58 yes. kernel and primitives written in C 00:39:59 Coolness! 00:40:02 well its standalone 00:40:09 I'll take a look when I'm home 00:40:10 it could be embedded but at the moment it uses a few global variables 00:40:12 :) 00:40:19 check this out 00:40:29 15kb kernel executable, 83kb library image 00:43:43 :) 00:53:02 --- join: doublec (~doublec@coretech.co.nz) joined #forth 00:54:06 hi doublec 00:54:13 hi arke 00:54:25 :) 01:09:45 http://bash.org/?362137 01:09:54 lalalalaalaaaa 01:23:48 --- quit: arke ("penisland.com - get your pens cheap at pen island!") 01:56:56 --- quit: doublec ("Leaving") 02:09:47 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 03:02:41 --- quit: slava (orwell.freenode.net irc.freenode.net) 03:02:41 --- quit: onetom (orwell.freenode.net irc.freenode.net) 03:05:22 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:05:42 --- quit: onetom (orwell.freenode.net irc.freenode.net) 03:05:43 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:06:02 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 03:29:36 --- join: crc (crc@0-1pool176-14.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 04:04:01 ?dup was dup only if top != 0 right? 04:04:18 : ?dup dup if dup then ; 04:12:11 --- quit: crc ("http://www.retroforth.org/dev/beta_releases/retroforth-7.beta4.tar.gz") 04:48:58 Right 05:06:50 --- join: tucknip (pickroll@dialup-4.154.46.239.Dial1.Atlanta1.Level3.net) joined #forth 05:09:05 --- part: tucknip left #forth 05:14:05 --- join: SolarFire (SolarFire@pD9545B7E.dip.t-dialin.net) joined #forth 05:14:23 * SolarFire greets 05:15:17 anything new? 05:16:11 juhammed cewl nick 05:18:01 gosh so much new ppl in a short time. or just changed nicks? 05:18:37 * SolarFire is too lazy to read the backlogs :) 05:22:16 * SolarFire part #forth anyway.. 05:22:21 --- part: SolarFire left #forth 05:24:15 --- join: SolarFire (SolarFire@pD9545B7E.dip.t-dialin.net) joined #forth 05:24:39 --- part: SolarFire left #forth 05:29:08 --- join: SolarFire (SolarFire@pD9545B7E.dip.t-dialin.net) joined #forth 05:29:39 --- quit: SolarFire (Client Quit) 06:10:01 --- join: SErg (~z@212.34.52.140) joined #forth 06:24:36 --- quit: SErg () 06:53:05 hm. i she cant make up her mind :p 06:53:20 Who? 06:54:03 solarfire 06:54:29 oh and i think i fixed most of the bugs :) 06:55:00 i kinda have a running interpreter now, just need to add a core set of words now (cant even dup teh stack atm ;) 06:56:21 He's no lady. 06:56:30 oh 06:56:32 thats solarangle 06:56:36 lol 06:56:37 It is 06:56:49 meh. stupid nicks :p 06:57:43 anyone here got gmail btw? 06:57:51 gmail? 06:58:05 that google bigbortherisreadingyoure mail 06:58:30 No. 07:33:38 --- join: warpzero (~warpzero@mi204.dn191.umontana.edu) joined #forth 07:37:09 --- join: tucknip (~Huck@170.141.109.33) joined #forth 07:38:59 Careful; onetom is listening. And he can type in color. 07:39:24 Heh. 08:17:07 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 08:18:23 --- part: tucknip left #forth 08:35:51 --- quit: tathi ("leaving") 08:51:00 --- nick: TomasuDlrrp -> Tomasu 08:51:03 * Tomasu is back (gone 10:48:33) 08:54:28 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 09:48:49 --- join: I440r_ (~mark4@64.47.44.254) joined #forth 09:51:16 Hi 09:51:56 hi 10:02:18 --- join: tucknip (~Huck@170.141.109.33) joined #forth 10:08:29 --- quit: I440r_ ("brb") 10:59:03 --- join: Serg (~z@193.201.231.126) joined #forth 10:59:11 re 10:59:59 i just shot a panorama behind my home, by 640x480 matchbox digicam ;)) 11:01:37 now time to write some lines in TFORTH ;)) hope it lost a few bugs ;) 11:06:43 --- join: crc (crc@0-1pool176-49.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 11:37:03 :D 11:37:05 It has 11:37:16 (oops, didn't see that message until now) 11:39:13 * Serg goto sl33p 11:39:17 --- quit: Serg () 11:59:32 --- quit: crc ("http://www.retroforth.org/dev/beta_releases/retroforth-7.beta4.tar.gz") 11:59:54 --- quit: tathi ("leaving") 12:49:10 its one thing to define immediate, its another to actually implement immediate :p 12:49:18 hi 12:49:27 hi :) 12:50:08 http://cvs.sourceforge.net/viewcvs.py/factor/Factor/Factor/native/ 12:50:25 :) 13:25:16 --- join: wossname (wossname@Toronto-HSE-ppp3699329.sympatico.ca) joined #forth 13:36:27 --- join: randolm (wossname@HSE-MTL-ppp77616.qc.sympatico.ca) joined #forth 13:47:04 what does immediate do 13:47:39 indicates that a word is to be executed at parse time 13:47:44 : foo ." hello" ; immediate 13:47:50 : bar foo ; hello ok 13:47:58 'foo' was executed even though it was read in compile mode 13:48:09 words like if then else while are immediates 13:48:30 [ ] ; 13:50:22 and on the other hand. implementing immediate wont work if your immediate word doesnt work as intended. 13:53:21 --- quit: wossname (Connection timed out) 14:16:32 * Tomasu is away: Just casue 14:25:15 --- quit: randolm ("asdf") 14:35:11 --- quit: Tomasu (Read error: 104 (Connection reset by peer)) 14:37:10 --- join: Tomasu (~moose@S010600045a4c73cc.ed.shawcable.net) joined #forth 14:40:56 --- part: tucknip left #forth 14:53:57 --- quit: Tomasu ("SIGWTF") 15:59:12 --- join: Sonarman (~matt@adsl-64-171-254-64.dsl.snfc21.pacbell.net) joined #forth 15:59:56 Hi Sonarman 16:00:19 hi Robert 16:00:26 Hi slava :) 16:01:26 Hi Robert, höw äre yoü? :) 16:01:39 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 16:01:52 Heh. 16:02:29 That looks very ridiculous, but I'm fïñë. 16:02:32 I wasn't mocking your silly Swedish language. I was simply showing off my newfound ability to input latin1 characters. 16:03:31 :D 16:03:39 I see you're enjoying yourself, then. 16:03:53 However, I won't say anything more as it will upset the gods who decide whether or not to let it work 16:04:27 (blessed be the holy spirit of xmodmap, kuliantinagasukalaka) 16:04:42 Hehehe 16:20:45 * qFox will mock that silly swedish language... if he could... easier.. 16:21:40 i'm sooooo close to finishing my interpreter. i only need to fix ; to actually include the word its defining into the dictionary :p 16:21:50 right now, the entry just seems to be lost 16:22:26 qFox, what are you making? 16:22:36 building a forth on top of a forth of Robert 16:22:48 a forth in a forth? 16:23:11 yep 16:23:34 thats what you're forced to if you want a bootable forth and lack the asm knowledge to do it yourself :) 16:24:37 Then you use a terribly buggy Forth by me. 16:24:44 :þ 16:25:00 see, now here i was trying hard not to say such things :p 16:25:27 Hehe 16:25:30 You're so polite. 16:25:40 --- join: aum (~aum@port-204-54-210.fastadsl.net.nz) joined #forth 16:26:10 hi I440r 16:26:10 why thank you 16:26:20 hi all 16:26:52 Hi 16:28:05 hi 16:29:02 any gforth users here? 16:30:02 me, to a degree 16:30:30 Sonarman: do you know how to embed a forth image into a gforth build? 16:31:05 you mean, you want to distribute a gforth executable with a custom image? 16:31:10 no 16:31:19 i want to embed the image file into the executable 16:31:31 oh; no, sorry 16:32:10 gforth is good, with that 'gforthmi' util that builds custom images 16:32:25 well, i know how to do the first part: cat forth.fi >> gforth :P 16:32:37 --- join: Tomasu (~moose@S010600045a4c73cc.ed.shawcable.net) joined #forth 16:32:38 ?? 16:32:43 is that for real? 16:32:59 you just append the image to the gforth binary, and the binary will then load the image? 16:33:20 no, i was loading a joke :) 16:33:24 s/loading/making 16:33:32 i wouldnt be seriously surprised if it was so though 16:33:36 i was almost very impressed 16:33:46 its common for a forth to be a mere memmory dump 16:33:56 i'm doing this in factor too 16:34:01 except the memory dump is relocatable 16:34:23 gforth has hooks for embedding an image, but no info or doco 16:35:01 * aum marvels at the endemic inability of forth implementation authors to adequately document their work 16:35:09 oh, wait 16:35:16 the source *is* the documentation 16:35:22 * aum slaps himself for being so stupid 16:35:48 i'd rather have cryptic docs than pointing-out-the-obvious docs 16:37:04 no, i think i'd prefer the printing out the obvious docs 16:37:41 and this source is doc philosophy is a nice concept, but simply doesnt always work 16:50:03 bigforth is one forth whose value is largely wasted for want of decent docs 16:50:22 for instance, bigforth is the fastest forth i've seen 16:51:03 then help document it 16:51:07 performance wise, bigforth makes other forths look like they're written for a java vm emulating a java vm emulating a java vm 16:51:26 aum, wouldn't that be as fast as native code, once each java vm has had a chance to JIT-compile the code its running? :) 16:51:39 so, 10 minute startup time, then native speed ;) 16:52:01 * aum has yet to see jit-compiled code running truly as fast as native 16:52:29 slava: you do have a point - perhaps i should test the waters on the bigforth mailing list and see how responsive they are 16:52:53 the bigforth ui toolkit has potential but its sort of buggy 16:52:58 i managed to crash bigforth while playing with it 16:53:04 eek 16:53:14 can you reproduce the crash? 16:53:22 no it was ages ago 16:53:30 i'm not surprised tho, forth is an unsafe language 16:53:35 it wasn't something like '0 0 !', was it? 16:53:39 one bad pointer and you're screwed 16:53:42 of course not! 16:53:49 i think i just opened the file menu and it crashed 16:53:55 but only happened once 16:54:10 slava: *real* languages (assembler, c, forth etc) are unsafe 16:54:24 everything else is scripting 16:54:26 replace 'real' with 'system' 16:54:45 for most problems you don't need the ability to do pointer arithmetic though 16:55:23 the ability to access physical memory is a huge speed advantage 16:55:42 how so? 16:56:06 all code has to access physical memory somehow, whether directly or indirectly 16:56:12 of course 16:56:25 if the language makes this access indirect, then there's some shim in the middle which slows things down 16:56:45 well consider this loop for example: 16:56:55 for(int i = 0; i < array.length; i++) doStuff(array[i]); 16:57:19 any modern (ie, post 1998) JVM will optimize away the second bounds check (the arg to doStuff). 16:57:32 since it has already been proven that i is less than the array length and greater than 0 16:57:44 so in practice, the overhead of these checks is almost zero 16:58:44 and not having pointer arithmetic can actually speed things up, since the compiler can much more easily check for aliasing. 16:59:02 in C for instance, its almost impossible to tell at compile time if two arrays will overlap -- this affects what optimizations you can do. 17:00:25 well, in c, one does memmove() 17:00:40 this is why fortran is marginally faster than C, because the fortran compiler can do more aggressive aliasing optimizations 17:00:53 one small check at the start, and memmove() transparently handles overlapping 17:01:01 and also why its possible to write array-access code where java beats C 17:01:06 i'm not talking about copying from one array to another 17:01:15 i'm talking about prefetching ahead of an unrelated pointer write for instance 17:01:23 you can't do it if you can't prove the pointer won't point in the middle of your array 17:02:02 guess not 17:03:01 i'm a fan of grabage collection too (when properly implemented, not some silly reference counting thing) 17:03:13 what's wrong with refcounting? 17:03:15 although manual memory deallocation has its place too 17:03:32 it has more memory and speed overhead than a good gc algorithm, and doesn't handle circular references 17:04:23 ok 17:04:28 python has cycle detecting reference counts, apparently 17:04:33 so it can be done 17:04:39 titanstar, with ridiculous overhead 17:04:46 yeah 17:04:50 titanstar, all 'container' objects (arrays, lists etc) have to be stored in a separate global list 17:05:00 i don't see why the python folks didn't at least do mark/sweep... 17:05:58 there are some python idioms that depend on deterministic destruction 17:06:06 file("myfile").read(), for example 17:06:40 --- join: tucknip (pickroll@dialup-4.153.53.225.Dial1.Atlanta1.Level3.net) joined #forth 17:06:52 no need to explicitly close files when you know the destructor which closes the files is run as soon as the file objects goes out of scope 17:06:55 titanstar, ok 17:07:13 then again, jython that runs on jvm uses whatever garbage collection the jvm has 17:07:39 and jython is way slower than cpython 17:08:03 might be 17:08:16 aum, i thought it was 1.5x as slow or something 17:08:21 python was never intended to be a system programming language anyway 17:08:25 i see no reason for it to be way slower, considering that CPython is interpreted 17:08:31 and Jython is compiled to java which the JVM turns into native code 17:09:21 1.5, on a fine spring day with no wind and the moon at three-quarters 17:09:36 i'm unsure whether jython compiles ahead or does bytecode interpreting 17:09:48 i would suspect the latter 17:09:52 jython compiles ahead iirc 17:09:58 oh i think you can do both 17:10:03 when using jython, you end up with a bunch of .class files 17:10:08 you can either interpretet jython, or convert .py to .java and javac it 17:10:15 ah, that's neat 17:10:39 does it support things like retrieving the variable dictionary in code then? 17:10:58 so if there's no '.class' file sitting around, the first 'import' statement takes ages, but the import generates a .class, so subsequent imports are much faster 17:11:36 titanstar: it's pretty much 100% like python, although some pythonisms aren't fully available when dealing with java objects 17:11:46 okay 17:11:50 for instance, dir(javaclass) usually returns jack 17:12:03 unsurprisingly 17:12:14 well java has reflection apis for runtime lookup of methods and fields 17:12:16 they could use that 17:12:20 unless dir()'s semantics are different. 17:12:22 * aum was just about to say that 17:12:26 d'oh. 17:12:36 i've written my ' to skip the latest word 17:12:38 hmm, that's right 17:13:26 dir in cpython returns a list of strings with the names of the methods and instance variables of an object 17:13:35 i suppose that could be done with reflection apis 17:18:04 yikes 17:18:25 well some java classes have > 1 method with the same name 17:18:28 how would dir handle that? 17:18:30 just reading on the bigforth website that the .net EULA specifically forbids GPL progs 17:18:35 i can have a foo(int x); and a foo(float x); 17:19:01 slava: ah, that wouldn't sit well with a dynamically typed language 17:19:18 titanstar, well its possible, lisp has dynamic dispatch 17:20:01 yeah, but python doesn't have any concept of overloaded methods 17:21:06 you could always decorate the method names with the types of the arguments, but that would be really ugly 17:21:26 yeah. 17:21:34 --- part: tucknip left #forth 18:13:03 Robert> i think its done. 18:13:07 Oh? 18:13:10 Congratulations :) 18:13:17 thanks :) 18:13:38 seems to run fine. being able to compile, and actually find and execute those words 18:13:48 including literals 18:14:33 Oooh. 18:14:41 Nice :) 18:14:49 Tell me when you've ported Linux to it. 18:14:57 sure 18:15:16 i'll give you a buzz, around the same time as hell freezes over 18:15:26 ;) 18:27:33 http://members.home.nl/qfox/kuf.0.01.bin 18:27:38 if you want to take a look 18:27:40 i'm going to bed now 18:27:45 Heh 18:27:49 OK, night :) 18:27:51 nite 18:27:54 Can't you just give me the sources? 18:27:58 meh 18:28:01 :D 18:28:14 cant you just load that image to a diskette and boot it so i can trash your system, just once? 18:28:27 Whatever you say. 18:28:30 Trusten ;) 18:28:39 same file, .f 18:28:47 :D 18:28:58 enjoy the hacks 18:28:59 ^^ 18:29:10 and obvious comments 18:29:11 and stuff 18:29:26 mind you, the first part is roberts! 18:29:41 :D 18:29:42 Cool 18:29:44 i'll probably tear out a few parts of that later 18:29:51 havent bothered to check yet 18:29:53 You actually did a lot of coding on that 18:29:57 i did 18:30:06 what, you think i was just typing dup and hoping for the best? :p 18:30:08 * Robert pets qFox for that 18:30:14 :D 18:30:19 this system works, test the image 18:30:21 Something like that, yes. 18:30:34 haw 18:31:51 plus you should probably embed all the words i'm defining up to changing the base 18:32:16 and some after them 18:32:40 well, or not. 18:33:22 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 18:33:51 wow, /. has been /.'ed 19:24:51 --- join: tucknip (pickroll@dialup-4.153.53.225.Dial1.Atlanta1.Level3.net) joined #forth 19:24:51 Heh 21:01:19 --- log: started forth/04.07.16 21:01:19 --- join: clog (nef@bespin.org) joined #forth 21:01:19 --- topic: 'FORTH programming language. Info: http://forth.bespin.org/resources/introduction ANSI: http://www.taygeta.com/forth/dpans.htm FIG83: http://forth.sourceforge.net/standard/fst83/ Links: http://members.dsl-only.net/~loophog || Kestrel project weblog: http://www.falvotech.com/weblog || Note: this chan is publicly logged.' 21:01:19 --- topic: set by kc5tja on [Thu Jul 01 21:50:42 2004] 21:01:19 --- names: list (clog @kc5tja madgarden tucknip Tomasu aum Sonarman slava onetom cmeme lalalim_ kuvos chandler zardon juhammed breno @ChanServ Fractal mur Klaw fridge [Forth] skylan @I440r Robert ianp titanstar) 21:01:25 Loving the C64-ness! 21:01:36 :) 21:01:47 i'm annoyed. 21:01:56 Oh by the way, it's looking very likely that I'll be using Forthy for a fairly large project at work. 21:02:22 slava: ?? 21:02:30 madgarden: cool beans. :) 21:03:06 I'm hoping that slapping an Artistic license on it will save me from any legal troubles and allow me to apply improvements back to the official source. 21:03:27 I doubt they'll even know or care about that aspect, but you never know. 21:03:38 * kc5tja nods 21:04:25 It's funny -- you like the C64-ness, which is part of the effect I was going for. But, at the same time, I like its Amiga-ness (note the text font is largely borrowed from the topaz.font of the Amiga!). 21:04:26 Anyway, I've been harping since almost day one about how we could really use an "interactive debug shell" in our embedded products, which would allow runtime poking, prodding, debugging, diagnosing, and testing... all using the same interface. 21:04:53 I didn't notice the font... but then I've never seen it in those colours before. :) 21:05:40 i have to add some jdk 1.5-specific code to jedit to have the option to change the UI font work correctly. 21:05:42 this is getting out of hand 21:05:55 there's jdk 1.3, jdk 1.4 and jdk 1.5 bits that get executed depending on your java version 21:06:26 windows drive letter listing differs in 1.3 -vs- 1.4 for instance. rrggghh.... 21:07:38 Yuck. 21:08:36 its like C #ifdefs... without the # :) 21:09:07 do you have to check the version at runtime? 21:09:11 slava: So why not just require everyone to use the JDK 1.5? 21:09:15 Sonarman, yes 21:09:37 Sonarman: Sounds like a job for abstracting pathnames in a class. 21:09:37 kc5tja, its only on linux/windows/solaris at the moment. bsd, mac, and others only have 1.4. 21:09:49 kc5tja, well this is exactly what is done 21:09:59 kc5tja: the bane of tab-completion, eh? ;) 21:10:01 slava: OK, good. :) 21:10:14 Sonarman: I must have typed the full name then TAB again. 21:12:08 I've been thinking more and more and more about the ideal computer system though. 21:12:22 And oddly, it seems that, despite the relative purity of Forth, the ideal system is, indeed, Smalltalk. 21:12:40 I thought it was Oberon. :P 21:13:05 Oberon would be a nice *language*. The Oberon *system* isn't ideal (though more or less close). 21:13:54 The reason is that Smalltalk is highly interactive, and is orthogonally persistent. 21:13:59 By definition. 21:14:20 Can you roll your own syntax/language in Smalltalk? 21:14:22 A Smalltalk environment's image can be saved and restored at will; objects all exist in a unified address space. 21:14:43 kc5tja, like factor :) 21:14:56 Not as freely as in Forth, no. But more often than not, you don't need to. 21:15:36 That's one of the things that draws me to Forth the most. 21:15:46 Well, sure. 21:15:56 But remember, I'm talking a *complete* *system* here, not just the language. 21:16:22 The problem I'm trying to tackle right now with Kestrel Forth is how the heck I'm going to deal with persistence. 21:16:39 So, let's combine 'em... Forthtalk. 21:16:40 Blocks are nice, but are relatively inflexible, all things considered (although better things can be built on top of them). 21:16:49 madgarden: See "MOPS". 21:17:02 MOPS isn't really like Smalltalk 21:17:06 i think MOPS is more static than smalltlak 21:17:14 smalltalk is extremely late bound 21:17:16 opposite of forth. 21:17:20 it just uses the the smae message: object scheme 21:17:27 kc5tja, files? 21:17:29 slava: Yes, but it is highly Smalltalk inspired. 21:18:22 madgarden: Well, since files were originally just address spaces that were persisted to disk in Multics, then any logically grouped set of blocks can be considered files. 21:18:51 The problem is how to deal with variable-sized data, whose size isn't known before-hand. 21:19:49 To deal with this, at the very least, some means of allocating and freeing blocks is required. 21:20:24 ALLOT/FORGET on disk :) 21:20:35 Since block-space is just another flat address space (into which 1KB windows exist), I can use a memory allocator and adapt it to allocate whole blocks. 21:20:49 slava: Not good enough. ALLOCATE and FREE, but for the disk. 21:23:31 This actually works out very well, I think. Of course, I'd have to test the concept. 21:24:30 But a block allocation system ought not be very hard. And employing VLIR-like entities to represent more complex objects (e.g., document "files", for example) would make finding data very clean and easy. It'd all be properly layered on top of the block management service. 21:24:48 Sounds good to me. 21:26:40 The end result, BTW, would be what one would see in an orthogonally persistent environment, but without CPU-executable machine code for the software. Instead, only raw source code and data would be visible. Someone expecting to see an orthogonally persistent system would see a microprocessor that apparently can execute raw source code. :D 21:27:44 Hmm, I suppose I should work on my TTA processor design, eh? :D 21:29:55 That would be... eerie. 21:30:02 What's that? 21:30:42 "...a microprocessor that apparently can execute raw source code." 21:30:58 Ahh, yeah. :) 21:33:02 --- quit: fridge (Read error: 60 (Operation timed out)) 21:35:48 I had an idea earlier regarding Forth code conventions... you might remember how I'd mentioned before about giving hints about stack usage by capitalizing words and/or ending them in a period (or not). Then I thought... why not completely capitalize IMMEDIATE words? Nothing is more immediate than THIS! ;) 21:36:25 madgarden, that's what I do 21:36:38 Haha :) 21:36:59 Hah, cool. :D 21:37:05 What happens when a user enters a word like "DuP"? 21:37:06 :) 21:37:13 madgarden, and words that read from the stream are suffixed with : 21:37:17 kc5tja, its just a convention its not enforced 21:37:19 Yes! 21:37:33 madgarden, this includes : DEFER: HEX: OCT: BIN: and a few others 21:37:45 Yes, totally intuitive. 21:37:55 No, not really. 21:38:02 To me ":" signifies a definition. 21:38:33 Eh. 21:38:38 its all just convention 21:38:52 and i wouldn't use COMMENT: :-) 21:38:59 To the general reader, : is more indicative of "take what follows". 21:39:05 Conventions taken to logical extremes is just as bad as Hungarian notation. 21:39:29 slava, did you catch my other couple ideas for code convention? 21:39:43 madgarden, i don't like those :) 21:41:06 I'd like to actually see it used in practice before I pass a final judgement, of course. But last I recalled, the conventions showed promise, but I still wasn't comfortable with them either. 21:41:35 I felt the example given was too contrived to suit the purpose of the argument. I'd like to see a general application written with those conventions first. 21:41:37 One was capitalizing words that don't have stack input, and the other was putting a period after words that have no stack output. 21:42:05 Right. 21:42:26 That's the one I was thinking about. 21:42:38 OK, so someone was listening. ;) 21:43:15 Goddammit! it is too damn hot here. :( 21:43:17 Best thing would be to take a chunk of existing code, apply these 4 rules, and see how it reads. 21:43:50 kc5tja, no air conditioner or fan? 21:43:54 Nope. 21:45:06 I was thinking of how to use Forth scripting as an interactive map/world/tileset/animation etc. editor for the game project I'm currently on. 21:45:34 (thanks for reminding me to turn the fan on... ahh, much better ;)) 21:46:15 It's got to be at least in the 80s tonight, and it's very humid (a relative rarity for this area). 21:46:39 You know, one of those tall floor fans is pretty cheap. 21:46:49 I'm pretty sure that if I turn on my ham radio, I'll be hearing the noise from nearby lightning. 21:46:57 I have one pointing directly at me right now. 21:47:00 madgarden: I am $1500 in debt still. 21:47:13 Well, forgo your next $5 burger and get a fan. 21:47:32 madgarden: I don't eat burgers anymore. In fact, I all but forgot what they tasted like. 21:47:47 I've been eating Macaroni and Cheese and ramen noodles for the last month. 21:48:05 Increased comfort will be worth way more than the $5-$15 you pay for the fan. 21:48:24 madgarden: Getting my rent paid off on time is worth even more to me. 21:48:28 Ahh, good ol' KD. With chopped hotdogs, I hope! 21:48:57 KD? 21:49:11 Kraft Dinner? 21:49:19 No, Kraft is too expensive. 21:49:22 I buy the cheap stuff. 21:49:33 Just as good anyway. 21:49:38 And no, no hotdogs. 21:49:46 Sure. I usually throw in extra cheese. A block of cheddar goes a long way. 21:50:05 One of my favorite meals these days is sliced salami, sliced apples, and sliced cheddar, on a plate. 21:50:15 dammit now i gotta go eat 21:50:19 all this talk of food has me excited 21:50:26 Heh 21:50:45 Mmm. I'm getting hungry too. Damnit... we're outta cheese! >B( 21:50:59 I just got done eating. 21:51:26 the wife brought home some Timbits and cookies earlier... I could dig into those, but then I'd feel dirty. 21:51:47 timbits? 21:51:54 Little pieces of Tim, in a bag? 21:52:56 What we Canadians have up here for "donut holes" or whatever you call 'em. Tim Horton's is our main donut shop. 21:53:18 haha you're canadian? 21:57:02 * kc5tja hears only crickets... :D 21:57:25 --- part: tucknip left #forth 21:58:12 Yes! 22:09:43 brb 22:10:47 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 22:13:01 --- join: fridge (~fridge@dsl-203-113-231-76.NSW.netspace.net.au) joined #forth 22:16:06 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576090.sympatico.ca) joined #forth 22:28:06 --- join: lalalim (~lalalim@pD95EA186.dip.t-dialin.net) joined #forth 22:36:28 --- join: wmg (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 22:39:34 * Tomasu is away: sleep 22:45:51 --- quit: lalalim_ (Read error: 110 (Connection timed out)) 22:46:22 --- nick: Tomasu -> TomasuDlrrp 23:10:50 I think if I were to make a GUI for the Kestrel, it would probably be built using a GEM-variant, but with a user interface that behaves more like RiscOS instead of MacOS. It just seems to me to be friendlier. 23:11:01 But I digress. I need to get to bed now. 23:11:07 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:33:16 --- quit: aum () 23:59:59 --- log: ended forth/04.07.16