00:00:00 --- log: started forth/05.08.27 00:10:51 --- quit: sproingie (Remote closed the connection) 01:30:46 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 02:12:14 --- quit: aum () 03:22:15 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 03:34:10 --- quit: JasonWoof (Read error: 110 (Connection timed out)) 04:27:25 --- quit: aum () 04:32:47 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 05:01:04 --- quit: tathi ("leaving") 05:46:01 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 06:59:20 --- join: PoppaVic (n=pete@0-1pool64-58.nas22.chicago4.il.us.da.qwest.net) joined #forth 06:59:53 G'day 07:00:39 good morning PoppaVic 07:00:50 howdy - are we having fun yet? 07:00:54 yes 07:01:20 always a good sign 07:01:22 * crc has initial turnkey stuff in RetroForth/Linux now 07:01:31 heh - cool ;-) 07:04:18 crc: you caught our discussion the other day then, eh? 07:04:23 no... 07:04:28 oh my 07:04:44 * crc goes to meme.b9.com 07:05:02 well, we did spend the last hour or so talking about turnkey/extraction/xlating into source-lang output 07:09:15 --- join: snoopy_16 (i=snoopy_1@dsl-084-058-143-117.arcor-ip.net) joined #forth 07:26:28 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 07:26:45 --- nick: snoopy_16 -> Snoopy42 07:30:17 Any of those logged args help you, crc ? 07:32:03 not yet 07:32:11 * crc isn't sure how to proceed from here 07:32:32 heh - I get that DAILY ;-) 07:32:50 heh 07:32:51 I've been glaring at pretty much the same code for 2 weeks 07:33:36 I've done that 07:34:19 Somewhere in this mess I've got some answers, more questions and I *STILL* lack a "plan" to really share with others. 07:36:03 I think my prob is that the mess extends from the bottom MC right up to the shells/tools *sigh* 07:42:30 --- join: JasonWoof (n=jason@c-65-96-120-126.hsd1.ma.comcast.net) joined #forth 07:42:31 --- mode: ChanServ set +o JasonWoof 07:42:38 lo jas ;-) 07:42:49 hi 07:43:31 hey, I just reworked my ELF header example so it doesn't use hard-coded addresses 07:43:41 hehe, bastard ;-) 07:43:53 now it lets the linker set the base address, so it'll still work even if they change it. 07:44:08 neat 07:44:10 I can't use ELF lately, and I wish we had examples for it and mach that made sense 07:44:42 * tathi knows all about making ELF executables :) 07:44:46 sounds a little cleaner than not using the linker at all 07:45:01 yeah - linkers are really a necessity 07:45:03 yeah, it reads better as well 07:45:16 Where is this code at? 07:45:25 on my hard drive :-P 07:45:29 oh 07:45:35 +) 07:45:46 * PoppaVic spanks hissef 07:46:20 I figured out macho well enough to generate a header with one section 07:46:30 I've always been fairly perturbed about the lack of a lib for generating .o or .so-type files 07:46:57 I can tell. you're the perturbed type ;) 07:47:38 yah, when Not sighing over unsatisfying solutions, I get peeved about all the gymnastics other solutions require. 07:47:57 JasonWoof: I think it has to do with getting too old. 07:48:50 btw, crc sez he's been having fun 07:51:42 http://qualdan.com/examples/linking/elf.s 07:52:27 I don't think it's hard to make ELF .o and .so files, I've just never looked into it. 07:52:48 PoppaVic: have you looked at libbfd at all? 07:52:49 I've never been that low-down. 07:52:50 (just curious) 07:53:00 tathi: it won't help for non-linux, iirc 07:53:32 Yeah, I think I even snagged the tarball to a backup CD 07:53:49 I was more wondering if its API was any good. 07:54:00 what I saw was really ugly and obtuse 07:54:07 I was afraid of that. 07:54:41 I keep thinking we have GOT the tools, but coordinating them and testing FOR them consistently is a hurdle 07:56:23 tathi: nice code. 07:56:36 tathi: why's the example stuff set r18? 07:56:48 I can't understand why forth can't generate such stuff, though ;-) 07:57:33 JasonWoof: huh. no idea. 07:57:42 hehe 07:58:22 the rlwinm seems pretty silly too :) I thnk you could just do: li r18, -8 07:58:42 damn, this has gotta' be the ppc junk ;-) 07:58:51 I was probably checking bit numbering for rlwinm or something. 07:58:56 I took it out now. 08:00:09 beauty 08:00:40 might be nice to put code in there that finds the load address 08:00:47 tathi: the kick is: that asm-source is the base for an executable, right? 08:01:11 or can you: liw ehdr 08:01:13 PoppaVic: yeah. Just a minimal example. 08:01:23 JasonWoof: yeah, should be able to. 08:01:51 so... ld just xlates the .o to the equiv of an .exe 08:01:58 (in this particular case) 08:02:31 PoppaVic: should work on any PPC GNU/Linux system. Won't work on BSDs, because their ELF loaders are extremely picky. 08:02:34 yup. 08:02:59 yeah, I noticed Mac OS X was very picky 08:03:08 ok.. Thought so - no idea what "set up" the ld does for the _start_ code, myself - but it seems like a beginning 08:03:13 I was able to get it to load eventually though 08:03:19 JasonWoof: yeah, 3 modes, rather than 2 08:03:23 (the mach-o that is) 08:03:23 Well, you never know with Apple, they tend to rewrite a lot of stuff. 08:03:41 but FreeBSD won't run some ELFs that are valid according to the standard. 08:03:53 It requires you to have section headers, basically. 08:04:08 grrr 08:04:40 PoppaVic: in that example, ld just relocates the .o file to the appropriate base address, basically. 08:04:59 are sect-heads tough to generate, or are we talking about "a given sect-head restricts use"? 08:05:17 tathi: yeah, I thought that was what ld was doing 08:05:40 They're easy enough to generate. 08:05:54 it's just extra bother 08:05:54 ok, so it's the restricted size/i-o 08:05:55 But you can't (for instance) use brk() on anything without a data section. 08:06:03 ahhh 08:06:46 hmm... I don't seem to have a copy of my mach-o stuff on this computer 08:07:34 I'm tempted - weekly - to ditch macosx and just install a ppc linux variant *sigh* 08:07:48 And IIRC BSD wants your .text and .data sections to be separated by a page break, so sometimes you have to put padding in your executable. 08:07:58 PoppaVic: that's what we've done 08:08:12 Well, I never had OS X. 08:08:17 JasonWoof: understandable - it's very, very frustrating 08:08:22 The beta didn't run on this box, remember? 08:08:33 yeah, osx requires you to pad your executable to a 4K boundery 08:08:37 always thought that was stupid 08:08:45 tathi: yer talking ascii breaks/padding or some sorta' asm junk? 08:09:11 PoppaVic: he's talking about allignment 08:09:15 ahhh 08:09:26 there are .align pseudos 08:09:36 PoppaVic: it's easier to swap stuff in/out with mmap if things in the file are aligned to page (4096 byte) boundaries. 08:10:14 so the SysV ABIs (SysV defines ELF) require file offsets to match load addresses modulo the page size. 08:10:47 I'm just annoyed about the whole thing because I just want the whole file read into memory and executed 08:10:55 only thing I care to specify is how much memory 08:11:55 well, I can suffer a few extra param for reloc/extensible. It's the restrictions that get old 08:12:13 and the lack of a generator-library (of course ;-) 08:13:17 yeah. If I was planning to stick with Linux long term, I'd write one, but... 08:13:40 well written, it should not be a major butt-munch to port 08:13:59 it has 26 fields, plus some padding 08:14:04 tathi: what sys IS the target? 08:14:17 actually, I'd write the ELF part anyway, but I don't feel like coming up with a good API 08:14:33 I'd like to have my own system one of these days. 08:14:43 well, API's and docs are my forte' ;-) I always prefer writing a libto an app. 08:15:09 WHat I despise os autoshit. 08:15:15 os/is 08:16:24 I'm beginning to suspect that some judicious C, plus an asm->.o os/platform ABI, and a Makefile is prolly the best place to start 08:17:06 there we go again 08:17:53 absolute minimum mach-o header size that I could get macosx to load was about twice as big iirc. 08:17:57 checking 08:18:39 yeah, I think macho is a sloppy "we know better" elf-wannabe' 08:19:22 heh, scratch that, it's almost 4 times bigger 08:19:28 maybe because they want "backwards-compatability"? Never had an apple on my desk until this powerbook 08:19:47 84 bytes for ELF, 328 for Mach-o 08:20:00 hmm, how about drive block-size? 08:20:19 what about drive block-size? 08:20:27 is there a major diff? 08:20:54 oh, that's the other thing. mach-o your file has to be a multiple of 4K long 08:21:01 ahhh 08:21:15 PoppaVic: no, 68K Macs used XCOFF or COFF, or something, and I kind of think OS 9 used ELF. 08:21:22 ugh 08:21:23 I've only been aligning my ELFs to probably 4 bytes. if that 08:21:44 tathi: so, the prob is: they can't make a decision and get their head anally-removed? 08:22:57 I think the move from COFF to ELF made sense. 08:23:05 Not sure why they switched away from ELF 08:23:11 well, I'm no good at asm, drivers or high-math... But, if you need a C/H/docs nut, count me in on for-tathi or ostathi ;-) 08:23:38 I'd be happy with a header like this: 'FOOx' (magic bytes), system-type, memory required, code... 08:23:59 I am beginning, (sadly), to believe we need to do a lisp-ish answer. 08:24:10 they're using BSDs normal exe file format aren't they? 08:24:14 JasonWoof: or akin, yeah 08:24:23 dunno bsd 08:24:26 IIRC BSD will execute just about anything. 08:24:27 I thought the BSD elf loading stuff was part of the "linux compatibility" stuff 08:24:37 and mach-o was the native format 08:24:38 no, you can have BSD ELF files. 08:24:42 oh 08:24:46 huh 08:24:50 the difference is how you call a syscall (on x86, anyway) 08:24:52 oh? eh? wha?! 08:24:56 ohh 08:25:09 maybe they wanted some of the fancy stuff in the mach-o header 08:25:11 I think Apple was playing with the Mach microkernel for a while, so maybe Mach-O is related to that. 08:25:20 you can specify initial settings for the registers 08:25:40 playing with it for a while? isn't mach wath osx uses? 08:25:54 OK, check me if wrong (it was micro-K, btw) - but, we still need either a portable-toolbase, or a binary-base, right? 08:26:02 s/wath/what/ 08:26:27 JasonWoof: I'm not clear on that. I thought it was Mach, but Mach is a different kernel from BSD, so... 08:26:32 * crc though that OSX used XNU as the kernel 08:26:47 XNU? 08:26:52 they probably mushed it all together :) 08:27:04 is that like XSI? No idea where we are flowing ;-) 08:27:10 Basically Mach 3.0 with a BSD subsytem in the kernel 08:27:19 right 08:27:23 crc: ah, that would make a lot of sense 08:27:35 I bought this crap knowing it had a BSD core 08:27:54 ..past THAT, I'm quite disappointed 08:28:45 crc: do you cross-compile/asm the retroforth binaries or use autoshit? 08:31:37 yeah, macosx uses mach: Mach 3.0 microkernel, FreeBSD services 08:31:44 http://www.apple.com/macosx/features/unix/ 08:32:03 Near as I can tell, (from talk with lispers), Lisp began as C/asm and now Metacompiles itself everywhere. I can never see why the rest of us can't deal with that universe 08:32:46 JasonWoof: so "mach" is AKA "microK" ;-) 08:33:26 well, whatever it is - machosx does NOT make me wet myself 08:34:02 we're not as cool as hardcore lispers 08:34:12 Near as I can tell, all they do is integrate shit more publicly than doze 08:34:14 I'm better at lithping 08:34:50 PoppaVic: no 08:34:52 JasonWoof: I've always found that a poor excuse, since lisp preceeded forth. I think it's more ego/organizational 08:35:06 crc: oh? what? 08:35:18 I don't use autoshit at all 08:35:26 crc: good call ;-/ 08:35:40 crc: so, source-per or binary, then? 08:35:44 I use make (which I dislike) 08:35:51 PoppaVic: basically, yes 08:35:58 make is not earth-shattering but super handy 08:36:00 I have a few files that differ for each port 08:36:08 crc: as they should 08:36:19 (rf.asm, colors, blockio), but most are identical 08:36:27 OK.. That helps me cogitate... 08:38:21 basically, we need a makefile_c/asm (platform) source - including the metacompiler, OR the binary-package needs all the shit to ACT as the [meta]compiler there 08:38:50 humph 08:39:16 starting from the former, to create the latter "packages" is prolly the best solution. 08:40:08 crc: what externals, (other than goddamned sh), does the makefile require? 08:41:08 ..by this I mean things like grep/awk/perl/sed, etc 08:41:30 (oh, and gcc or CC) 08:41:55 sed, cat, grep, fasm, gcc (if you use generic or generic_ffi ports) 08:42:05 I've been building lists/datafiles and tests for weeks 08:42:43 why fasm? and wtf is a "generic_ffi port"? Near as I can tell, FFI is nearly impossible at this time. 08:42:44 optionally uses tr if you compress the whitespace with "make smaller=true" 08:42:57 generic_ffi has bindings over libdl.so 08:43:20 I used nasm for a long time, but it wasn't updated readily enough and the macro facilities were weaker than fasm's 08:43:22 never heard of the package, libffi sucksand ffcall is marginal 08:43:43 fasm and such mandates x86, does it not? 08:43:46 yes 08:43:55 rf is specific to x86 currently 08:44:02 where is the ffi source sited? 08:44:28 http://retro.tunes.org/rf8-dev-generic_ffi.tar.gz 08:44:44 ohhhhhh - it's your OWN ffi??? 08:45:22 accessing which other systems? 08:45:42 I didn't write libdl.so... 08:46:12 I have no source for that, but it's on every Linux box I've encountered using anything beyond a rescue floppy 08:46:15 oh. so - my bad... yer def of "FFI" varies from my understanding and dlsym-stuff 08:46:27 ok 08:47:16 crc: FFI, near as I can tell, is generally a lib and calls to generate/set up an asm or C call with args and returns back & forth is all 08:47:29 my wrappers over libdl.so provide for importing functions and calling them 08:47:38 it seems troublesome from some angles. 08:47:43 gotcha 08:47:59 hmmm 08:48:11 I call the proper libdl.so function, it maps in the function and gives me the address for it 08:48:27 then I setup the wrapper functionality to call/return from it 08:48:32 we are circling right back toward my minish, plus forth/vocs and pseudo-asm. 08:49:01 man, this whole thing gets soooo disturbing 08:49:37 I can see why lispers got to writing one binary and then metacompiler-distro 08:50:13 crc: are you requiring posix or what? 08:50:22 nope 08:50:44 well, pathing and dirs are strictly non-ansi, which iswhy I asked. 08:51:04 the build process assumes a posix-ish setup 08:51:14 ok, I figured that. 08:51:25 I want to get away from that at some point 08:51:28 ..ok... Lemme' get another brew and cogitate a few 08:53:14 hmm 08:53:39 At the very least, packages need to execute on targets. 08:53:58 folks forever forget targets vs hosts. 08:54:51 seems quite likely we need a c/asm/make/sh-ish executable to Metacompile. 08:55:34 I've seen this for awhile, but it needs limiting and codifying 08:56:34 crc: how are yer assumptions on devices, stdio and such? 08:57:51 I'm guessing, if you use make/sh then at least as deep as C - we presume an underlying libc(minimal) 08:58:08 key, emit, and type use stdin and stdout on the hosted ports 08:58:24 they're all vectored, so you can replace them if you need to 08:58:28 I mean for your building, though 08:58:52 ahh, nothing unconventional 08:59:02 I do a little redirection, but nothing fancy 08:59:04 It sounds like we can assume a simple C 08:59:17 ..at least the metacompiler, anyway 08:59:21 * crc does use /dev/zero in building the diskimage for retroforth/native, but that's as exotic as it gets 08:59:36 yeah, that IS "exotic", though 08:59:45 I can get by without it 09:00:01 ok, I can see a pattern... This was what was bothering me. 09:00:31 Is there any reason that we can't generate a C program to act as the inital metacompiler? 09:00:41 depends 09:00:48 on? 09:00:52 I don't metacompile :) 09:01:04 I know, I'm trying toget beyond that 09:01:14 I could replace the makefiles and whatnot with a simple C app 09:02:23 well, we might need to package the c in a core, but... What I'm pondering is leveraging C and libc at least on a host... What asm/platform/cpu (machine) specifics are being used in the target? 09:03:14 cpu: x86 09:03:24 that's for NOW 09:03:29 platform: linux, windows, freebsd, beos, 09:03:42 yer telling me yer mostly writing x86-asm 09:03:49 right 09:04:05 ok, and what - other than cpu - are your dependencies? 09:04:13 to run? 09:04:17 fasm, that I recall. 09:04:22 fasm to build 09:04:31 what devices, libs, syscalls, etc. 09:04:42 stdin, stdout 09:05:21 libs on Windows are kernel32.dll, on Linux, none, on FreeBSD, none, on BeOS and Generic, libc, on Generic+FFI, libc and libdl.so 09:05:28 what gets linked in, if anything? What FHS-dependencies are involved? 09:06:12 syscalls needed are read, write, exit, open, close, and chmod 09:06:16 This all indicates, to me, that we keep doing the same sorta' half-assed shit I recall from my CP/M days *sigh* 09:06:34 crc... I think we might be able to do a lot better. 09:06:38 I try to keep the dependencies as few as possible 09:06:46 PoppaVic: how? 09:08:12 crc: well, for starters... Forth began as a "get it ported, burned and we have a shell" - this was FIG..Nowadays, folks seem to think like that AND with dependencies. - but can't see that forth is not an OS and should not mix data/calls to complicate it. 09:08:35 I think there may be a way to get the thing "portable" 09:09:41 Just out of a left-handed curiousity: can gforth build and run on yer platform? 09:10:12 I'm trying to ascertain limitations/requirements. 09:11:15 yes 09:11:20 ok.. 09:11:43 Hmm... Meaning goddamned autoshit is there, and gforth covered the bases. 09:11:59 ok... Lemme think a bit. 09:13:01 How much true ASM does a forth need? What funcs/vm-support? Where need it expect platform-support? 09:14:15 Depends 09:14:23 you can do a forth with little to no true asm 09:14:38 * crc thinks of atlast 09:16:33 yes, I know - but my point remains: where are you using asm and why? I'm thinking of the underlying ABI/systems. 09:17:21 I use asm for the primitives and the compiler/interpreter loops 09:17:31 Does your engine itself take over the CPU and regs? 09:17:40 take over? 09:17:55 abuse it, so that interfacing is unlikely. 09:18:08 I have a register model (esi is my data stack, eax caches the TOS) 09:18:19 ok... 09:18:27 code is compiled to subroutine threading with inlining of some primitives 09:18:33 So, you are roughing out a forthism CPU 09:18:40 sort of 09:18:44 interesting 09:19:04 FIG, FPC/F83 distro's did similar 09:19:42 I used FIG briefly, but never used FPC or F83 09:20:13 Is your asm-source so bound to the synthetic-CPU and RAM it can't be xlated? 09:21:04 looks like PoppaVic wants a translation tool 09:21:30 no 09:21:44 not that I'm aware of anyway 09:21:45 ok, I thought so 09:22:08 They could then use a C-call (or a perl-call) or whatever? 09:22:22 up/down or across 09:22:25 with a minimal amount of work, yes 09:22:29 ok. 09:22:34 * crc is happy with his current model though 09:22:58 Does retroforth really generate binary (exe-like), or are we talking 99% interpretive-compiler? 09:23:19 it doesn't compile to standalone applications yet 09:23:27 hey, dude - I'dlove to see a "picture" of the model in email ;-) 09:23:30 (outside of a few experiments I've done) 09:23:42 ok, so the turnkey stuff is elemental. 09:23:46 heh 09:24:08 * crc has never done any visual/detailed layouts of the model 09:24:15 turnkey stuff is raw and brand new 09:24:24 does the system recognize external libs/calls/args/returns? 09:24:46 crc: can retroforth do a gforthish "see func" ? 09:25:40 that is a feature 09:25:51 I'm close to having that 09:25:57 (optional, not built in) 09:25:57 inspect decimal 09:25:58 decimal: 09:25:58 808aa14: call 8048381 ; literal 09:25:58 808aa19: dd 10 ; 10 09:25:58 808aa1d: call 8048629 ; base 09:26:00 808aa22: jmp 808a9bf ; ! 09:26:07 ok, introspection is the first step to 'see' and exporting 09:26:11 right 09:26:31 I can resolve most of the stuff that's inlined, resolve addresses to names in the dictionary, etc 09:26:32 Retroforth is STC with tail-call elimination only? 09:26:37 no 09:26:38 ok, I think I have learned enough to be puzzled and quite interested. 09:26:45 I do inlining of some things now 09:26:50 "STC"? 09:26:52 Ah. Gets harder to SEE. 09:26:55 right 09:27:00 Subroutine Threaded Code, PoppaVic. 09:27:03 subroutine threading 09:27:04 ohhh 09:27:30 not a bad option, but not really "compact" 09:27:38 trades space for time 09:27:44 Quartus Forth's SEE maps the direct inlining back to names for all the kernel primitives. 09:27:48 I did a DTC (direct threaded) version once 09:28:20 I generally havebegun to believe it's a subengine+marker issue 09:28:39 Quartus: I have about 2/3 of the inlined sequences resolving to the names now 09:28:51 only portability and FFI cares 09:29:26 I rarely use SEE myself. 09:29:31 Very rarely. 09:29:44 oh, it's educational - but gforth sorta' hurts its value 09:30:01 a lot of gforth shows up as hex 09:30:19 in fpc and f83, it was SERIOUSLY useful 09:30:55 In gforth 6, it disassembles. 09:31:26 oh.. Never seen that, everytime I look for an upgrade I get ignored... Must be goddamned appleshit 09:31:54 see drop 09:31:54 Code drop 09:31:54 ( $40285C ) mov dword ptr 4168E0 , ebx \ $89 $1D $E0 $68 $41 $0 09:31:54 ( $402862 ) add esi , # 4 \ $83 $C6 $4 09:31:54 ( $402865 ) add ebx , # 4 \ $83 $C3 $4 09:31:55 ( $402868 ) jmp dword ptr FC [ebx] \ $FF $63 $FC 09:31:57 ( $40286B ) xchg eax, eax \ $90 09:31:59 end-code 09:32:01 sorry. Big blast there. 09:32:04 $ gforth -v 09:32:04 gforth 0.5.0 09:33:05 folks tend to forget pcode is generally reversable. 09:33:43 ..and asm, given a zero-start, is reversable ;-) 09:34:14 Likewise in Quartus Forth: 09:34:15 see drop 09:34:20 0 move.w (a4)+,d7 = DROP 09:34:23 2 rts = EXIT 09:34:23 Further... Folks tend to forget as well that HUMANS want to 'see' - interactive and slllooow. 09:34:39 just wrote an assembler for our new VM fovium in herkforth 09:34:49 * PoppaVic sees a shitload of hexdump 09:34:53 output opcodes for: "1 2 + dup * exit" 09:35:15 I checked the bits in a hexdump, and it appears to be correct 09:35:39 tathi's going to continue debugging the vm implementation after lunch and see if he can get this to run 09:35:58 JasonWoof: man, I hate that so many of us veer NEAR wtf I've been advocating for several decades *sigh* 09:36:24 PoppaVic: if you want it to be exactly the way you want it... do it yourself :) 09:36:36 PoppaVic, I'm still not clear on what you're advocating. 09:36:45 JasonWoof: bastard ;-) 09:37:42 Quartus: I think it begins with a forthish shell, and advances to decent FFI & a sythentic-assembler. But, that's my current take. 09:38:24 I'm just about convinced that 99% of the reason for direct asm is either limited tools/platform or perversions. 09:38:24 ZZ 09:38:43 sleep on, dufus 09:38:47 oh or rather un-ZZ :) I have been asleep 09:40:22 PoppaVic: some people really do prefer asm 09:40:31 Quartus: near as I can tell, almost all asm-related forthish code is just there to synthesize a cpu.. or help FFI - and C does much the same... ANd worst: the latter (at least) doesn't want to publish an ABI 09:40:32 as a programming language 09:40:54 JasonWoof: sure, and some feel perl or php is The Best - not my prob. 09:41:42 And you define ABI as what? 09:42:00 I think forth has always been so damned nitched/grassroots we have both an opening and and a lack of support 09:42:24 Quartus: the ABI is the FFI info to get to and from one binary to another 09:42:34 On the same platform. 09:42:38 yes 09:42:46 target/host are a higher issue 09:43:23 Two different C compilers on the same platform could possibly have different ABIs. 09:44:35 yeppers 09:44:50 normally that would suggest a cross-compiler 09:45:09 So how would a lonely binary indicate its ABI? 09:45:21 we have almost as many "infra-platform" issues as "intra-platform" 09:46:09 Quartus: well, usually ala' elf/mach/whatever loaders or file-magic - a binary is either cpu-executable or interpretable 09:47:06 Quartus: I'm just trying to get a workable handle on the mess, and frankly forthers are more likely to understand than asm or c-heads 09:47:11 Ok. So what do you mean when you say that C doesn't want to publish an ABI"? 09:47:45 it doesn't - there are no decent structs/funcs for stack-frames and such - we are not SUPPOSED to know.. 09:48:40 further, C (and inline asm) don't care to structure regs/use/preservation/volatile/save-me 09:49:13 all of these have a bearing, and I am beginning to think they can be codified. 09:49:35 ..at least as a record/of-file.for.... 09:50:39 So archeologists far in the future will be able to run SOL.EXE on their own computers? :) 09:51:17 Quartus: yer sounding like an asm-head ;-) 09:51:49 I cannot apply a sound-bite to you as easily, PoppaVic, because Forther or not, I am still quite vague on what you're looking for. 09:52:14 --- quit: snowrichard ("Leaving") 09:52:21 Quartus: then don't snuff me that easily... I can tell from the silence that the others are aware of at least facets. 09:53:01 Wasn't trying to stuff you, PoppaVic. My lightharded jibe was intended to draw out exactly what this is all in aid of. 09:53:33 Quartus: as I said hours ago, I still can't state the entire spectrum neatly in a doc.. I've been trying for two weeks. 09:54:09 Well, ok. If it's that hard for you yourself to write down, have some sympathy for the rest of us! 09:54:13 We basically have "issues" right from the cpu/system(bottom) right up to the topmost interpreters. 09:54:42 Quartus: I do, really.. It's Not remotely easy to grasp in one sitting 09:55:34 what bugs me (us?) is that autoshit sucks, and too many folks want to reinvent their goddamned wheels and cars over and over - everywhere. 09:56:58 I've just about concluded that we need an interactive "shell"/interp-compile/filter based on forth that IS 100% portable, but can head up or down as required - more or less portably. 09:57:48 Quartus: and it may require a c-based tarball "package" to generate the metacompiler to generate all other metacompilers - I can't quite decide yet. 09:58:04 * virl gets a headache 09:58:35 virl: xml will do that to you. Enjoy it. 09:59:18 Quartus: we are basically left with the ancient FIG idea of tools-to-make-tools. 10:00:16 PoppaVic for that sentence you should get the Idiot of the year award. 10:00:32 virl: you earned that far earlier 10:01:17 we have compiler-compilers We lack the underpins 10:01:22 haha, really? I don't think so. 10:01:41 that's nice, virl - and yer still (as usual) wrong 10:02:17 ... 10:03:01 Quartus: can we write an assembler-assembler? An interpreter-interpreter? do we switch one term for compiler or assembler? Forth is about the only mechanism that offers this situation. 10:03:28 PoppaVic, I never said that xml is the only solution for everything. so you are big hunky idiot 10:03:50 * PoppaVic shrugs 10:03:57 and yer still a waste of BP 10:04:26 now now kids 10:05:05 JasonWoof: I'm easy - I don't note anyone I respect torching me... I see either feedback or the silence of cogitation. 10:07:22 JasonWoof: I presume you and tathi (and crc) recognize the diff between asm and C - I'm beginning to wonder about how often the diffs matter. 10:07:55 compile versus assemble. Deliberate opcodes versus "do it" 10:08:46 I hate people who call me a kid. hell, what are your problem, when I'm getting a headache? 10:08:52 err...any interpretation you put on silence is only valid in your own head. 10:09:32 and...deliberate opcodes vs. "do it" probably almost never matters. 10:09:40 other than personal preference, of course. 10:10:58 in fact, "opcode" is a bad term.. Should be section+data 10:11:53 sorry? I thought opcode was a good term 10:11:58 tathi: no, I think not. When I am not jumped with hobnails by folks - like yerself - I think it fair to assume (or presume) some core ideas are correct, although specifics might need a beating. 10:12:41 tathi: nah, not really - an opcode is cpu. I went back a step and realized it was data in apropos sections that a ld-loader ate. 10:13:42 yeah, but opcode conveys the key component of assembling (as opposed to compiling) quite well, IMO 10:13:43 tathi: I'd prefer NOT to get mindtrapped into thinking "opcodes" are "assembly" - we get enough of that sorta' nonsense in #asm 10:14:36 remember, an 'opcode' is a cpu-specific instruction - there can be ptrs and a variety of data in there. 10:14:56 by itself, an opcode is usually useless 10:15:15 does anybody know something against a headache? I don't have an asprin at hand so 10:15:53 virl: try a .22 Pill 10:16:22 what is a .22 pill? 10:17:36 tathi: do you remotely realize how often it is to run up against folks that understand ABOUT forth, C, cpu's and platforms? #asm and even ##C is not going to help... Near as I can tell we are all either supposed to homogenize (poorly) or specialize. 10:18:09 it's not really enjoyable 10:18:21 and PoppaVic what is your problem with me? that I find xml sometimes useful? 10:18:34 and, (granted), I know FIG is long-dead... But it also had one hell of a run. 10:19:17 NO, virl: I find yer mouth writes checks you can't cash - yer xml is not even an issue anymore. 10:19:52 so why do you use it? 10:20:14 because it it all you want to defend/mention 10:21:24 AND, in your defending/comments, you tend to ridicule anything OTHER than yer xml-fixation. 10:22:06 You might as well be talking about unicode, from my viewpoint 10:22:52 or, shit: some particular ISO-foo for an obscure dialect 10:23:43 ANyway, no - I'm not against yer xml crusade, just tired of yer silly comments and defensiveness when called to task. 10:23:54 and I don't have any xml-fixation. 10:24:02 brb 10:24:06 --- quit: PoppaVic ("Pulls the pin...") 10:25:37 --- join: PoppaVic (n=pete@0-1pool46-103.nas30.chicago4.il.us.da.qwest.net) joined #forth 10:26:03 PoppaVic: who do you respect in here? 10:26:03 ok, so much for isp-sweeping 10:26:26 JasonWoof: yerself, tathi, Quartus and a another few. 10:26:50 respect is earned, not granted. 10:27:31 I can listen to you guys all day (sproingie is another), and my few questions are usually well-answered 10:27:52 I have the same issue in ##C 10:28:50 I can even respect a pencil-neck about "standards", when they are not noxious. God knows, I never spend too much time learning what the committee-commies "mandate" 10:29:25 I may fall off of your list, then, PoppaVic; I'm pro-standardization. 10:29:29 a good 80% of everything is "I got this to work 'here'" 10:29:59 Quartus: I doubt it. I like standard-cores, but I expect goddamned decent docs and limits. 10:31:02 Quartus: do you know why I stopped paying for FIG? They got too costly and debated horseshit that was better served as a goddamned blackbox. 10:31:22 I felt BAD about leaving FIG 10:31:29 Discussion about implementation details has its place. 10:31:34 sure it does 10:31:43 NOT in every fuckin' issue 10:32:08 it's like getting "Right TO Bear" crap in every godamned gun-rag 10:32:27 gimme' an issue a year with the political overview 10:32:48 ..leave the rest to clues/tips & ideas 10:32:49 Uh oh. PoppaVic is armed :) 10:33:05 heh - and shoots/reloads well, so what? 10:33:43 <- Canadian. Not so many guns in the hands of the average Joe up here. 10:34:07 the only "person" threatened is in the same boat as game: home-threats 10:34:22 I love venison 10:34:39 I'd be tempted to try long-pork, the way things are going. 10:35:03 plus, I just love stepping out the back door and punching paper 10:35:09 Militant Forth cannibal? 10:35:44 Quartus: sure, wtf? WHy not? I don't bug most folks and expect the same in return. 10:36:18 Quartus: I got tired too of walking downrange to collect arrows - too old for all that walking. 10:37:29 otoh, I do dearly love the programmatic methods of reloading and shooting. I find it closely akin to cooking - and all relates back to programming. 10:40:37 Quartus: anytime yer in the neighborhood, you get to buy lunch - but we can go out and plinksome ;-) 10:40:58 Deal. 10:41:11 I've offered to this to a few. Most will then find a reason to avoid ;-) 10:42:41 Our "five-pan" .22 target is just plain fun; I gotta' watch the sibs with rifles, cuz #3 son is forever destroying to 200yd target and then I'm stuck repairing the sob. 10:42:59 to 200/the 200 10:44:00 I *like* reloading and shooting.. It's sorta' a nice, calming alternative to coding, although not as "constructive" as code or leatherwork. 10:44:51 otoh, how many wallets or "cat" alternatives can you stand? ;-) 10:46:04 I still need a decent system to capture autoloader "ejection" - I hate shooting and losing brass. The .45 is notorious for that. 10:46:39 I dont' mix programming and firearms. :) 10:47:07 I did, but the gtk GUI I was working on got too involved, and I saw no interest from folks. 10:47:56 Quartus: think "data collection, sorting, collation and estimation" 10:48:31 yeah, reloading/shooting can be as bad as dbms and device programming 10:49:12 But, then too: it's FUN to see guesstimations and physical-effort prove-out a concept 10:50:01 There's a deeper philosphy at work there, PoppaVic. Zen and the Art of Gun Maintenance maybe. :) 10:50:09 perhaps 10:50:21 Fun instead of fear, maybe 10:50:48 ..which is what I tell newbie-coders as well 10:51:39 I got my wife turned on to it last year - she'd never shot anything in her life. 10:52:32 We got her a nice, antiquated herters 308 mauser-action. Man, she could make the boys jealous. 10:52:54 "paper-punching", mind you 10:53:53 woh... wasn't paying attention for a while, glance accross the chat history and see "Militant Forth cannibal?" 10:53:54 No handguns for her yet? 10:54:00 what have you guys been talking about? 10:54:07 guns 10:54:08 just 22, 380 and my 45 10:54:16 mmm 10:54:17 The application of firearms to programming, JasonWoof. 10:54:21 * JasonWoof continues to not pay attention 10:54:30 JasonWoof: reloading/shooting as a programmatic alternative ;-) 10:54:38 I'm just listening. 10:55:27 Quartus: I "just listen: to a lot as well ;-) Some code, some reloading/shooting, and some cooking ;-> 10:56:50 tathi: well, as I already toldcha' whom I listen to and why, I'm coasting painlessly - just for fun. ;-) 11:00:42 PoppaVic: enjoy :) 11:00:59 * tathi is working the wrinkles out of this VM implementation 11:01:24 tathi: please share laters? 11:01:59 yup. 11:02:07 well, I was going to wait until I did a C implementation 11:02:44 tathi: I'd love to see and help 11:03:20 face it: as is, my current project is more ideas that solutions 11:03:27 that/than 11:07:35 well, once I'm sure this is working, I'll write up something more than indecipherable notes so you can see what's going on. :) 11:09:18 --- join: crapcoder (n=crapcode@host86-131-187-90.range86-131.btcentralplus.com) joined #forth 11:09:58 anyone around? 11:09:59 tathi: deal, I have spoken with Quartus and I am now off for chow and a nap - stay well, folks. 11:10:06 --- quit: PoppaVic ("Pulls the pin...") 11:10:44 There's a few of us here. What's up? 11:11:00 does anyone know if quartus forth runs on a tapwave zodiac2 handheld? 11:11:30 crapcoder, it certainly should. 11:11:38 heh. you're in luck. :) 11:11:44 Have you tried it? 11:12:12 no not yet, I heard about it but haven't got round to doing anything about it yet 11:12:19 but i will do now :) 11:12:19 That's PalmOS 5.2, which shouldn't present any problems. 11:12:30 Grab the eval, load it up. 11:12:36 I'm Neal Bridges, btw. 11:12:37 nice, should make a good xmas pressie 11:12:53 oh the author 11:13:05 Heh. 11:14:17 Glad to help if you have any trouble. support@quartus.net if I'm not here, or of course the Discussion Forum -- http://quartus.net/discus 11:14:41 No probs, my friend uses quartus, he designs missile systems and telemetry systems for F1 teams 11:14:44 he loves it 11:15:02 High praise; sounds like he knows what he's talking about. 11:15:10 the missile systems are for the military btw not F1 11:15:46 Maybe he can get me a military contract for a few thousand copies, I need the sales. :) 11:16:00 I'll ask :) he prototypes his ideas using quartus 11:19:48 nice talking to you, must go, my babies need me !!! 11:19:51 --- quit: crapcoder ("Leaving") 11:23:42 that sounds very farmilliar 11:23:47 What does? 11:23:53 the missile guidance stuff 11:23:59 I think it's a friend of I440r or something 11:27:54 oh :) I found out how Google's image safe-search thing works 11:29:11 yeah? 11:30:42 click-through rate 11:32:45 probably also weighted by other text on the page 11:37:13 bbl! 11:39:26 no, it's click-through rate 11:40:00 a good friend of mine was talking to a google employee and asked about it 13:27:25 --- join: sproingie (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 13:38:55 --- join: lscd (n=lscd@adsl-213-180-182-5.cybernet.ch) joined #forth 13:57:31 ChuckBot the Cursor now posted at http://colorforth.info see the link on the left. 15:32:23 --- join: FULIGEM (i=fuligem@200-147-46-141.tlm.dialuol.com.br) joined #forth 15:32:32 --- part: FULIGEM left #forth 16:02:53 --- join: Amanita_Virosa (n=jenni@CPE0000e812679b-CM000a7362da55.cpe.net.cable.rogers.com) joined #forth 16:04:59 Quartus, ah, a fellow Canadian. ;) 16:08:11 --- join: _I440r (n=foo@rrcs-24-242-160-169.sw.biz.rr.com) joined #forth 16:08:33 <_I440r> <-- has food poisoning 16:08:36 <_I440r> bleh 16:08:46 :( 16:08:51 Sorry dude. Burnt toast! 16:08:53 Or something. 16:08:56 <_I440r> etting over it slowly 16:09:08 ick. that sucks 16:09:09 <_I440r> i love burnt toast! 16:09:17 <--- has solvent fume poisoning 16:09:19 <_I440r> but i dont got ant bread 16:09:26 Ahh, nuts. 16:09:44 * madgarden has something-in-my-eye poisoning. 16:09:48 <_I440r> i dont got anything here 16:09:53 It's all puffy and itchy. :( 16:10:01 <_I440r> thats yer finger 16:10:17 Waitaminit... THAT's not my finger!! 16:14:43 _I440r, what did you eat? 16:16:42 --- join: snoopy_16 (i=snoopy_1@dsl-084-058-153-231.arcor-ip.net) joined #forth 16:18:37 <_I440r> i went to a bbq joing with a buddy. we both had the beef but i had a small sample of turkey and he didnt 16:18:39 <_I440r> he didnt get sick 16:19:12 Ahh, turkey. Yes, I avoided it at the last BBQ I went to. 16:20:50 <_I440r> me too... next time 16:20:57 <_I440r> in fact i dont think ill eat there again 16:27:00 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 16:27:15 --- nick: snoopy_16 -> Snoopy42 16:30:10 --- join: Robert (n=snofs@c-4f78e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 16:32:05 --- join: snoopy_16 (i=snoopy_1@dsl-084-058-149-079.arcor-ip.net) joined #forth 16:41:56 --- quit: tathi ("leaving") 16:43:00 --- quit: Amanita_Virosa ("Not feeling like chatting anymore.") 16:43:32 Hm. 16:43:48 That kind of reminds me why I quit... 16:46:57 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 16:47:09 --- nick: snoopy_16 -> Snoopy42 16:58:28 --- join: snoopy_16 (i=snoopy_1@dsl-084-058-129-169.arcor-ip.net) joined #forth 17:02:01 --- quit: Robert ("Do it right or do it Freenode. :-)") 17:13:48 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 17:13:53 --- nick: snoopy_16 -> Snoopy42 18:56:15 madgarden, yes. Where are you from? 18:56:35 nm, says Kitchener here. 18:56:59 Yep. And you? 18:57:06 Toronto. 18:57:18 Cool. So... 18:57:20 Why Forth? :) 18:57:27 You need to ask? :) 18:57:59 why is forth better than Lisp? :) 18:58:06 Heh no, but still... I like to hear different people's reasons. 18:58:22 * docl just read a Paul Grahm talk 18:59:34 Forth's game is tight. Beautifully simple, but complete and powerful. Structured, efficient, and elegant. 19:00:22 Not built to be mathematically perfect, but shaped by experience into an excellent tool. 19:01:08 Word! 19:01:21 what if (like me) you don't have much experience? 19:01:41 Also, it bends... no, molds itself willingly to your desires. 19:01:44 I'm referring to the language itself. Already shaped to fit the hand, as it were. 19:03:47 can you get more done with forth than lisp? 19:04:48 * docl ponders the outcome of a debate between #scheme and #forth people 19:04:52 I would certainly be able to, but then I'm not an expert on lisp. 19:05:07 Scheme doesn't have to be bad for Forth to be good. 19:05:38 aye 19:09:47 I wonder what seperates the communities the most, the culture or the syntax. and whether the two are closely related 19:10:21 I don't find myself wondering about it. 19:10:27 I guess mathematical "perfection" is one aspect of scheme that attracts more academically minded people 19:10:48 whereas forth seems to attract more pragmatically minded people 19:11:00 I'm certainly a pragmatist. 19:11:13 Ditto. 19:11:39 And a simpleton. ;) So Forth's directness and simplicity suits me. 19:12:02 hehe 19:12:21 I like the simplicity too. Coding in-line tests, for instance. Interactive testing at the console. Fast compilation straight from source. 19:13:39 Ahh, the interactivity is a dream. Especially when poking at hardware during development. 19:14:09 how do you do that? 19:14:09 That's the classic example, but even during non-hardware-based development it's very useful. 19:14:31 @ hardware poke :P 19:15:06 Depends on the hardware, of course. 19:15:26 hmm 19:16:08 how much do you need to know about the hardware to poke at it? 19:16:47 madgarden's generalizing about exploring a new piece of hardware, with Forth embedded in it. 19:17:01 I know I have an x86 processor and a ps/2 keyboard, and a USB mouse 19:17:39 docl, you don't need to know anything to poke. :) 19:17:58 so just type random keys on the keyboard? 19:18:10 gotta be some trick to this :) 19:19:15 Heh, no, of course not. 19:19:22 Obviuously you'll have some idea of where to poke. 19:19:50 In my case, I actually wrote a server application for our hardware, with Forth embedded in it, and exposed the hardware through various driver calls and such. 19:19:59 So, I could cause the thing to beep, dim the backlight, etc. 19:20:16 cool 19:20:17 And while constructing my automated tests, this was quite useful. 19:20:24 Forth gets a lot of use in embedded systems. Suppose you'd created a robot arm; you could define words for every type of movement the arm could perform, and then interactively test them singly and in combination. 19:20:56 And there's no reason why this ease of interactivity shouldn't be applied to any kind of application. 19:21:06 Game scripting is a prime example. 19:21:15 This is my main use of my own Forth. 19:21:35 yeah. well python has an interactive console. schemes do as well 19:21:55 But you have to type stuff that looks like code there. :) 19:22:00 (for the most part) 19:22:18 docl, sure. Learn Python. Learn Scheme. Learn Forth. 19:22:26 It's easy to create an English-shell-like interface with Forth. 19:22:49 Without having to type ls("*.*"); etc. 19:23:18 I do like that Forth words become first-order operators in the language. No special calling convention. 19:23:38 Yep. 19:24:05 It's really my #1 reason for using Forth. 19:24:08 yeah, handy. special conventions are kind of irritating 19:24:32 Mold the syntax to meet your interactive purposes easily in Forth. 19:28:17 I just don't know what my interactive purpose really is, or can't define it, or something. 19:28:42 I like forth, I just don't know how to really *use* it 19:29:05 same goes for scheme and python, actually 19:29:20 ChuckBot spam goes here 19:29:28 Use it to write your application in its own language. Use Python to write your application in Python's language. 19:29:41 * Raystm2 likes scheme and python, but loves forth especially colorForth. 19:30:27 colorForth hasn't engaged my interest. 19:30:44 I used crc 's word `later' ( pop pop swap push push ) to create the chess language that ChuckBot uses. 19:31:19 I have to look into that LATER word... never really grokked it. 19:31:27 Quartus: that's prob'ly a good thing, as I have not been able to use anything else since I got a handle on colorForth. 19:31:52 What makes it stand out so markedly for you, from, say, Standard Forth? 19:32:38 ya madgarden: LATER pops off the return stack the last two return points, swaps them and drops them back in. 19:32:43 might be that I simply need something more newbie-friendly than retroforth 19:32:45 It's really clever. 19:33:06 Raystm2, sounds like a technique for implementing coroutines. 19:33:20 to be honest, Quartus I just seem to grok colorforth better than forth. 19:33:49 Raystm2, sounds like you do. I had a look at it; I didn't see anything all that fantastically different. 19:33:54 but i'm sure sure that's because I didn't develop the "other forth' and if I had I would understand it better. 19:34:06 --- part: docl left #forth 19:34:20 --- join: docl (n=docl@67-138-198-36.bras01.mcl.id.frontiernet.net) joined #forth 19:34:28 wb :) 19:34:52 pressed C-w too many times 19:34:55 heheh 19:35:02 you didn't miss anything :) 19:35:08 switching from opera to galeon does that to ya 19:35:15 oh 19:35:17 qu 19:35:20 oops 19:35:59 Raystm2, sounds neato. "later" I might have called rswap, I think. Or xswap. Even "after". But anyway. ;) 19:36:07 Quartus: I don't think that there is truely much different. In a way, colorforth is bondage language. 19:36:11 * madgarden seems to have problems with retroforth word naming. 19:36:29 madgarden: /me calls it `to' in the chess game 19:36:32 Raystm2, yes -- seemed somewhat austere for the sake of it, and when I saw it you had to have a certain video card to use it. 19:36:56 word naming can be a pain to figure sometimes 19:37:00 Heh, "to" is normally used for assigning to locals. 19:37:21 docl, that's why "Forth" could use a language overhaul. 19:37:30 madgarden in forth sure, in colorforth there is no `to' 19:37:34 maybe that's forth's weakness 19:37:46 achilles' tendon or whatever 19:37:47 I think it's Forth's weakness for acceptance in the mainstream. 19:37:49 Yep. 19:38:01 It needs to be more like BASIC so that it is fun and easy for people to jump into. 19:38:14 forth's weakness is that too many people want credit for 'simplifing' the language with bloat. 19:38:15 And the stack, as cool as it is, just confuses the hell out of most people. 19:38:33 but any language where the words keep changing is hard to figure 19:38:51 heck, computer science in general is that way 19:38:56 The words don't keep changing, docl, unless you redefine them yourself. 19:39:03 docl, and one of Forth's main strengths is its syntactical malleability, so you can't avoid the changes. 19:39:13 all the words in a forth program should be specific to that program and you need to read each word in context. 19:39:20 Yep. 19:39:23 right. the weakness is it's strength 19:39:47 The thing is, many people just want rigid standards. Boundaries. 19:40:02 --- join: saon (i=1000@c-66-177-224-235.hsd1.fl.comcast.net) joined #forth 19:40:03 Forth, dispels all of that. 19:40:10 The freedom to be a bad programmer is still there, just as it is in C, Python, Perl, BASIC, etc. 19:40:12 Forth is the wheel-reinventor's dream. 19:40:25 Quartus, I'm sure it's amplified in Forth. 19:40:26 Quartus :) 19:40:36 madgarden ;) 19:40:51 dream or nightmare :) 19:40:57 The freedom is too much for most people. :) Only the 1337 few can handle it... 19:41:02 I don't think it's amplified in Forth, in fact, though I know it's the popular opinion. 19:41:13 It really depends on the programmer. 19:41:15 Completely. 19:41:19 everybody here knows that i'm a real wheels sales man by day, right. I work for Casters of Fort Worth. 19:41:57 The worst Forth I've seen doesn't come from bad programmers, it comes from the type of programmer who may actually be pretty good in the other language he knows -- Fortran, or C, or BASIC. So he writes that language, but uses Forth to do it, and the result is hideous. 19:42:03 and you'd be suprised how many times the wheel has been re-invented. 19:42:17 hehe 19:42:23 yeah, there are all sorts of wheels 19:42:43 type of wheel depends on the application 19:42:54 the best dolly wheel of all time was only invented last year. 19:43:06 I'm sure my Forth has a distinct C or BASIC leaning to it. 19:43:10 it's based on the rubber band :) 19:43:26 Though I try to be Forthy, I really do. :') 19:43:47 madgarden :) 19:44:01 --- join: amca (n=plump@as-bri-3-123.ozonline.com.au) joined #forth 19:45:02 --- quit: _I440r (Read error: 104 (Connection reset by peer)) 19:45:13 http://slashdot.org/ ... 19:45:15 503 Service Unavailable 19:45:15 another major change I think is the whitespace. you need to put spaces between every word. 19:45:15 The service is not available. Please try again later. 19:45:16 The positive swing to that pendulum is when a programmer becomes good at Forth; the code he then writes in C, or what have you, is then written in a Forth-like style, and is better for it. 19:45:17 :O 19:45:34 Quartus, I agree with that. 19:45:38 forth-like C is better than regular C? 19:45:42 colorForth, for me, takes the inventors invention, and after 30 years or so of use, leaves you with the best ideas the inventor invented. Not so different from forth, but refined is the proper term. 19:45:48 and docl, I think we'll solve that problem with smart delimiters. ;) 19:46:03 Got any urls for examples of Forth-like C? 19:46:12 colorforth is for factoring on a major scale. 19:46:14 Yes, better factored, primarily, with the problem thought out more in advance the way Forth encourages. 19:46:20 docl, Forth-C is well factored. 19:46:28 ALso, it's kept simpler. 19:46:38 Not complex for complexity's sake. 19:46:50 ok. so it's a good psychological training tool 19:47:01 I see too many programs that seem to just want to be "clever" over anything else. 19:47:19 amca, if I may be so bold as to characterize typical C, you might see functions as much as a page in length, with heavy use of globals and locals. 19:47:24 And it usually involves overuse of polymorhism, templates, etc. 19:48:02 A good Forth programmer's C will show a great reduction in function size, reduced use of locals, etc. 19:48:05 * amca nods 19:48:05 Quartus, with the crap code I have to work with at my job, I wish the functions were only a page in length. ;) 19:48:22 lol 19:49:07 ok, this is a good argument for forth IMO 19:49:11 Quartus: Ive always had the instinct to have lots of small functions in programs instead of larger monolithic functions. I thought it was just a fault in my coding style. 19:49:17 Good Forth in C: 19:49:17 void my_func(){ read(); the(); data(); swap(); dup(); add(); } 19:49:20 ;) 19:49:28 mad, I sure hope not :) 19:49:33 HEHE 19:49:37 that it trains you to make nicely factored functions whatever the language you use afterwards 19:50:09 hehe 19:50:11 Seriously, this code I work with has nested switch/case statements that go on for hundreds of lines. 19:50:34 All the functional code is in the switch statements, not placed in any functions. 19:50:38 It's HELL. 19:50:41 people have a literary instinct to make intricate stories 19:51:04 A good Forth programmer might see an opportunity to turn a huge switch/case statement into a table of function pointers, for instance. 19:52:28 Well Im coding in Python a False, and Ive just got all the "switches" (actually elif's/else if's) pointing directly to functions unless they are only one line each 19:52:31 Too bad about my deadlines. ;) 19:52:47 Quartus: Oooh! I forgot about doing that. Thanks for reminding me 19:53:56 gforth is a console forth. Is there a "xforth" so to speak? 19:54:33 All Standard Forths are console Forths. What do you mean by 'xforth'? 19:54:36 docl, what OS are you running? 19:54:40 amca: why not just wrap xlib with a forth 19:54:59 linux 19:55:46 Well with python you can type "python" at the shell and it gives you a console interface to it, but if you use "idle" instead, you get a basic gui ide 19:56:24 Which provides what facilities? 19:56:39 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 19:56:39 docl, Minforth is a decent little Forth for hacking and learning on, I think: http://home.arcor.de/a.s.kochenburger/minforth.html 19:56:46 It's SEE and VIEW come in quite handy. 19:56:47 I would imagine an "xforth" would have a widget that shows the stack and the wordlist etc 19:56:57 s/It's/Its/ 19:57:04 like it woiuld have a widget which would sho see 19:57:08 That sounds fancy. You won't need it after about a week, though. 19:57:14 What does VIEW do? I know SEE 19:57:16 Idle is Pythons IDE, It provides colored code and lots of help. 19:57:59 VIEW displays the source code. 19:58:16 * amca checks it in gforth 19:58:36 doesnt SEE to that too? Are they just synonyms? 19:58:54 SEE is a Standard word that decompiles a word in one form or another. 19:59:00 SEE is a visual decompile of the code, whereas VIEW is the actual source code. 19:59:16 VIEW isn't Standard. Where I've run across it, it will take you into an editor/viewer and show you the original source from the file. 19:59:27 ah 19:59:40 yeah, forth doesnt have it 19:59:42 --- join: ayrnieu (n=julian@ip68-13-110-105.om.om.cox.net) joined #forth 19:59:48 VIEW isn't standard, but it's commonly implemented. 20:00:00 And MinForth has it, which was what I was getting at. 20:00:25 ayrnieu welcome back ;) 20:00:30 Im checking out MinForht now :) 20:00:40 s/ht/th 20:01:10 --- quit: ayrnieu (Client Quit) 20:02:48 --- join: ayrnieu (n=julian@ip68-13-110-105.om.om.cox.net) joined #forth 20:04:38 What I saw of RetroForth looks like a console version of the features I was thinking might be in an "xforth" 20:05:28 Lots of people first coming into Forth think they can't live without breakpoints, single-stepping, all the features of a full debugger. 20:06:12 Forth's commonly implemented text debugger is more than adequate. 20:06:27 Not that you even need it with incremental interactive testing. 20:07:24 It would be nice not to type ".s" all the time but to have it on my screen while I work. I think I will check out retro forth more. But if you factor properly that minimises the need for breakpoints right? (and you can always implement a temporary "print" statement) 20:07:50 Yep. 20:07:55 Wanting to constantly see the stack is a hurdle; you'll clear it. 20:07:55 --- quit: LOOP-HOG (Read error: 104 (Connection reset by peer)) 20:08:34 Quartus, perhaps, but that kind of feature (among other things) is what initially keeps the interest of newcomers. 20:08:47 They should certainly be allowed to see the stack easily while they're learning the concepts. 20:08:57 Well Im sure in time my mind will automatically accurately see the stack in my ,minds eye, but as I am starting out, I need to constantly check my mental model of the stack with the actual stack to double check if I know what is actually happening 20:09:07 Sure. .S covers that ground, though, without providing a pop-up window for it. :) 20:09:09 amca you can always redefine `ok' to add `.s' to it... 20:09:11 Bingo. ;) 20:09:34 I didnt know about that 20:09:46 amca, not every implementation will allow that. 20:09:48 amca, are you running Windows? 20:09:52 : ok ok .s ; 20:09:54 Linux 20:10:01 FC3 20:10:17 see ok 20:10:17 *the terminal*:5: Undefined word 20:10:31 that should work in a forth that provides ok and .s 20:10:31 gforth, indeed, does not have an OK 20:10:43 wha/ 20:10:44 ? 20:10:49 checking... 20:11:06 An "ok" in a foth would be sensible so that you can redefine the interpreter response 20:11:20 Version 2 of Quartus Forth adds dots after 'ok' to show the number of items remaining. 20:11:20 hmm...maybe it is called "interpret" 20:11:33 amca, pForth displays the stack output as a prompt: http://www.softsynth.com/pforth/ 20:11:43 It's one of the Forths I started out on. 20:12:01 madgarden: tnx 20:12:06 madgarden - I hate such things. 20:12:24 amca, when you're working right, you'll be dealing with one, two, three, or sometimes four items on the stack at a time; they're not hard to keep track of. A sanity check to see if you've got a balanced stack is a good idea. 20:12:32 ayrnieu, that's fine, but beginners feel safer with them there. 20:12:42 * ayrnieu was a beginner at one point, you know. 20:12:45 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 20:12:48 Quartus: Shame I dont have a Palm yet :) 20:12:58 ayrnieu isn't every beginner out there, though. :) 20:13:07 * Raystm2 too amca :( 20:13:16 Get out there and buy one! :) I need the sales. 20:13:24 hehe 20:13:34 You can get palms quite cheaply on ebay. 20:13:36 * Raystm2 thinking rebate 20:13:45 * Raystm2 thinking kick back 20:13:51 You can also get other bodily appendages, but those don't work so well for Forth. 20:14:02 hehe 20:14:04 * amca is on pension - waiting for my bro to replace his palm so I can by his hand-me-down. 20:14:18 join #c4th-ot 20:14:35 What is #c4th-ot 20:14:39 ? 20:14:48 amca - a BOF channel for people interested in colorforth, I suppose. 20:14:53 think it's the colorforth off-topic channel 20:15:16 ya loop 20:15:59 hi 20:16:41 ayrnieu: vas is das BOF, please ? 20:16:49 raystm - 'birds of a feather'. 20:16:54 ah 20:16:59 amca: it is a channel 20:17:27 : flap /join #c4th-ot flap ; this is a loop in colorforth. 20:17:56 Not a useful loop, but a loop. :) 20:17:58 raystm - channels that accumulate 'regulars' tend to operate as BOFs as those regulars discuss anything and everything other than the ostensible topic. 20:18:19 well the topic channel = #c4th. 20:18:23 raystm - this confuses and enrages those who are new to IRC. 20:18:26 but i get the point 20:18:34 ack :) 20:26:19 The fact that #c4th is publically logged, does a nice job to keep down the crap-chatter. Thats why #c4th-ot is provided. and yes, it's mostly filled with regulars and and anything goes, much like here. 20:28:33 You know, I was scared to join IRC from the time it started till about a year ago. 20:29:08 All I ever heard was that it was full of spammers and namecollectors and virus programmers. 20:29:36 * madgarden adds "Raystm2" to his collection. 20:29:46 * Raystm2 was so glad to find out different 20:29:48 madgarden :) 20:30:17 But i havent' stayed to far from the 20 or 30 chats i frequent. 20:33:42 --- quit: ayrnieu (Nick collision from services.) 20:34:08 --- join: ayrnieu (n=julian@ip68-13-110-105.om.om.cox.net) joined #forth 20:36:23 Has anyone played with the native version of retroforth? 20:36:46 I'll bet crc has. 20:36:51 lol 20:36:58 I msg'd him but no answers 20:37:17 Actually I better ask my Q in #retro and not crosspost 20:39:19 amca its okay to address crc, he's here as much as in #retro, just he goes to bed pretty early. 20:39:40 I think he may be in bed already 20:39:55 oh yes forgot to say, he went to bed already :) 20:40:05 hehe 20:40:19 we keep in contact daily as I use some of his retro ideas in colorforth. 20:40:43 Raystm2: Have you done a native retro floppy? 20:42:59 sorry amca, I work primarily in colorforth. I've never done a thing with retro, i'm sorry to admit. 20:43:06 that's ok 20:43:11 save to steal from it :) 20:43:16 :) 20:43:37 No, you are not "stealing", you are "paying homage to" ;) 20:44:17 you aren't stealing in any case -- not unless you finish your homage by removing those features from retroforth. 20:44:26 I keep upto-date copies on my machine and constantly promise crc that i will use it. He wanted me to code my forth chess to it,, but has beat me to it waiting too long. 20:44:45 ha ha! sayth you, the pirate, after gutting crc over his computer and leaving retroforth bland and featureless. 20:44:53 ayrnieu: Depends how you define "stealing" ;) 20:44:54 yes I always give props where they are due :) 20:45:47 offical "talk like a pirate day" was the 19th 20:45:55 Har har. 20:45:59 :P 20:46:06 "_ 20:46:40 oops left handed smilie while I got a Dr. Pepper, should have been :) 20:46:50 lo 20:46:53 l 20:47:41 2010: keyboards will have a smilie on every key and a meta key to shift to that register. 20:52:57 --- quit: LOOP-HOG (Read error: 104 (Connection reset by peer)) 20:54:11 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 20:54:25 wb LOOP-HOG ;)( 20:54:35 :^) 21:07:08 --- quit: madgarden ("?OUT OF DATA ERROR") 21:08:33 Do most ppl implement dictionaries as hashtables, linked lists, or hashtables with the entries having pointers to the "next" entry (ie hashtable and linked list at the same time)? 21:09:07 --- join: madgarden (n=madgarde@Kitchener-HSE-ppp3577151.sympatico.ca) joined #forth 21:09:52 amca I can only speak for colorforth but the dictionary is in 2-2part pieces 21:10:09 there is a macro dictionary and a forth dictionary. 21:10:21 part one of each is the names list 21:10:35 Im not familiar with macro stuff 21:10:50 part two of each is the address to the code -- pointers, kept the same depth as the name 21:11:22 in colorforth macros are machine code or abstractions of that machine code. 21:11:38 the macros make up the compiler in most cases 21:12:17 As in the dictionary entry is like { name, code_ptr } ? 21:13:50 colorforth is very different then even forth. 21:14:36 ok 21:15:15 based on the same ideas as forth it goes that much further to make things much more simple. 21:15:59 colors replace punctuation. 21:16:09 a red word is a dictionarly entry 21:17:21 a red word entered into the forth dictionary will put that word 'here' in the dictionary. which will be the next place in the names portion because adding a name also moves 'here' just past the name. 21:17:51 but in the address portion of the dictionary will go at the same depth of the name dictionary , the address in the image where the code is defined, 21:19:06 calling a word uses 'find' or in the case of macros 'mfind'. whiich finds the depth of the name and uses that depth to find the address of the code in what ever block it happens to reside in. 21:20:05 this is possible because the editor packs words as byte code in the block as the word is added to the block. 21:20:08 amca, Quartus Forth's dictionary is a hashtable with separate chaining, which is a fairly common technique. 21:20:39 thanks Quartus for comming to my rescue :) 21:20:54 Sorry, didn't mean to interrupt! 21:21:22 not at all, like i said earlier, I know colorforth and that's about it, I can use the help as much as amca ;) 21:22:11 amca, you know there's a False interpreter written for Standard Forth. A 386 compiler for it, too. 21:22:29 I'm sure amca needed your answer more than mine, 21:22:47 * Raystm2 googles False. 21:23:07 If I remember right, amca said he wanted to try writing a False compiler. 21:23:15 It's a tiny forth-like system. 21:23:23 I need more that False to find in google. 21:23:26 False forth? 21:23:36 false "programming language" 21:23:44 ack thanks :) 21:24:02 and there it is :) 21:24:21 ooh there's a wikipedia entry... 21:25:03 haha what is this thing like br***FUCK? 21:25:17 and so it is 21:25:19 Somehow I think you ***'d out the wrong part. 21:25:20 hehe 21:25:25 thats' great. 21:25:43 sorry I ducked out for a bit. Reading all the messages while I was gone 21:26:41 the other day some of us, I believe docl and myself atleast, defined a language called PUZZEL that is developed soley on combinations of pop swap and push in as many different combinations that you can come up with. 21:27:39 --- quit: ayrnieu (Read error: 110 (Connection timed out)) 21:28:17 Im writing a False interpreter in Python, then a False compiler in Python (compiled to my own Simple VM) and then Im thinking of replicating it in forth and seeing how I go. 21:28:35 Thought you might benefit from seeing how it's handled in Forth, given that's the direction you're headed. 21:29:32 The reason I am creating a Flase interpretr/compiler is that False is kind of like a super-minimalistic Forth, and by implementing a interpreter/compiler, I will learn more about postfix langs. 21:29:42 Quartus: Yeah, thanks, that will be useful. 21:30:32 Raystm2: hehe. How does one to aritmetic in it? 21:30:56 Alonzo Church numbers 21:31:43 I believe I saw them in wikipediaq the other day and got spun out by them and moved to another topic 21:31:58 :) 21:32:03 that's them then 21:32:09 lol 21:32:41 Quartus: You dont happen to know the Forth False interpreter's name do you? 21:32:53 Found it linked off the main False page yesterday. 21:33:06 OK 21:33:08 Ill lok there 21:33:15 Aaaargh! Fuck 21:33:29 http://wouter.fov120.com/files/lang/false/forth_false.zip 21:33:43 Hoyt wrote it. 21:34:06 Sorry - pissed off that RetroForth Forum registration doesnt register my email as valid 21:34:20 Hoyt pops in here doesnt s/he? 21:34:27 He. I don't know. 21:35:21 amca crc will want to know that i'm sure. 21:35:27 I thought I saw "hoyt" the other day in here 21:36:22 oh hell that's a line noise language, I cant even make some of those charaters :) that's great! :) 21:36:57 Raystm2: There is a version of it that replaces the Flush operator with B and the pick op with O 21:37:01 * Raystm2 will have to break out the "alt-numberPad" editor. 21:37:11 lol 21:37:18 hehe 21:37:23 ok thats good. 21:37:42 --- quit: crc (Read error: 110 (Connection timed out)) 21:38:57 --- quit: LOOP-HOG (Read error: 104 (Connection reset by peer)) 21:39:00 It is the "portable C interpreter" version included in the distro 21:39:26 False is a toy. You'd do better to roll up your sleeves and implement the Standard CORE set, if implementation is your goal. 21:39:50 I havent checked the False programs yet to see if they have an "old style False" to "new style False" converter yet. If they havent I was thinking of coding one 21:40:29 Quartus: Exactly - a toy which means it is simple and so easier to get started in. It is best to start out building model planes before you start building real ones 21:40:46 Quartus: I dont have enough coding experience and Im using this task to increase it 21:40:54 In fact the work is very similar, but if you implement CORE you wind up with something you can use, instead of something like False. 21:41:23 http://wouter.fov120.com/files/lang/false/forth_false.zip 21:41:33 that's a c forth? 21:41:37 Raystm2: Yep, Ive d/l'd that already thanks 21:41:45 ack thanks 21:41:49 C Forth? No. It's a Forth False. 21:44:50 Glypher is my current favorite forth and I don't even know how to use it yet. It takes retroforth 7 and 8 to create colorforth that you can run in windows to create games. But the neatest thing about it is that you can create one-letter-Glyphs for each definition. 21:44:54 --- quit: virsys (Connection timed out) 21:45:15 hehe 21:45:28 if you are so inclined. 21:45:46 * amca googles it 21:46:05 each glyph could be a pic that you draw that is a visual word instead. 21:46:27 it's in beta, you have to get it from Roger Levy. 21:46:34 I think. 21:46:42 might find a link for it somewhere. 21:48:10 I promised Roger ( rabbitwhite in these chats) that I would test it once ChuckBot the Cursor was done, and all I need to finish ChuckBot is to do the movies and the screen shots, 21:48:31 What is ChuckBot? 21:48:38 which I should be doing instead of watching SNL and talking to uses guys :) 21:49:07 oops yous not uses, yous is chicago for you :) 21:49:20 heh 21:49:36 http://colorforth.info/cb0508211617.html 21:50:29 that site is currently unannouced so dont expect much. and i've already made changes to the ChuckBot chess code, but theres the draft. 21:50:44 you only need the first few paragraphs to get what ChuckBot is. 21:51:28 Wow. That is definitely not self-documenting code, Raystm2. 21:51:31 --- quit: sproingie (Remote closed the connection) 21:52:14 :( sorry. 21:52:22 * Raystm2 will work on it. 21:52:32 I'm guessing colorForth makes it hard. 21:53:26 the dictionary can only find the first 32bit word and not the extension of a packed word, but I cant use that as an excuse for my name choises. 21:53:59 this was written as quickly as I could, which took weeks :) 21:54:07 It's the literal values that throw me off first, I have no clue what they are. 21:54:29 can you give me a 'such as" please? 21:54:31 288. 8a. 125107. 21:54:59 e4. 21:55:00 ah okay first one 288 21:55:22 that and e4 and 8a are pentium op codes 21:55:30 e4 = in 21:55:46 Raystm2, no offense, but YIKES! I'd be better off in assembler at that point. 21:55:47 those are macros. 21:56:03 yes those ARE assembler macros. 21:56:24 Pretty badly in need of heavy commenting. 21:56:33 colorForth is built on assembler macros 21:57:06 yes and colorforth provides for that by using even numbered blocks for code and odd for textual descriptions 21:57:30 or you can do like i did and html-ize the code and fill in the docs below each block. 21:58:02 that value you saw, 125107 21:58:09 the word before it is var 21:58:21 For sure the appeal of colorForth is lost on me thus far. I saw a page on doing "Hello World!" in colorForth, and even the best effort was dismal. 21:59:04 well believe it or not that is a variable construct in colorforth, where the current value of the variable is actually stored in the block where it is defined. 21:59:10 heh 21:59:27 the hello-world example in herkforth is... stupid? 21:59:28 hey that best effort was mine btw :) 21:59:33 s-hello ctype 21:59:38 hehe 21:59:56 s-hello being a string containing "Hello World!" 22:00:00 Raystm2, I see that. Sorry. But it's dismal. 22:00:08 : hello s-hello ctype ; 22:00:09 --- join: amca_ (n=plump@as-bri-4-1-189.ozonline.com.au) joined #forth 22:00:20 No reflection on you, it may be a spectacular achievment in colorForth, but as code, dismal. 22:00:29 --- join: snowrichard (n=richard@adsl-69-155-177-155.dsl.lgvwtx.swbell.net) joined #forth 22:00:33 hehe no it's just part of how different colorforth is from what you used too. :) 22:00:52 what did I miss? Last I got was that site is currently unannouced so dont expect much. and i've already made changes to the ChuckBot chess code, but theres the draft. 22:01:14 Raystm2, if I have to punch in every string as a set of packed hex digits, there's not going to be any 'getting used to'. 22:01:22 hehe nothing i'm just being bashed ( and not that hard) for working in a dismal language :) 22:01:40 no you don't have too, there is string handling code now. 22:02:05 hehe 22:02:06 Built in? 22:02:08 remember, there is much to be done here. 22:02:27 nothing is built in save a few things to get the editor going. 22:02:52 after that everything is extensible. 22:03:02 Ok. I'll check back in a year or so. 22:04:05 hehe okay but give it about 10 as colorforth is 15 now and I, ( the only colorforth coder in the world not working directly for CM) have a ways to go to make it Quartus-able hehe 22:04:32 --- quit: JasonWoof ("time for the old 28.8ks nap") 22:04:33 I think I'd enjoy False more. 22:04:54 funny you sould say that, as obfuscated as it is, 22:05:26 colorforth is truely the funnest language i've tried out of the 18 languages i've learned/ 22:05:54 also the easiest to understand fully. 22:05:58 I prefer a language where I can sit down and write code without having to know the literal value of the machine language instructions for whatever machine I'm sitting in front of. 22:06:22 I thought so as well, till I started to learn them. 22:06:44 Runs rather radically opposite to the notion of portability. 22:06:53 I like the option to do both 22:06:53 its not portable. 22:07:26 you have to recode it for every machine that has a different chip or different hardware for the most part. 22:07:36 This, to me, is not progress. 22:07:47 BUT, i was able to code the smallest chess in the world with it. 22:08:04 well, maybe not the kind of progress we are all used to, 22:08:23 in future, those problems will be attacked as necessary. 22:08:31 Glypher is such an example. 22:08:57 Glypher will be another non-portable non-standardized Forth-like system? 22:09:21 Gypher currently runs on any and all windows boxen 22:09:38 it will run on anything that retroforth runs on eventually 22:09:58 but an os-less port seems undoable currently. 22:11:10 Maybe it's similar to when I learned APL. Achieving anything useful with a bondage&discipline language feels like a huge victory, you get this glow of accomplishment. 22:11:19 lol 22:11:22 lol 22:11:24 ya 22:11:32 that's true I did feel that :) 22:11:40 I learnt Pascal before I found out about C 22:12:02 amca did you learn Pascal with Karel the Robot? 22:12:14 nope 22:12:15 At uni 22:12:23 ah okay. 22:12:45 well that's what ChuckBot is, a Karel The Robot for colorforth. 22:12:59 in Python it's called Guido van Robot 22:13:12 Anyway, Raystm2, thanks -- that's educational. I hadn't realized that colorForth, beyond it's syntactic novelties, was so painfully and deliberately hamstrung. 22:13:20 They are training environments for thier perspective languages. 22:13:27 I'm to bed. 22:13:28 hehe 22:13:36 good night q 22:13:42 Good night 22:13:49 Ah, I see :) 22:15:12 it's not all as bad as Quartus makes it out to be. 22:15:34 Its worse? ;) 22:15:42 probubly :) 22:15:56 lol 22:16:19 I'm sure i'm nieve, but learning the pentium op codes was not that bad and now I can use them in any of the 18 languages i code in. 22:16:48 --- join: virsys (n=virsys@or-65-40-182-104.dyn.sprint-hsd.net) joined #forth 22:16:54 well, I prob'ly wouldn't use about 10 of them ever.... 22:17:03 --- quit: snowrichard ("Leaving") 22:17:39 I started having a look at x86 asm and found it too inelegant and so looked for more elegant asm to code in. 22:17:45 but i think its funny cuz I get the Quartus reaction every time I share code with real programmers. 22:17:59 --- quit: amca (Read error: 110 (Connection timed out)) 22:18:34 which code? the x86 or colorforth? 22:18:46 ya, and thats what colorforth is really , a forth built ontop of a very close assembler, It makes assembler easy for me at least. 22:19:07 How do you show colorforth code in IRC? 22:19:08 colorforth 22:19:28 links to html-ized web pages. 22:19:37 ah 22:19:52 its nothing to run colorforth thru an html-er as its all byte code in the image 22:20:25 What if someone doesnt have a colour html renderer? 22:20:35 Are they stuffed then? 22:20:56 --- join: ayrnieu (n=julian@ip68-13-110-105.om.om.cox.net) joined #forth 22:21:08 there's a brand new one at http://colorforth.info coded by Josh ( tathi ) Gram 22:21:23 or you can get the one from Mark Slicker at his colorforth site. 22:21:43 besure to get the style sheet to go with. 22:22:09 tipically they are called "cf2html" 22:22:49 tathi's is called cf2html-jg.exe and I did a windows version at that link 22:22:55 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 22:23:13 or if you have a *nix, look in the read me file for the code and run it instead. 22:23:59 ah 22:24:47 --- nick: amca_ -> amca 22:26:11 for my money, this colorforth is the finest example of a minimalist language out there. 22:26:33 I would have thought a forth written in binary would be :P 22:26:35 most people get frustrated because they dont have the machine or the knowledge to run it. 22:27:02 hm...that's an idea - binary/machine-code forth 22:27:13 colorforth was originaly written in binary using windows debug. 22:27:29 by Chuck Moore. 22:27:50 Colorforth developed from his chip design software called OKAD 22:28:33 he coded OKAD in hex using the windows debug. Eventually he found need for a script engine and that is what colorforth came from. 22:28:54 then he recoded OKAD into OKADII using colorforth as the programing language. 22:29:01 But you cant enter it in binary, only hex. Besides, wouldnt he have used the assembly feature of debug? 22:32:12 hex yes that's right. and you are most likely right about the assem feature, as I don't know debug at all. But he claims to have coded it with hex in debug on his site and in text and movies at http://www.ultratechnology.com/rmvideo.htm 22:32:22 ah 22:32:31 Ill have a look 22:32:37 :) enjoy 22:32:44 Just I know I have assembled simple .com files in debug 22:33:20 wish I knew how to do that :) 22:33:46 I know one debug command and I sometimes use it for creating colorforth disks 22:34:13 Im pretty sure there is a basic tutorial for debug asm online 22:34:22 Ill have a look for you 22:35:08 but it is simple 22:35:28 you just type in "A" to start assembling I think 22:35:51 * Raystm2 tries this :) 22:36:39 for a .com file make sure it starts assembling at 0100 in the current CS 22:36:51 (org 0x100) 22:37:09 And I think you can get away with terminating the program with an RET 22:37:22 huh? cool :) 22:37:27 But I dont recommand running it unless you want to reboot your computer a few times etc 22:37:48 Instead of using the "Terminate Process" DOS Function 22:37:55 * Raystm2 quits being so ambitous 22:38:02 hehe 22:38:21 DOSBOX emulates DOS doesnt it? If so, debug in there 22:38:31 * Raystm2 wrote bye.bat to make command window disappear 22:38:32 It shouldnt crash your computer then 22:38:52 I see, sure. 22:39:21 Just double check me on DOSBOX emulating before you take my advice pls 22:40:20 Raystm2: http://www.armory.com/~rstevew/Public/Tutor/Debug/index.html 22:41:11 oooh thank you so much !! :) /me needs that ref :) 22:41:23 you get the best links here 22:42:27 hehe 22:42:39 Im glad I can help after all the help Ive gotten in this channel 22:43:06 these channels are great imho 22:43:45 i've liearn more in the last 10 months in these chats... then in all the tutorials i've taken in 12 years online 22:43:54 hehe 22:43:58 Yeah, I know what you mean 22:44:09 It can be addictive learning and helping ppl on here 22:44:15 least i learned how wrong i am :) 22:44:27 * Raystm2 will never give up on colorforth :) 22:44:40 so what nobody can run it. 22:44:51 so what it will most likely never be portable. 22:45:00 I like that fact 22:45:20 I wanna build a security thru obscurity with it and make millions :) 22:45:29 lol 22:45:55 now any good mathematicians and a good hardware genius. 22:46:02 now = know 22:46:04 Why not make your own proprietry Forth VM then, that way it would be easy to port to different hardware 22:46:15 Not myself 22:46:55 but that's the poiint, if you write the thing to work only with certain hardware then you'd have to have that hardware to run it. 22:47:27 you can use the net to send and recieve cheaply, and still be uncrackable. 22:48:30 LOL 22:48:31 people who have actually tryed colorforth say worse things about it then Quartus :) 22:48:36 "uncrackable" does not exist 22:48:43 lol 22:48:49 okay okay but you get the point 22:49:03 virtually uncrackable is not quite uncrackable ... 22:49:50 Vut a proprietory VM would obfucate it more wouldnt it? Especially if Forth runs on an implementation of INTERCAL on top of the VM ;) 22:49:51 but hell hire the cracker with a contest. for him to keep his job he has to keep other crackers out, or otherwise he's replaced by the better cracker. 22:50:03 Intercal :) 22:51:32 Raystm2: Have I asked you how you got into Forth? 22:51:39 no 22:51:47 I was searching.... 22:52:00 go on 22:52:09 those 18 languages started with a search for free tutorials online 22:52:33 I couldnt' afford to go to school as I'm old and have children 22:52:34 :) 22:53:14 eventually I found colorforth about 10 years ago and was facinated by it but could not understand it. 22:53:20 ah 22:53:25 I learned other languages in the mean time. 22:53:31 Do you mind me asking how old? 22:53:54 eventually I decided to learn colorforth about 2 years ago, and learned several forths for that purpose. 22:53:59 42 in two weeks 22:54:04 what languages are you most familiar with? Which ones were you most familiar with before you learnt forth? 22:54:38 Im 30 22:54:59 --- quit: LOOP-HOG (Read error: 104 (Connection reset by peer)) 22:55:28 my alltime favs are Python, LISP( minimal ones I can get my head around) Scheme. ( forth and colorforth ofcourse), Perl is line noise to me but i didn't spend long there. 22:55:59 I like languages with interpreters where you can test things early 22:56:10 * amca nods 22:56:35 then I got off on a tangant and tryed all the screwy langs like Befunge and Br***fuck.. and the like 22:56:43 hehe 22:56:48 Esoteric langs 22:56:51 right 22:57:06 buy I always knew I was heading back to colorforth. 22:57:10 --- quit: virsys (Read error: 110 (Connection timed out)) 22:57:23 hehe 22:57:29 I wrote a chess in gForth called B18chess, just to learn forth. 22:57:32 Did you play with False? 22:57:43 not yet but now i will :) 22:58:04 I would regard it as a kind of "esoteric minimalistic forth" 22:58:07 i didn't know until tonight that somany langs derive from it. 22:58:33 right that sounds right up my ally :) 22:58:44 You get the url for it? 22:58:53 yes thanks 22:58:59 the one from Quartus. 22:59:05 yep 22:59:15 cool got it 22:59:34 forth.txt on the site is the manual in the distro 22:59:39 i've seen the name but I think i bought into the wrong hype about it. 22:59:48 ack manual. 22:59:54 which hype did you buy? 23:00:19 Trust me - you will probably need to read it to avoid just saying "oooh...look at all the pretty line noise" 23:00:20 well, you know, it's a conversation like the one earlier with Quartus. 23:00:47 I've learned to just trust my own judgment. 23:01:05 not care so much about what others think. 23:01:14 this is the colorforth hardening of the arteries 23:01:15 * amca nods 23:01:26 Different ppl have different preferences 23:01:39 sure, and they are all correct of course. 23:01:54 No. Only mine are. ;) 23:02:10 truely typed my new friend :) 23:02:35 lol 23:02:43 Have you come across SEDForth? 23:03:09 no, stopped with the bohemeths of gforth and win32forth. 23:03:29 but i did do um what was it called... 23:03:39 MVP forth 23:03:59 Im just looking at it now - crc wrote a Forth implementation in SED 23:04:07 an ansi 19seventy something forth. 23:04:21 cool I didnot know that. 23:04:29 he's very prolific 23:04:35 I searched for Forth in Freashmeat 23:04:41 he just finished retroforth8.1 today 23:04:44 Yeah, I was suprised he did it 23:04:49 ya he posts there alot 23:04:56 Ah, I didnt realise that 23:05:28 he keeps telling me to announce there my "colorforth achievements" as well but i never do... 23:05:49 Because there are none? ;) 23:06:08 what if Quartus reads it and posts a missive :) 23:06:16 Didnt you say there might be some in 10-15 yrs? 23:06:22 lol 23:06:41 I just came across 23:06:43 hehe no ive done alot with colorforth over that last 2 years 23:06:51 http://freshmeat.net/projects/toadskin/ might interest you 23:06:54 Ah 23:06:55 cool 23:07:20 You tend to think a lot, then code; or code, then rethink? 23:07:29 i really did write the smallest coded computer chess operatiing system in the world with colorforth, for one. 23:07:39 hehe 23:07:47 Where is the code for it? 23:08:21 um lets see, I think thinfu has that posted some where, give a sec. 23:08:26 about thinking and codeing. 23:08:41 k 23:08:45 I do alittle of both, I think I have the answer 23:08:56 then I code and test and of course its all wrong 23:09:21 then I sleep on it and I wake up with the right answer, many times this has happened. 23:09:36 I tend to run the code in my head as I go to sleep. 23:09:43 I wake up with a thinking hangover. 23:09:44 I spend like years just designing my stuff and making short attempts to start coding before I change my mind about the project again. Im trying to change that 23:09:50 hehe 23:10:07 yeah, my brain seems to come up with goods after sleep too 23:10:09 ya, you can over think a solution I think. 23:10:46 I think dreams are your brain's way of processing/sorting info you encountered in a day 23:10:46 hehe re you link 23:10:58 i believe that as well. 23:12:02 * Raystm2 reading the homepage from that link and enjoying it 23:12:10 hehe cool 23:12:16 this guys funny :) 23:12:33 lol 23:12:36 "Why? 23:12:36 If you have to ask, then you have never been stuck in a hotel room in Fort Worth with no internet access." 23:12:44 oooh I can do puzzel in this language 23:12:54 ahhahaha 23:13:07 lmao 23:13:28 * Raystm2 lives in fort worth so I only need a hotel room here when I'm kicked out :) 23:13:40 isn't it pronounced "Ft. Worth" ? 23:13:56 I spell it Forth Wort any more. 23:14:22 it's pronounced Fut Werth 23:15:17 lol 23:16:22 man that toadskin is ever clever 23:16:35 kinda like a forth brainfuck 23:16:41 I know I can code Puzzel in it. 23:16:42 yes 23:17:34 Puzzel is created ( in mind only by) docl and my self and uses combinations of pop, swap, and push to do everything, think lisp like constructs for everytihng. 23:18:01 * amca nods. 23:18:06 I remember you saying before. 23:18:16 Using some weird way of aritmetic 23:18:56 I think Id prefer to code toadskin more than brainfuck 23:19:13 you could do :1+;:2++; etc 23:20:01 nah, write in Brainfuck. 23:20:02 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 23:20:04 aaragh 23:20:15 aaargh, spit spit hlagh shudder horror damn all memes everywhere. 23:20:28 "nah, write in Befunge." 23:20:29 hehe 23:20:46 hmmm 23:20:50 I once did a major decomplie of brainfuck code by hand. 23:21:00 all of you brainfuck-pimping losers finally got to me >_< 23:21:08 hehe 23:21:17 Raystm2: As in the bf code, or the bf interpreter code? 23:21:41 yes 23:21:45 both 23:21:49 lol 23:22:06 I took the code and did what the compiler did and also did the compiler for good measure. 23:22:07 At that time had you misplaced your life? ;) Although I can understand wanting to do it. 23:22:17 yes 23:22:22 that is also true 23:22:28 very depressed time for me 23:22:48 Brainfuck saved my life, just as IRC did 10 months age. 23:22:52 ago even 23:23:14 I suffer the world of the manic 23:23:35 a project like that can get me thru 23:23:40 if i focus 23:23:40 Ah. 23:36:24 raystm - please write me a N-dimensional time-travelling extensible (as 'tame'ly as possible) befunge system in ANSIish gforth. Thanks :-) 23:38:09 done oops i spilled Dr. Peper all over it shit/ 23:38:25 lol 23:38:45 You killed my dream machine! You bastard! 23:39:00 oh well, I'll write a nurikabe system tomorrow. 23:39:24 sue me. 23:39:28 sue Dr Peper 23:39:37 sue somebody 23:40:06 sue Texas for being so hot that Dr.Peper only ever explodes out of the can when you pop the top. 23:40:59 how do you like texas? 23:42:54 onna stick? 23:44:48 hehe 23:45:13 texas is _okay_ i guess, I like cooler climbs to be physically productive... 23:45:45 people are really proud to be from here and they are tipically babtist but we don't hold that agin'em. 23:45:45 hmm, texas, 'shot first and then talk' 23:46:04 virl hehe that's the perception i guess. 23:52:27 so no gun under your pillow? ;-) 23:59:59 --- log: ended forth/05.08.27