00:00:00 --- log: started retro/12.12.11 00:58:00 --- quit: tangentstorm (Ping timeout: 264 seconds) 01:21:00 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #retro 01:21:08 --- quit: karswell (Remote host closed the connection) 01:31:25 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 02:05:04 TRG: actually it's about a programming language called retro, formerly retroforth. But many of the people who hang out here also seem to have an interest in older computers. :) 02:09:38 --- quit: karswell (Remote host closed the connection) 02:19:53 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 05:57:14 --- quit: karswell (Remote host closed the connection) 06:07:31 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 06:39:37 --- quit: karswell (Remote host closed the connection) 06:44:28 --- join: beretta (~beretta@cpe-107-8-120-84.columbus.res.rr.com) joined #retro 06:49:53 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 07:28:40 --- quit: karswell (Remote host closed the connection) 07:38:55 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 08:07:04 --- join: kumul (~kumul@66-50-75-241.prtc.net) joined #retro 08:13:33 hmm.. I've just incorporated {{ --reveal-- and }} into my forth... very handy indeed. 08:15:58 :) 08:18:02 it was a brain tease.. though... I'm forth eviroment didn't separate dictionary hearder from code so I had to institute that first. 08:18:31 then institute vocabularies.... 08:18:46 then "local defs" 08:19:11 hopefully the "local defs" are truely local... I'm not sure how they'll act if nested. 08:20:22 --- quit: kumul (Remote host closed the connection) 08:20:36 --- join: kumul (~kumul@66-50-75-241.prtc.net) joined #retro 08:20:37 i was using them in a pascal compiler yesterday. i actually didn't test nested procedures... that's a good question 08:21:12 --- quit: kumul (Client Quit) 08:21:37 they should offer something like lexical scope, but you'd have to push them on and off a stack if you have recursive calls 08:21:50 at least how they work in retro 08:21:52 --- join: kumul (~kumul@66-50-75-241.prtc.net) joined #retro 08:21:57 Its a bit confusing: I have the dictionary lists, and the header compile areas, and the code compile area all jumbled around in my head. 08:22:29 they're also all jumbled around in ram, as far as i can tell :) 08:23:27 my {{ pushes (saves) the old info, and }} restores... so I think it'll work. 08:23:57 and the search list is a stack, so is the header and code compile areas 08:24:36 or really: "backwards" stacks... they grow up in memory. 08:24:49 like "CP" (or HERE ) 08:37:05 hmm.. my target can't produce curley-brackets... oops! 09:44:29 --- quit: karswell (Remote host closed the connection) 09:47:44 wow. what are you targeting? 09:52:17 an m6809 Tandy Color Computer 2/3 09:52:47 huh :) pre-ascii? 09:52:54 the CoCo2's charactor generator/keyboard doesn't have "{" or "}" 09:53:20 nope... just a crappy all uppercase version of ASCII 09:53:32 6-bit? 09:53:38 yup 09:53:49 cool 09:54:31 well... this forth (hopefully) will be my last. 09:54:45 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 09:55:14 I went with a VM so this forth can run on anything I can write the VM for... lua,C,6809 ASM, x86 ASM, etc.... 09:56:14 a friend want to write a JAVA VM-VM for it. 09:57:44 I should have used Retro, really... it's Ngaro VM would be fairly easy to port. 09:59:49 --- quit: karswell (Remote host closed the connection) 10:01:32 ngaro is pretty cool... and it already has a bunch of ports :) 10:03:08 truely. 10:04:04 oh well... my VM is tailored, and only have about 30 "primitives" to port. 10:10:03 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 10:10:13 beretta: do you have a spec for your vm online? 10:10:34 nope, not yet. 10:13:05 ok 10:13:08 probably the most notable differences from Ngaro are: data and return stacks (and pointers) are addressable locations in the "Memory Store" 10:14:55 I had thought about doing that, but couldn't find a way to handle it cleanly without exposing internal registers 10:14:58 there are some "implimentation" primitives such as MINT (minimum int) and MEMZ (memory size).. 10:15:39 yeah... I have the standard primitives: "sp! sp@ and rp! rp@" 10:17:24 but my VM (called Legs) has pretty much the same inherent direct threading as Ngaro 10:18:28 'cept for primitives are any xt less then 0x100, rather then 30, as this is easier to test for on small, old machines, like the m6809. 10:19:50 and no * or / either. (many old machines didn't have these) 10:20:20 what did they use to multiply? 10:20:32 shift-left. 10:20:52 :) 10:21:40 granted, there are asm/C routines that do this... but what's the fun in that? 10:22:35 so my forth cross-compiler (and my native forth itself) doesn't support "BASE". 10:23:18 it only understands hexidecimal number. I was thinking of dropping native support for numbers, anyway. 10:23:51 you don't really need numbers to boot-strap forth, just words.. 10:26:01 I figure I could write a nicer ">number" routine after I bothered writing * and /.... the DTC threading used by Ngaro and Legs make it easy to redirect previously define word's actions. 10:27:53 which is what I did to bootstrap/modify the base native forth to compile headers/code separately, and vocabularies, and "{ --reveal-- }", and the such... I just started redirecting old words. 10:47:14 --- quit: tangentstorm (Ping timeout: 276 seconds) 10:49:40 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #retro 10:56:04 --- join: intothev01d (~intothev0@unaffiliated/intothev01d) joined #retro 11:18:27 tangentstorm: is the pl/0 compiler far enough along to be worth porting to parable? 11:31:50 crc: well, i cheated on the part that pushes and pops local variables, but other than that, the whole language is implemented 11:38:22 --- part: foucist left #retro 11:43:56 tangentstorm: sounds good; I'll work on a parable port 12:23:39 --- quit: karswell (Remote host closed the connection) 12:33:53 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 12:51:45 --- join: impomatic (~digital_w@46.208.131.194) joined #retro 12:56:42 --- join: Mat2 (~Claude@91-65-144-133-dynip.superkabel.de) joined #retro 12:56:46 hello 12:57:02 Hi Mat2 :-) 12:57:20 hi impomatic ! 12:57:28 what's going on ? 12:57:58 Not much. I've just moved house. Unpacking boxes :-) 12:59:22 oh, this is nice for spending hours recognizing things never seen before :) 13:00:26 I have a few boxes to take out of storage that I haven't seen for 12 years! Quite a bit of computer stuff in there... At least 40 8-bit computers :-) 13:00:50 impomatic: are you on the CoCo chat channel too ?!?! :) 13:00:57 wow, what computers ? 13:01:05 hi beretta 13:01:11 hey Mat2 13:05:42 beretta: Do you know stack hreading ? I've read this technique would be very efficient for the mc6809 13:05:53 sorry mean stack threading 13:06:01 (these Apple keyboard) 13:06:23 :) stack threading... no like using one of the stacks as a IP ? 13:06:34 yes 13:08:00 unless there's some magic behind it, I don't, without checking the m6809 instruction set, see where a speed up would be from using the X index register. 13:10:11 not that I'm an authority on m6809 or forth for that matter... 13:10:25 do not know either, probably that was used by a forth for the 6309 ?!?? 13:10:36 From memory: various models of Spectrum, MSX, Commodore, CoCo, Acorn and a few more obscure - Hektor, Sam Coupe, Cray OWS 13:11:25 I own an Oric ATMOS and Tandy MC10 13:14:28 hey guys! 13:14:33 ahm you descibe a Cray as home-computer ? 13:14:40 hi tangentstorm ! 13:15:10 i want a cray :) 13:15:52 I hear you can get a cray on ebay now. 13:16:04 haha cool 13:16:26 tangentstorm: in the pl/0, the condition for ifTrue in the while loop handler should not be in a quote 13:16:55 * tangentstorm looks 13:17:01 hi crc ! 13:18:02 * Mat2 wonders about the energy demands of a Cray installed at home 13:18:10 do'h. i guess it just is always evaluated to true because the quote isn't at 0. yikes. thanks! 13:18:18 Mat2: well it fits in my house. It's slightly bigger than the fridge! 13:18:28 *lol* 13:20:01 you might want to purchase some liquid N2 also :) 13:20:54 apart from recursion and proper locals (not sure how to handle these yet...), the compiler can generate parable code which works ok 13:21:07 nice :) 13:21:22 bazaar.launchpad.net/~crc-x/+junk/pl0-variants/ 13:22:22 crc: i can fix the proper locals... basically just need to add to that list of local variables incrementally in accept_var 13:23:02 in the "real" compiler it'll also walk the procedure definition and only attempt to preserve variables that are actually used again 13:26:27 impomatic: What operating system do you use on the Cray ? 13:26:41 impomatic: i bought that adventure games in pascal book... that's what inspired the whole retro text adventure thing :) 13:33:52 --- nick: Mat2 -> Mat2-coding 13:33:53 Mat2: I've no idea. I checked it booted, ran a cracker on the password file, but that's about it. I picked it up for £20 from a government surplus warehouse! 13:35:30 Tangentstorm: haven't finished reading yet on account of moving... I think I'll write an adventure in Forth. 13:36:10 you should take a look at the data stored 13:36:14 £20 for a cray. whoah. 13:36:27 nice investment 13:38:03 It's a Cray OWS. It's a mini computer, not a super computer - no gold wiring :-( 13:38:32 you know 386's are now selling for like thousands of dollars because people want to harvest the gold? 13:38:54 there's a weird curve in the prices... 386=really expensive pentium=almost worthless :) 13:39:05 at least on ebay 13:46:49 --- quit: karswell (Read error: Connection reset by peer) 13:47:43 hmm, the tms9900 cpu was gold soldered (ti99/4a) 13:48:37 nice to have one beside the awful design of these computer 13:57:06 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 14:32:14 --- quit: karswell (Remote host closed the connection) 14:37:09 assigning NIL to a pointer in freepascal aotomaical frees it allocated memory, nice ! 14:37:19 ^automatical 14:37:35 yep 14:37:57 on some things 14:38:08 does pascal have globals yet? 14:38:12 :) 14:38:17 no 14:38:22 not really anymore 14:38:32 only module-level globals 14:38:35 oh they got rid of them again? 14:39:00 everything is in a module 14:39:15 can modules contain modules? 14:39:56 there's an iso standard that uses the term "modules" but almost everybody actually uses borland pascal, which has "units" 14:40:01 neither are nestable 14:40:15 but procedures are nestable, and each procedure is its own namespace 14:41:08 beretta: https://github.com/sabren/b4/tree/master/ng <- ngaro virtual machine in pascal 14:42:28 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 14:53:37 --- quit: karswell (Remote host closed the connection) 14:54:39 crc: https://github.com/tangentstorm/PL0-Language-Tools/commit/a8e253cc8ae25b7329afad970b390b7d6e6ed1ad <- proper treatment of local variables 14:55:25 i didn't use "preserve" because i might have more than one name... 15:03:53 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 15:07:19 nice. I'll merge this into the parable branch as well 15:10:51 did you add output then? :) 15:11:39 --- quit: impomatic (Quit: #rudolf .nose { color: red; background: url('very_shiny.jpg'); }) 15:20:44 no, but I'll pack output into an array and display that in the stack view 15:25:31 ok, peephole optimization works and opcode sheduling for in order designs too 15:29:47 and the compiler uses the register file as data stack 15:44:40 ciao 15:44:43 --- quit: Mat2-coding (Quit: Verlassend) 15:56:40 ok, locals patch is added 15:56:58 all I need is my fake output and parable support for recursion... 16:22:05 --- quit: karswell (Remote host closed the connection) 16:27:44 --- quit: TRG (Quit: Leaving) 16:32:23 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 16:33:42 my pl/0 now puts output into a named slice 17:05:05 crc: hmm... do you have some kind of view to display a slice then? 17:21:38 only the decompiler 17:21:58 I'll work up something better soon 17:23:52 if i add array type displays to the stack output, this would be simple 17:38:48 i like the new ui 17:42:20 --- nick: tangentstorm -> tangentsleep 20:26:38 --- quit: kumul (Quit: WeeChat 0.3.9.2) 20:32:32 --- quit: intothev01d (Quit: intothev01d) 23:04:59 --- quit: beretta (Ping timeout: 276 seconds) 23:33:35 --- quit: karswell (Remote host closed the connection) 23:43:49 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 23:59:59 --- log: ended retro/12.12.11