00:00:00 --- log: started forth/19.10.24 00:00:58 Keep in mind that all these threading techniques are relative to the underlying machine, which may itself not be a "real" machine but another virtual machine, e.g. JVM etc... 00:02:06 Would you say STC is the easiest to implement out of all the threading strategies? 00:02:18 I've only ever done ITC 00:03:43 yes 00:04:12 --- quit: WickedShell (Remote host closed the connection) 00:04:40 I guess that's only really possible if written in assembly though, huh 00:04:46 or some low level compiled languge 00:07:35 You can implement SRT on top of a bytecoded VM, that's probably the simplest combination if portability is what your after 00:08:06 although of course the bytecoded VM has a huge performance hit 00:10:34 The bytecoded VM can be written in C instead of assembly for portability 00:10:43 --- join: dys joined #forth 00:12:29 * SRT == STC, subroutine threading, subroutine threaded code 00:13:20 --- quit: ryke (Ping timeout: 265 seconds) 00:15:12 i.e. STC forth running atop of a virtual chip (the bytecoded VM) running atop a real chip (x86 or whatever) 00:17:17 --- quit: lisbeths (Remote host closed the connection) 00:18:44 The fastest combination tends be an STC Forth with Native Code Inlining capabilities and a peephole optimizer running on the real CPU 00:22:30 The most compact are involve either TTC or bytecodes or similar short codes, or frequency-weighted variable length codes 00:23:15 All sorts of combinations and permutations are possible depending on your specific design goals 00:24:30 It's a smorgasbord :) 00:36:31 rdrop-exit, g'day oh Zen Forth Master! 00:36:40 --- join: mtsd joined #forth 00:36:55 rdrop-exit, how can I tell which design the Forth I use is ? 00:36:57 Greetings Master Technician :) 00:37:12 tp, ask the implementer :) 00:37:31 rdrop-exit, I would but hes about a week away by email thesedays 00:37:38 (very busy) 00:38:07 that will teach him to get a job working on space hardware! 00:38:14 :)) 00:38:40 it does have Native Code Inlining capabilities and a peephole optimizer running on the real CPU 00:39:04 I would assume STC + NCI 00:39:25 use SEE on some high level words 00:39:46 and what would I look for ? 00:40:07 I use see a lot, mainly comparing my word strategies etc 00:40:15 If the high level words are series of call opcodes then it's STC 00:40:50 If there's some other opcodes sprinkled in the high level words then it's STC + NCI 00:41:26 If there's lots of other opcodes in high level words then it probably has a peephole optimizer too 00:42:49 There should be a system guide or other low level reference for the Forth that provides insight into the internals 00:43:02 it does have a optimizer, plus a higher level of optimisation I havent tried yet 00:43:29 no, and most of the comments are in German, so my German is improving 00:44:07 perhaps the existing doc would indicate the design to a experienced forther 00:44:09 ach du lieber! 00:44:25 it's not that important to me as Im just a happy embedded user 00:44:49 but would be interesting to know, so I'll ask the author 00:45:22 Most likely STC+NCI with a peephole optimizer 00:45:32 I still wear the Forth novice robes! 00:46:20 it auto inlines where possible and has several levels of folding, again automatic 00:46:29 there you go 00:47:48 i basically just work around the periphery making and using development aids 00:48:19 altho I do mods such as adding hardware handshaking, change the terminal baudrate, mcu clock etc 00:48:46 cool 00:48:47 this Forth is all Arm Thumb assembler 00:49:03 and higher level Forth words as one would expect 00:52:58 bbl, keep on Forthin' :) 00:53:05 --- quit: rdrop-exit (Quit: Lost terminal) 00:54:49 --- quit: dys (Ping timeout: 240 seconds) 01:00:40 definitely ! 01:04:30 --- join: dys joined #forth 01:20:49 --- quit: mtsd (Ping timeout: 240 seconds) 01:27:02 --- join: [1]MrMobius joined #forth 01:28:59 --- quit: MrMobius (Ping timeout: 240 seconds) 01:28:59 --- nick: [1]MrMobius -> MrMobius 01:29:47 --- join: xek_ joined #forth 01:43:07 --- join: mtsd joined #forth 01:50:58 --- quit: Keshl (Ping timeout: 265 seconds) 01:56:28 --- join: Keshl joined #forth 02:02:30 --- quit: xek_ (Ping timeout: 250 seconds) 03:01:13 --- quit: X-Scale (Ping timeout: 240 seconds) 03:01:53 --- join: X-Scale` joined #forth 03:02:18 --- nick: X-Scale` -> X-Scale 03:52:29 --- join: iyzsong joined #forth 04:20:15 --- quit: karswell (Remote host closed the connection) 04:21:26 --- join: karswell joined #forth 05:16:44 --- join: xek_ joined #forth 06:26:20 --- quit: mtsd (Quit: Leaving) 06:55:15 --- quit: iyzsong (Ping timeout: 245 seconds) 07:30:25 --- quit: xek_ (Remote host closed the connection) 07:30:44 --- join: xek_ joined #forth 07:35:59 --- join: warriors joined #forth 07:39:43 --- quit: tabemann (Ping timeout: 246 seconds) 07:47:46 --- join: dddddd joined #forth 07:53:55 --- quit: xek_ (Remote host closed the connection) 07:54:21 --- join: xek_ joined #forth 08:10:14 --- join: ryke joined #forth 09:29:16 --- quit: dys (Ping timeout: 250 seconds) 10:05:25 --- quit: xek_ (Remote host closed the connection) 10:05:54 --- join: xek_ joined #forth 10:07:30 --- quit: xek_ (Remote host closed the connection) 10:07:55 --- join: xek_ joined #forth 11:40:31 --- join: f-a joined #forth 11:45:14 is there something like a 99 lisp problems in forth? 12:15:18 --- quit: f-a (Ping timeout: 268 seconds) 12:16:47 --- join: f-a joined #forth 12:20:35 --- join: WickedShell joined #forth 12:39:03 also, say I have loaded a file with gforth file.ft, how to reload it from inside the interpreter? 12:39:33 --- part: cmtptr left #forth 12:59:37 --- quit: gravicappa (Ping timeout: 246 seconds) 13:27:32 --- join: dave0 joined #forth 13:48:10 f-a: `include file.ft` 13:48:49 note that the previously loaded contents aren't discarded when doing this 13:49:35 thanks crc 13:50:30 no problem 13:50:51 I'm not aware of anything like the 99 problems list for forth 13:52:19 I am doing the ones from starting forth as now crc , they seem ok 14:06:43 --- join: newuser|30 joined #forth 14:08:40 --- quit: newuser|30 (Remote host closed the connection) 14:49:29 --- join: mykespb joined #forth 14:51:47 --- join: punkbrwstr joined #forth 14:54:21 --- quit: punkbrwstr (Remote host closed the connection) 14:56:05 --- quit: mykespb (Quit: Leaving) 14:58:43 --- quit: f-a (Ping timeout: 268 seconds) 15:31:25 --- join: jedb_ joined #forth 15:32:38 --- quit: jedb__ (Read error: Connection reset by peer) 15:36:30 --- quit: ryke (Ping timeout: 265 seconds) 16:38:53 --- join: jedb__ joined #forth 16:41:13 --- quit: jedb_ (Ping timeout: 240 seconds) 16:41:31 --- quit: xek_ (Ping timeout: 276 seconds) 16:45:43 --- quit: warriors (Quit: Connection closed for inactivity) 17:17:35 --- join: tabemann joined #forth 17:47:20 --- quit: WickedShell (Read error: Connection reset by peer) 17:51:18 --- join: WickedShell joined #forth 18:06:11 --- quit: tabemann (Ping timeout: 268 seconds) 18:31:57 --- quit: dave0 (Quit: dave's not here) 19:01:59 --- join: ryke joined #forth 19:05:55 --- quit: Keshl (Quit: Konversation terminated!) 19:32:31 --- join: Keshl joined #forth 19:35:04 --- join: tabemann joined #forth 20:12:30 --- join: dave0 joined #forth 20:33:17 --- join: rdrop-exit joined #forth 20:42:17 --- join: druffer joined #forth 21:45:58 --- quit: dddddd (Remote host closed the connection) 21:58:40 --- quit: ryke (Ping timeout: 268 seconds) 22:06:53 --- join: gravicappa joined #forth 23:41:19 --- quit: cheater (Ping timeout: 240 seconds) 23:59:59 --- log: ended forth/19.10.24