2024-09-18 00:04:14 i recently adopted something i saw from muforth. my ] includes an implicit "literal". you have to use -] to start compiling again without compiling a literal. just wanted to share, this is a pretty major quality of life improvement. 2024-09-18 00:05:09 i have ], for that 2024-09-18 00:05:58 yeah that makes sense too 2024-09-18 00:25:09 seems reasonable 2024-09-18 00:44:04 i think i have a good idea about how to do what i want to do, and as usual, i'm finding it difficult to proceed because i'm terrible at naming things 2024-09-18 00:47:00 two hard problems etc etc 2024-09-18 01:11:03 how many words can i write named @ ? 2024-09-18 01:11:23 it depends on which alphabet you're using and whether you're case-sensitive 2024-09-18 01:11:31 lol 2024-09-18 01:11:41 ø@ and ÿ@ for example may not be easy for you to type 2024-09-18 01:12:05 i use vim, so digraphs are not too far away 2024-09-18 01:12:14 and λ@ and Ω@ may be even worse 2024-09-18 01:12:23 not to mention ℵ@ 2024-09-18 01:13:57 : ^kl*@ ... 2024-09-18 01:15:51 define letter 2024-09-18 01:16:19 printable ascii character? unicode codepoint? grapheme cluster? 2024-09-18 01:54:54 well tbh my forth only understands ascii 2024-09-18 01:58:52 can it tell the difference between ASCII and UTF-8, though? 2024-09-18 02:02:57 unless your forth does its own text rendering, it probably can't 2024-09-18 02:03:22 well. CHAR and EMIT are slightly sticky 2024-09-18 02:08:10 that's a good point. Also I've had problems with UTF-8 messing up the width of 64-byte block lines 2024-09-18 02:09:22 you might end up with CCHAR and CEMIT for when you specifically wanna deal with bytes 2024-09-18 02:09:30 unicode can also have some fun normalization problems 2024-09-18 02:09:54 and also maybe CHAR, for compiling a unicode codepoint as utf-8 2024-09-18 02:11:04 I think Forth 2012 has some stuff about this 2024-09-18 02:11:31 https://forth-standard.org/standard/xchar 2024-09-18 02:11:50 not that this is the only possible way to handle the problem, but it's one way 2024-09-18 11:58:26 CHAR works fine for ASCII and S" works for UTF-8, EMIT should work with UTF-8 just fine, just not if you're trying to count columns or character indices 2024-09-18 11:58:46 S\" should also work with UTF-8 2024-09-18 11:59:59 Or any parsing really, CHAR and [CHAR] are the only parsing words I know that take the first byte 2024-09-18 12:00:15 And it's not much of a limitation that PARSE can only use ASCII as a delimiter 2024-09-18 12:39:05 well, decimal 9786 emit is unlikely to produce a happy face unless emit is internally doing the UTF-8 encoding 2024-09-18 12:41:37 but you could decimal 226 emit 152 emit 186 emit if that's what you mean 2024-09-18 13:10:51 You can do that but you can also do S" " and TYPE or loop-EMIT it out and it will work 2024-09-18 13:11:00 If you want to get a codepoint from UTF-8 encoding that's not hard, but it's also totally unnecessary or even misguided for most work 2024-09-18 13:34:26 it can be useful sometimes 2024-09-18 13:34:53 but it definitely has its pitfalls 2024-09-18 13:39:34 How to approach localisation in Forth: 1. Don't. 2. Dön't. 2024-09-18 13:40:14 xD 2024-09-18 14:03:46 do, but only if you need to 2024-09-18 14:08:11 Easier to just teach English to the entire world. 2024-09-18 14:08:43 What O'Reilly animal is appropriate? "MVC with Forth" 2024-09-18 14:09:51 "Agile Front End Web Development with Forth" 2024-09-18 14:11:17 Something extinct? A mammoth? 2024-09-18 14:11:33 Or a bear animal, what's it called in english 2024-09-18 14:11:43 Hardened to live under extreme pressure in outer space or vulcano 2024-09-18 14:11:51 tardigrade 2024-09-18 14:11:54 Right 2024-09-18 14:12:05 cockroach probably gets the same message across clearer 2024-09-18 14:12:09 and is slightly more photogenic 2024-09-18 14:12:42 ^^ 2024-09-18 14:13:10 https://www.1-9-9-1.com/ 2024-09-18 14:21:35 Extinct? No, mythical 2024-09-18 14:21:42 Like a chimera 2024-09-18 14:22:46 Unicorn? 2024-09-18 14:22:56 MVC is ded anyway 2024-09-18 14:22:59 It's all pipelines now 2024-09-18 14:23:10 "Game Engines with Forth in Rust Macros" 2024-09-18 14:23:53 "SIMD Optimisation in F83" 2024-09-18 14:29:19 "SwiftForth Microservices" 2024-09-18 14:31:17 Well 2024-09-18 14:32:12 I've applied MVC on the ZX Spectrum, is that cursed? 2024-09-18 14:32:34 "Busy Beaver solved using a stack machine" 2024-09-18 14:32:58 :d 2024-09-18 14:33:50 olle where can I read about pipelines? 2024-09-18 14:34:14 I don't know a thing about services or the web 2024-09-18 14:37:47 veltas: perhaps this? https://doeken.org/blog/middleware-pattern-in-php 2024-09-18 14:38:02 Middleware is more onion-like that pipelines. Still. 2024-09-18 14:38:50 yeah, tardigrades are clearly the right theme animal for Forth 2024-09-18 14:39:23 A uni-tard 2024-09-18 14:39:30 Uni-turd lol 2024-09-18 14:39:33 Nah 2024-09-18 14:39:41 Unicorns are Unicon 2024-09-18 14:42:26 add GC and static types and I think you have maybe Cat, or Kitten? 2024-09-18 14:44:56 This concept you linked to me olle feels like using vectorised exection on TYPE and KEY 2024-09-18 14:45:00 execution* 2024-09-18 14:45:29 Certainly that's how I use it, often I just extend the existing execution tokens in there 2024-09-18 14:45:36 with post actions and pre actions 2024-09-18 14:46:31 Double Pass sounds like LaTeX and two-pass assemblers 2024-09-18 14:47:19 Interesting anyway 2024-09-18 14:47:33 I do feel like we're all resolving the same problems in different levels of the software stack 2024-09-18 14:51:12 with more or less unnecessary complexity and observability 2024-09-18 14:51:38 There's only so many design patterns you need to solve 99% of the problems. 2024-09-18 14:52:09 re-solving*, not resolving 2024-09-18 20:29:03  2024-09-18 20:31:55 I've been trying to do neat stuff but it's only neat in theory :/ 2024-09-18 20:34:29 Yeah, I knew I'll get get an idea once I type it on IRC. That's some freaky XOR logic there. 2024-09-18 20:38:15 a rubber ducky can also work 2024-09-18 20:39:04 I tried so hard and in the end.. :) 2024-09-18 20:39:31 I was trying to figure it out while sketching on my ipad, didn't work. Guess IRC is still the best for that. 2024-09-18 20:39:59 or take a walk or something 2024-09-18 20:41:48 Did that earlier, too. I'll stop here before someone thinks, man, this guy only has one stack. 2024-09-18 20:52:31 haha 2024-09-18 22:37:07 user51: Nice. :-) 2024-09-18 22:37:13 I'm gonna remember that one.