00:00:00 --- log: started retro/06.08.16 04:27:17 --- quit: virl (Remote closed the connection) 04:40:37 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 05:22:18 --- quit: Cheery (Read error: 110 (Connection timed out)) 05:23:23 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 05:57:30 --- join: jas2o (n=jas2o@WNPP-p-203-54-32-199.prem.tmns.net.au) joined #retro 06:00:18 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #retro 06:22:33 --- quit: jas2o ("Chatzilla 0.9.74 [XULRunner 1.8.0.1/2006012608]") 06:29:32 --- quit: docl (Read error: 110 (Connection timed out)) 07:50:10 --- join: docl (n=docl@74-36-211-202.dr01.hmdl.id.frontiernet.net) joined #retro 09:09:27 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 09:28:13 --- quit: virl (Remote closed the connection) 09:32:49 --- join: Ray_work (n=Raystm2@adsl-68-94-190-80.dsl.rcsntx.swbell.net) joined #retro 09:33:17 --- quit: Ray_work (Client Quit) 10:55:39 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #retro 11:02:11 --- join: virl (n=blah@metagw.funkfeuer.at) joined #retro 11:29:50 Update: http://retroforth.net/paste/?id=135 11:30:02 Now with compiler security. 11:41:59 neat! 11:43:07 Thanks. Fun thing to write. 11:43:58 There are still a number of easily-written ANS words that I'll add as time permits. 11:44:28 that's cool 11:44:57 * docl will have to study the ANS differences in detail 11:45:17 It already passes coretest, and compiles large ANS things like Baden's Mersenne Twister code (with the float stuff taken out). 11:45:55 I can give you the 30,000-foot overview of things I had to change to make RetroForth compliant, if you wish. 11:46:25 (Let me amend my earlier claim -- it almost passes coretest. There are a couple of tests that fail.) 11:49:04 * docl is unsure if he can understand the whole overview at once 11:49:15 but feel free to try :) 11:50:11 --- quit: virl ("Leaving") 11:50:43 ANS requires that a new definition can't be found until it's completed. RetroForth works the other way, as soon as you start defining a word its name is findable. 11:51:21 ok 11:51:33 ANS requires that Standard words be findable if specified in UPPERCASE; RetroForth is case-insensitive. 11:52:07 it is? I thought it was all-lower 11:52:08 An ANS interpreter accepts double-cell numbers with a trailing or embedded '.'. RetroForth's interpreter only accepts single-cell numbers. 11:52:45 it's all upper. But I didn't want to make all the Standard words uppercase-only, so with crc's help there's a clever solution that permits either while still leaving the compiler case-sensitive. 11:53:03 cool 11:53:22 The ANS SEARCH wordset provides multiple wordlists, whereas RetroForth has only one. 11:53:47 So the module overcomes all of that, and adjusts any existing RetroForth words that had other-than-compliant definitions, and adds any words that it didn't have. 11:54:25 And a few extra bits and pieces -- CATCH/THROW exception support with text messages, compiler security. 11:55:23 ANS allows for lower-case words to be found too, it doesn't mandate case-sensitivity -- but a Standard system guarantees that if you search for the UPPERCASE versions, they'll be found. 11:56:36 Oh, another thing -- RetroForth's constants and variables, when ticked, don't return an xt. You can't do 5 constant x ' execute x . 11:56:36 ah, ok 11:56:46 oops 11:56:46 I mean 11:56:53 you can't do 5 constant x ' x execute . 11:57:18 right 11:57:19 So the ANS layer fixes that too. 11:57:34 why does the standard require this, I wonder? 11:57:46 It requires that any word, when ticked, returns an xt. 11:58:40 Consistency. 11:59:05 ahh 12:00:11 For instance, ' true alias my-true fails in rf. 12:00:29 Works in an ANS system (or with the ANS layer in rf). 12:01:16 It's a testament to crc's work that I've been able to do this implementation entirely in source. If he made a small change to the way >IN is implemented, I could produce a wholly-compliant system. 12:01:31 :) 12:02:08 Sheesh, I'm talking from a random orifice. alias isn't an ANS word. But you get my point, hopefully. :) 12:02:19 so ANS really emphasizes consistency, whereas retro emphasizes minimalism where possible 12:02:29 hehe 12:02:58 You can have both. Having variables and constants do something other than return an xt when ticked is not maximally minimalist. 12:06:24 I wouldn't call RetroForth a minimalist system, at any rate. It may have started that way. Presently it's not all that far away from Standard, as the layer I wrote shows. 12:07:14 The layer passed coretest (nearly) when it was much shorter than it is now, before it had exception handling and double-number support. 12:07:20 yeah perhaps it's really getting to be more of a standard-ish system 12:07:45 the Rx core of retro is more minimal in nature. 12:08:53 --- quit: Cheery (Excess Flood) 12:09:38 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 12:18:25 --- quit: Quartus__ (Read error: 60 (Operation timed out)) 12:57:36 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-103-120.pools.arcor-ip.net) joined #retro 12:59:57 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:00:44 --- quit: Snoopy42 (Nick collision from services.) 13:01:23 --- nick: snoopy_1711 -> Snoopy42 13:05:07 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 13:29:54 --- quit: timlarson_ ("Leaving") 13:38:31 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #retro 14:16:19 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #retro 14:41:30 --- quit: nighty_ (Client Quit) 19:33:16 --- quit: virl (Remote closed the connection) 22:57:57 --- part: Quartus left #retro 22:58:03 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #retro 23:59:59 --- log: ended retro/06.08.16