00:00:00 --- log: started forth/10.08.17 00:02:34 --- join: ASau` (~user@77.246.230.215) joined #forth 00:04:53 alaricsp: JFYI, I'm (not quite slowly) reworking pForth so that it has saner dictionary. 00:18:15 --- join: bakaboo (~bakaboo@213.238.4.117) joined #forth 02:07:35 --- quit: ygrek_ (Ping timeout: 245 seconds) 02:20:24 ASau`: What sort of sanity is that? I'm not familiar with pForth. What's your interest in FORTHs anyway, ASau`? 02:20:45 alaricsp: I'm not interested in FORTHs. 02:20:50 alaricsp: I'm interested in Forth. 02:21:00 This is big difference. ;) 02:21:42 Are you interested in R4RS? 02:22:00 Quite unlikely. 02:26:22 * alaricsp nods 02:26:38 Do you find my habit of using capitalised FORTH to represent the entire family tree incorrect, then? :-) 02:26:53 Yes. 02:26:59 It's the same as with LISP. 02:27:12 LISP and FORTRAN are obsolete. 02:27:21 *nod* 02:27:25 (again) 02:27:45 On sanity. 02:27:58 * C-Keen waves :) 02:28:07 Currently pForth uses traditional patched up dictionary implementation. 02:28:19 Hardwired single linked list and so on. 02:28:49 I intend to abstract it away so that I can throw in anything better. 02:29:37 E.g. balanced trees with double linked cross-links. 02:30:53 'lo C-Keen 02:31:23 Aye, that might well speed up lookups in large dictionaries 02:34:21 Do you think forth would benefit from a mechanism more like scheme parameters to handle user-area variables? I've been considering a few mechanisms to handle the potentially sparse relationship between threads and dynamically-scoped values 02:34:55 I mean, if you can choose your set of variables at system initialisation time, then you know what offsets to place into the user area, and how big to make it, so it's easy 02:35:04 But what if they can be created dynamically? 02:35:56 I'm interested in long-running systems that might have new versions of modules loaded in time, and don't really want to leak space in the long run. 02:37:03 I solve problems in order of appearance. 02:37:23 How boring ;-) 02:38:33 There're no dynamically scoped values in Forth. 02:38:57 It isn't easy to guess what you're talking about. 02:39:15 Forth isn't Scheme, and you're using words that have different meanings here. 02:39:35 E.g. "thread" and "value". 02:44:57 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 02:48:24 Sorry... I mean having a flexibly-sized user area for tasks, to let developers add extra variables like STATE 02:50:19 This isn't a problem actually. 02:50:53 You can store user area size into its first cell, and you're done. 02:51:24 You'll lose some performance if you want to utilise that 02:51:36 information in bound checks. 03:13:46 That's a good start, but the devil's in the details. What happens when somebody creates a new user variable? When the bound check fails, you can return a 'default value' on reads, but what if they write? It may not be resizable in-place. 03:14:38 Which is why I wondered about making a new user variable only usable in tasks created by the task in which the variable was defined, and using an inherited "size of user areas for new tasks" user variable 03:14:47 That'd be easy to implement... I just don't know if it'd be useful ;-) 03:14:48 If resize fails, you've got big problem. 03:15:49 This assumes that you fork dictionary when you create new task. 03:15:59 Indeed 03:16:02 Is this reasonable? 03:16:36 Meanwhile I've killed global CONTEXT in pForth. 03:16:51 I'm wondering. Depends on what you're doing, of course. My intention is a kind of application server that might load, upgrade and unload modules, so forcing a kind of hierarchy of little isolated worlds is reasonable there. 03:17:17 But it would be nice to have a solution that's not just specific to my little world ;-) 03:17:20 This depends on how you want it done. 03:17:47 You can do it snapshot-based or you can work inside Forth itself. 03:19:00 --- join: ygrek_ (debian-tor@gateway/tor-sasl/ygrek) joined #forth 03:19:07 Aye 03:55:33 --- join: nighty^ (~nighty@x122091.ppp.asahi-net.or.jp) joined #forth 04:00:38 --- quit: mathrick (Read error: Operation timed out) 04:13:26 --- join: mathrick (~mathrick@users177.kollegienet.dk) joined #forth 04:20:59 --- join: dom96 (~dom96@unaffiliated/dom96) joined #forth 04:33:25 --- quit: ygrek_ (Ping timeout: 245 seconds) 05:15:17 --- quit: rotty (Ping timeout: 258 seconds) 05:15:38 --- join: mruczek (TwojaStara@unaffiliated/murczek) joined #forth 05:16:21 --- join: MatiX3 (~kaspis1@ti0004a380-0437.bb.online.no) joined #forth 05:17:28 --- quit: MatiX3 () 05:20:06 --- part: mruczek left #forth 05:36:05 --- join: rotty (~rotty@nncmain.nicenamecrew.com) joined #forth 05:41:14 --- quit: mathrick (Ping timeout: 240 seconds) 05:59:01 --- join: mathrick (~mathrick@users177.kollegienet.dk) joined #forth 06:46:45 --- quit: Deformative (Ping timeout: 245 seconds) 07:13:45 --- join: Deformative (~Joe@c-67-177-129-184.hsd1.mi.comcast.net) joined #forth 08:40:43 --- join: ygrek_ (debian-tor@gateway/tor-sasl/ygrek) joined #forth 09:37:34 --- join: qFox (~C00K13S@5356B263.cable.casema.nl) joined #forth 09:47:14 --- join: Monevo (~nal@66-50-191-246.prtc.net) joined #forth 10:28:11 --- quit: ygrek_ (Remote host closed the connection) 11:19:03 --- quit: ASau (Read error: Connection reset by peer) 11:48:02 --- quit: |dinya_| (Read error: Connection reset by peer) 11:48:26 --- join: |dinya_| (~Denis@92.255.128.235) joined #forth 11:58:24 --- join: ASau (~user@83.69.227.32) joined #forth 14:09:53 --- quit: qFox (Read error: Connection reset by peer) 14:41:50 --- join: TR2N (email@89.180.198.16) joined #forth 15:04:43 --- join: heyhey (4f9abeb8@gateway/web/freenode/ip.79.154.190.184) joined #forth 15:25:05 --- quit: dom96 (Read error: Connection reset by peer) 15:25:29 --- join: dom96 (~dom96@unaffiliated/dom96) joined #forth 15:34:05 --- quit: segher (Ping timeout: 255 seconds) 15:34:58 --- join: segher (~segher@84-105-60-153.cable.quicknet.nl) joined #forth 15:36:35 --- part: heyhey left #forth 17:13:44 --- join: nighty__ (~nighty@210.188.173.245) joined #forth 17:19:04 --- quit: martinhex (Read error: Connection reset by peer) 17:27:49 --- join: Pusdesris (~Joe@c-67-177-129-184.hsd1.mi.comcast.net) joined #forth 17:28:35 --- join: Joe__ (~Joe@c-67-177-129-184.hsd1.mi.comcast.net) joined #forth 17:31:19 --- quit: Deformative (Ping timeout: 265 seconds) 17:31:50 --- join: martinhex (~mjc@93-97-29-243.zone5.bethere.co.uk) joined #forth 17:32:46 --- quit: Pusdesris (Ping timeout: 265 seconds) 19:05:41 --- quit: gogonkt (Ping timeout: 246 seconds) 19:07:25 --- join: gogonkt (~info@183.27.212.253) joined #forth 19:31:23 --- quit: dom96 (Read error: Connection reset by peer) 19:36:36 --- join: Elench (~Elench@unaffiliated/elench) joined #forth 20:00:13 --- part: arke left #forth 23:14:50 --- quit: gnomon (Ping timeout: 264 seconds) 23:16:43 --- join: gnomon (~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 23:50:13 --- join: ygrek_ (debian-tor@gateway/tor-sasl/ygrek) joined #forth 23:59:59 --- log: ended forth/10.08.17