00:00:00 --- log: started forth/15.08.07 00:03:43 mornin+ 00:13:33 --- quit: TodPunk (Ping timeout: 244 seconds) 01:06:56 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 01:16:11 --- quit: zhiayang (Quit: Textual IRC Client: www.textualapp.com) 02:05:52 --- quit: atommann (Ping timeout: 255 seconds) 02:50:40 --- quit: xyh (Remote host closed the connection) 03:13:26 --- join: true-grue (~grue@95-27-155-136.broadband.corbina.ru) joined #forth 03:14:43 --- join: atommann (~atommann@58.251.2.94) joined #forth 03:20:01 --- quit: atommann (Ping timeout: 252 seconds) 03:20:23 --- quit: ksj (Ping timeout: 244 seconds) 03:20:23 --- quit: tangentstorm (Ping timeout: 244 seconds) 03:20:34 --- join: ksj (~ksj@104.238.174.103) joined #forth 03:25:56 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 03:29:30 --- join: true-grue_ (~grue@95-27-155-136.broadband.corbina.ru) joined #forth 03:31:26 --- quit: true-grue (Ping timeout: 244 seconds) 03:45:23 --- quit: nighty^ (*.net *.split) 03:45:23 --- quit: joneshf-laptop (*.net *.split) 03:45:24 --- quit: DKordic (*.net *.split) 03:45:25 --- quit: _longines (*.net *.split) 03:45:25 --- quit: pointfree (*.net *.split) 03:45:25 --- quit: phadthai (*.net *.split) 03:49:28 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 03:49:28 --- join: joneshf-laptop (~joneshf@98.208.35.89) joined #forth 03:49:28 --- join: DKordic (~user@93-86-154-138.dynamic.isp.telekom.rs) joined #forth 03:49:28 --- join: _longines (~longines@static.95.25.4.46.clients.your-server.de) joined #forth 03:49:28 --- join: pointfree (~pointfree@c-73-142-162-42.hsd1.ma.comcast.net) joined #forth 03:49:28 --- join: phadthai (mmondor@ginseng.pulsar-zone.net) joined #forth 04:02:52 --- quit: pointfree (Ping timeout: 255 seconds) 04:09:36 --- join: zhiayang (~zhiayang@bb219-74-68-213.singnet.com.sg) joined #forth 04:48:10 --- quit: impomatic (Ping timeout: 250 seconds) 04:59:28 --- join: mrm (~user@94.41.237.13.dynamic.ufanet.ru) joined #forth 05:12:24 --- join: Mat4 (~claude@ip5b40b95e.dynamic.kabel-deutschland.de) joined #forth 05:12:54 --- quit: Mat4 (Client Quit) 05:57:40 --- join: xyh (~xyh@14.150.214.16) joined #forth 06:16:15 --- join: impomatic (~impomatic@31.185.136.135) joined #forth 06:35:15 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 06:42:02 --- quit: proteusguy (Ping timeout: 245 seconds) 06:47:54 --- quit: xyh (Remote host closed the connection) 06:54:21 --- join: xyh (~xyh@14.150.214.16) joined #forth 06:54:38 --- join: proteusguy (~proteusgu@ppp-110-168-230-140.revip5.asianet.co.th) joined #forth 06:54:38 --- mode: ChanServ set +v proteusguy 07:11:07 --- join: TodPunk (~Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 07:11:30 --- quit: TodPunk (Read error: Connection reset by peer) 07:11:47 --- join: TodPunk (~Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 07:12:02 --- quit: TodPunk (Read error: Connection reset by peer) 07:16:05 --- join: TodPunk (~Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 07:16:17 --- quit: TodPunk (Read error: Connection reset by peer) 07:17:55 --- join: TodPunk (~Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 07:20:12 --- quit: mrm (Remote host closed the connection) 07:42:20 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 08:02:57 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 08:55:09 --- quit: darkf (Quit: Leaving) 08:55:23 --- quit: xyh (Ping timeout: 244 seconds) 08:55:27 --- join: mrm (~user@94.41.237.13.dynamic.ufanet.ru) joined #forth 09:00:13 --- join: xyh (~xyh@14.150.214.16) joined #forth 09:23:14 --- join: fantazo (~fantazo@089144201093.atnat0010.highway.a1.net) joined #forth 09:28:57 --- nick: xyh -> kkktookmybabyawa 09:29:14 --- nick: kkktookmybabyawa -> kkktokmybabyaway 09:35:42 --- quit: kkktokmybabyaway (Remote host closed the connection) 10:17:11 --- quit: protist (Ping timeout: 246 seconds) 10:28:31 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 10:35:16 --- join: atommann (~atommann@58.251.2.94) joined #forth 10:36:07 --- join: xyh (~xyh@14.150.214.16) joined #forth 10:52:59 --- quit: xyh (Remote host closed the connection) 11:12:54 --- join: ASau (~user@176.0.21.86) joined #forth 11:15:22 --- quit: ASau (Remote host closed the connection) 11:15:36 --- join: ASau (~user@176.0.21.86) joined #forth 11:23:05 Pf! 11:23:44 The usual bullshit of Forth being different to justify Forth's inability to handle any data structures. 11:24:46 Same bullshit about better optimization of Forth when compared to Lisp. 11:25:19 Somehow there's free SBCL and there's not a single Forth implementation of comparable quality. 11:26:03 "If facts contradict words, so worse to facts." 11:28:52 ASau: what's this new tirade bout structs? 11:29:45 It's about Mat4's weird ideas. 11:30:01 ah 11:30:21 like i told him; he's approaching meta-proramming with the last comment 11:30:48 shoulda mentioned EMACS too 11:31:24 Emacs Lisp is archaic shit that has a hell lot of legacy code. 11:31:53 i think ADR can be handld elegantly with FIg sub-dictionaries , providing data hiding. 11:31:58 troo 11:32:18 but not with ans forth 11:33:02 What do you call "ADR"? 11:33:16 adt = abstract data structures 11:33:19 oops 11:33:23 adt 11:33:39 No, you cannot handle it elegantly. 11:33:40 I tried. 11:34:02 hmm, too bad; but i have to try anyway 11:34:07 Standard approach to dictionary is a lot better. 11:34:30 but i'm not a conformist 11:36:37 Besides, just in case you haven't understood it yet, 11:36:40 --- quit: ASau (Remote host closed the connection) 11:36:55 --- join: ASau (~user@176.0.21.86) joined #forth 11:37:42 yes? 11:38:27 understood what? 11:39:22 he's probably still recovering from network glitch or whatever caused him to drop 11:39:34 ah 11:39:41 Besides, just in case you haven't understood it yet, 11:39:42 implementing FIG-style dictionary structure in terms of standard wordlists and search order is trivial, 11:39:45 the opposite is not true. 11:39:45 --- join: _spt_ (~jaat@unaffiliated/-spt-/x-5624824) joined #forth 11:39:54 So, try hitting the open door harder. 11:40:00 but i dont want an ans. 11:40:35 and i've already developed some interesting changes to the fig model 11:40:46 This can't be a reason to wish FIG-style dictionary structure. 11:40:49 some of which should have been done decades ago 11:40:56 Pf! 11:40:58 Like what? 11:41:32 first, moving the nf[] prior to the header and *nfa being a real ptr to nf 11:41:54 simplifiying nfa, lfa, cfa, pfa words; removing traverse. 11:42:31 I want to remind you that the latter has been done around 1979. 11:42:37 F-83 doesn't have it already. 11:43:19 but word name highbits were still set and count byte still had bit flags in the count 11:44:09 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 11:44:57 In case you forgot, 1983 happened 32 years ago. 11:45:09 i'm old enuf to remember 11:45:31 No idea where you've picked that up. 11:45:56 Setting flags in the count is mostly irrelevant. 11:46:04 Some people didn't do that for a long time either. 11:46:04 well, from where every one else picks up bad info; old memories merging and dropping out :) 11:46:51 anyway, my point is that i want to use the FIG model and jump off from there. 11:47:35 * ASau shrugs. 11:47:47 dont shrug 11:47:57 or keep them private ;] 11:48:25 Quiznos: what is the FIG model in short? 11:48:56 1. indirect threaded code; 11:49:10 2. linked vocabulary branches; 11:49:32 3. rewritable CFA fields with 11:49:56 [eof] 11:50:14 Zarutian: in short, it is an implementation of Forth as described in freely downloadable text. 11:50:49 1-3 don't describe FIG model in any sensible way. 11:51:06 2 existed in MVP-Forth, IIRC. 11:51:41 Zarutian: by contrast, in DTC forths, the CFA contains jmp/call code to the interpreter for the pfa[] that follows 11:52:16 but this is bad for modern linux-hosted machines in protected mode and code & data cachelines. 11:53:00 in ITC forths, CFA is a pointer (*fp)() Cishly, that points to the addr of the word's interpreter. 11:53:15 What is really distinctive of FIG model is the following: 11:53:40 1. Crappy dictionary structure that prevents using 8-bit wide bytes. 11:54:04 2. Crappy parser that relies on appending several zero bytes after input buffer. 11:55:02 any others? 11:55:07 3. Crappy dictionary structure wrt where sometimes PF contains data but sometimes it contains some extra control information and only then data. 11:55:27 Quiznos: I see. Also with ITC forths you can have a small set of core words that are architecture spefic. 11:55:31 4. Bad selection of arithmetic operations. 11:55:54 Zarutian: ya, that's what i have in my forth. 11:56:01 ASau: eof? 11:56:03 5. Crappy buffering system where you cannot load 1K blocks reliably. 11:56:19 he's on a roll 11:56:27 6. Crappy exception handling. 11:56:30 hey FIG forth was written in the time of extremely shitty computers. 11:56:35 Which is more like no exception handling at all. 11:56:56 ASau: you think eForth is a little better? 11:56:59 F-83 is only five years younger and still a lot better. 11:57:07 eol? 11:57:35 ASau: you done? 11:58:09 Yeah, and tree-like dictionary is a crap too. 11:58:30 That's enough. 11:58:33 ok; interesting criticisms. allow me to ask some questions about them 11:59:28 in #1, how does fig prevent 8 bit bytes? do you refere to inability to use utf8? 11:59:29 Quiznos: what do you think of subwords where you can make some private and some public ( word:subword1:subsubword2 etc)? 11:59:45 trigger213 11:59:51 Of course, you cannot use UTF-8. 11:59:54 Zarutian: i think i have a novel solution to that from functional programming. 11:59:56 trigger213trigger213 12:00:07 --- quit: enthos (Ping timeout: 260 seconds) 12:00:23 Any 8-bit wide byte will interfere with "TRAVERSE" in an unpleasant way. 12:00:47 ASau: i note in your criticisms, that all are just ancient design features that can be overcome without destroying the model or requiring a new model 12:00:47 (Because the end of the name field is marked with bit #7 set!) 12:01:08 which i've already changed by modifying the word struct. 12:01:18 --- join: enthos_ (~enthos@124-10-19-211.dynamic.tfn.net.tw) joined #forth 12:01:19 the high bits are gone and so also is traverse 12:01:40 so that could make it 8bitable (dont want to say 8bit clean yet tho) 12:02:12 Yeah, you only need to replace FIG dictionary with wordlists, the whole input system with the one based on REFILL, the parser with the one based on PARSE-NAME, add exceptions and so on. 12:02:22 the use of nulls isnt a rewuirement either 12:02:40 After all that you'll only need to drop few useless words and you'll have nearly ended up with ANS Forth. 12:02:57 It's only you who think so. 12:03:14 if mixrd use pfs[] is a problem then sub-define a word to hold the data 12:03:17 FIG model is described in a book in quite prescriptive way. 12:03:38 ya, i've read them 12:04:05 please explain how the arithmetic words were poorly chosen? 12:04:19 or why 12:04:34 If you fix all those problems, you'll end up with something that is more reminiscent of ANS Forth. 12:04:38 Or at least Forth-83. 12:04:40 k 12:04:53 Thus, you could have started from there in the first place. 12:05:12 FIG suggests using symmetric division, for instance. 12:05:19 ok; i'll ponder ans signatures then. 12:05:37 This is less useful than normal division. 12:05:38 i'm awaare of that ancient division controversaay 12:06:02 i provide both signed and unsigned words 12:06:49 what else about the arithmetic words? 12:07:34 AFAICR, there was something weird about double and/or mixed width integer operations too. 12:07:42 k 12:07:55 I don't want to extract that shit from archives only to tell you. 12:07:56 now tell me about the 5th point? the buffering 12:08:00 trigger213 12:08:00 ya 12:08:25 doyou mean the usenet mail archive? 12:08:38 FIG Forth provides "BLOCK" that works in highly unusual way. 12:08:46 right 12:08:54 how unusual? 12:09:01 Firth, it gives you weird semantics wrt to updating. 12:09:04 First. 12:09:22 Second, blocks are not 1K long. 12:09:24 --- quit: Zarutian (Read error: Connection reset by peer) 12:09:51 Because of that you have to watch out for how you write your programs into them. 12:09:57 k 12:10:22 Third, they must be terminated with several NUL bytes. 12:10:36 Thus, they cannot be aligned. (Ha-ha!) 12:10:48 Only by wasting a lot of memory. 12:10:50 well not closely anyway 12:11:13 Forth, their scheduling is... well... "Interesting." 12:11:23 It isn't LRU, it isn't FIFO. 12:11:25 block scheduling? 12:11:41 --- join: xyh (~xyh@14.150.214.16) joined #forth 12:11:44 oh the position switching of the buffer list 12:11:46 Eviction policy. 12:11:49 ya 12:12:26 if not lru nor fifo, then what? ofil? 12:12:45 lifo 12:13:10 BTW, as usual for Forth, you cannot be sure that the block below you is not evicted when you don't expect it. 12:13:26 Read the fucking source in that document. 12:13:32 i do continually 12:13:50 When you understand that crap, you'll know it yourself. 12:13:52 it's not well documented internally 12:14:06 You've got the source. 12:14:13 yes, several 12:14:14 --- part: xyh left #forth 12:15:01 and finally, your 6th point; exception handling. 12:15:24 It is missing. 12:15:41 abort and (abort) arent sufficient? 12:16:02 Thus, either you have garbage on output, or you have every useful state cleared. 12:16:10 k 12:16:24 Isn't it obvious that aborting on any error is not sufficient? 12:16:30 yes 12:17:33 well; i do recognise that FIG was an ill-defined model from juvenile programming days gone by. 12:17:39 and everything matures. 12:17:42 You don't even have enough primitives to implement it. 12:18:10 but its definition was inspired. 12:18:34 When you do implement them, you'll have something a la F-83. 12:18:39 k 12:19:10 You really could have started from there in the first place. 12:19:28 --- quit: fantazo (Ping timeout: 244 seconds) 12:19:37 unfortunately, i cant find any .asam source for f83; it's all chicken-egg forth source 12:20:13 i decided to begin with FIG as a learning foundaation. 12:21:14 did Laxen & Perry hand compile their source on each computer they implemented? 12:22:03 --- quit: atommann (Ping timeout: 244 seconds) 12:23:19 --- join: atommann (~atommann@58.251.2.94) joined #forth 12:27:20 ASau: waiting... 12:39:40 --- quit: atommann (Ping timeout: 260 seconds) 13:24:46 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 13:26:52 damn it, my irc client had stolen keyboard focus, was wrting some code in non-forth language and that is a name of a variable (no scoping) 13:29:20 uh huh - time to change your password anyway ;) 13:30:32 indeed 13:31:27 ew gui 13:31:44 gui is only good for data depiction 13:37:18 --- join: ehaliewicz (~user@50-0-50-11.dsl.dynamic.fusionbroadband.com) joined #forth 14:30:50 --- join: karswell (~user@226.177.199.146.dyn.plus.net) joined #forth 15:05:30 --- join: fantazo (~fantazo@089144233224.atnat0042.highway.a1.net) joined #forth 15:15:43 --- join: ehaliewi` (~user@50-0-50-11.dsl.dynamic.fusionbroadband.com) joined #forth 15:18:55 --- quit: ehaliewicz (Ping timeout: 260 seconds) 15:20:41 --- quit: _spt_ (Quit: /0\) 15:30:46 --- quit: fantazo (Ping timeout: 264 seconds) 15:32:54 --- quit: true-grue_ (Read error: Connection reset by peer) 15:32:59 --- quit: mrm (Ping timeout: 256 seconds) 15:37:37 --- join: vsg1990_ (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 15:42:05 --- join: fantazo (~fantazo@089144233061.atnat0042.highway.a1.net) joined #forth 15:49:33 --- quit: vsg1990 (*.net *.split) 15:49:33 --- quit: defanor (*.net *.split) 15:59:29 --- join: defanor (~defanor@2a02:7aa0:1619::ca46:4831) joined #forth 16:01:12 --- quit: defanor (Ping timeout: 245 seconds) 16:02:31 --- join: defanor (~defanor@2a02:7aa0:1619::ca46:4831) joined #forth 16:22:54 --- quit: defanor (*.net *.split) 16:29:27 --- join: defanor (~defanor@2a02:7aa0:1619::ca46:4831) joined #forth 16:45:41 --- quit: karswell (Read error: Connection reset by peer) 17:16:29 --- join: atommann (~atommann@58.251.2.94) joined #forth 17:23:48 --- join: karswell (~user@226.177.199.146.dyn.plus.net) joined #forth 17:32:21 --- quit: Zarutian (Quit: Leaving.) 18:37:58 --- quit: zhiayang (Quit: Textual IRC Client: www.textualapp.com) 19:21:20 --- join: zhiayang (~zhiayang@bb219-74-68-213.singnet.com.sg) joined #forth 20:03:37 --- quit: atommann (Ping timeout: 255 seconds) 20:03:39 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 20:12:42 --- join: proteusguy_ (~proteusgu@ppp-110-168-229-95.revip5.asianet.co.th) joined #forth 20:13:52 --- quit: proteusguy (Ping timeout: 240 seconds) 20:33:30 --- join: xyh (~xyh@14.150.214.16) joined #forth 20:56:14 --- quit: vsg1990_ (Quit: Leaving) 21:15:14 --- join: atommann (~atommann@58.251.2.94) joined #forth 22:09:00 --- quit: ehaliewi` (Ping timeout: 272 seconds) 22:19:15 --- quit: fantazo (Ping timeout: 252 seconds) 22:29:44 --- quit: atommann (Ping timeout: 246 seconds) 22:32:12 --- join: ehaliewi` (~user@50-0-50-11.dsl.dynamic.fusionbroadband.com) joined #forth 22:46:11 --- quit: xyh (Ping timeout: 244 seconds) 22:46:22 --- quit: bluekelp (Ping timeout: 264 seconds) 22:46:29 --- join: bluekelp (~bluekelp@bluekelp.com) joined #forth 22:51:57 --- join: xyh (~xyh@14.150.213.59) joined #forth 22:54:27 --- quit: FireFly (Ping timeout: 240 seconds) 23:13:23 --- join: FireFly (~firefly@firefly.xen.prgmr.com) joined #forth 23:16:59 --- nick: xyh -> fc` 23:19:29 --- nick: fc` -> little-fox 23:25:11 --- nick: little-fox -> xyh 23:31:27 --- quit: xyh (Remote host closed the connection) 23:31:52 --- join: xyh (~xyh@14.150.213.59) joined #forth 23:53:29 --- join: fantazo (~fantazo@089144217254.atnat0026.highway.a1.net) joined #forth 23:59:52 --- join: protist (~javery@63.239.69.111.dynamic.snap.net.nz) joined #forth 23:59:59 --- log: ended forth/15.08.07