2022-09-05 00:00:17 deployment I could agree with. but that's not portability 2022-09-05 00:06:15 mmm that's definitely fair 2022-09-05 00:06:25 i had kind of conflated the two in terms of terminology 2022-09-05 00:07:36 https://www.sqlite.org/whyc.html doesn't even mention javascript as a contender (oversight much??) 2022-09-05 00:09:46 ansi C code is very portable 2022-09-05 00:10:17 thrig: do you really think the sqlite author would consider javascript? 2022-09-05 00:10:52 no, because javascript (especially that tied to a bloat browser) is not portable 2022-09-05 00:10:57 node is supposed to be fast, but I don't think someone looking for performance would go for node 2022-09-05 00:11:35 but javascript is portable 2022-09-05 00:11:58 there's also https://bun.sh/ which i only know of through zig 2022-09-05 00:12:09 it runs on linux, windows, macos, freebsd, openbsd, netbsd umodified if attached to a browser 2022-09-05 00:12:23 https://raw.githubusercontent.com/thrig/dotfiles/master/imgs/my-seventh-node-script.png 2022-09-05 00:12:39 and android, iphone, etc 2022-09-05 00:13:16 lol I had the same look for xterm in the past 2022-09-05 00:13:58 Firefox don't compile on 32-bit openbsd. Chrome runs like a turd, if at all, on anything slightly old 2022-09-05 00:14:16 I miss chrome a lot :/ 2022-09-05 00:14:48 thrig: but it runs 2022-09-05 00:14:51 2008 dell with openbsd and an nvidia card? yeah no chrome for you. all my software runs there just fine 2022-09-05 00:15:06 i get the point youre trying to make 2022-09-05 00:15:12 but like 2022-09-05 00:15:23 javascript works for most people 2022-09-05 00:15:42 that's deployment, not portability 2022-09-05 00:17:00 then define your terms 2022-09-05 00:19:46 how many systems the language compiles and runs on. C == lots. Javascript... it's not terrible like some languages, but not really noteworthy compared to lots of other languages 2022-09-05 00:20:28 shackle it with a bloat browser and it edges pretty close to terrible 2022-09-05 00:20:30 brainfuck #1 :) 2022-09-05 00:24:48 node is probably less portable than say pforth, and otherwise might get lost in the luatclperlpythonruby crowd 2022-09-05 00:32:35 is pforth all that portable? 2022-09-05 00:36:53 i mean, it is the name :p 2022-09-05 00:37:49 does it run on plan 9? 2022-09-05 00:41:51 does it run in netbsd 2022-09-05 00:42:25 in netbsd there are only 3 forths 2022-09-05 00:42:43 ficl pforth and retro 2022-09-05 00:43:30 gforth seems to fail to compile lately, but there was a binary, now the 64 bits binary does not exist in the repo, they removed it 2022-09-05 00:43:50 I remember to try to compile gforth with pkgsrc when they removed the binary and failed 2022-09-05 00:44:04 also it was never able to work with the c ffi it has 2022-09-05 02:57:17 I have a square moving on the screen xD 2022-09-05 02:57:18 https://termbin.com/u33p 2022-09-05 02:57:38 I quite dislike the code :/ 2022-09-05 18:05:46 Yeah you've got two broad ways of approaching 'macros' in Forth, in the lisp sense. 2022-09-05 18:05:53 Immediate words, and quotations 2022-09-05 18:06:20 And modern forth can't seem to make its mind up which it prefers, well actually it's quite obvious the latest Forth stuff seems to want quotations 2022-09-05 18:06:35 or otherwise the passing of execution tokens 2022-09-05 18:07:08 And old-school forth is all about immediate words and inserting your data, jumps and conditionals inline 2022-09-05 18:07:37 It sucks, it should be consistent 2022-09-05 18:07:45 retro is at least consistent 2022-09-05 18:09:07 Like exceptions for instance, CATCH takes an execution token to execute, this is highly unnatural for forth 2022-09-05 18:09:19 And the code you get using CATCH just doesn't feel very forthy 2022-09-05 18:09:43 catch is ans right? 2022-09-05 18:09:46 Yes 2022-09-05 18:09:49 its always bloody exceptions 2022-09-05 18:10:00 hate exceptions 2022-09-05 18:10:11 The syntax should have been: TRY .... CATCH 2022-09-05 18:10:26 i.e. just encapsulate the code that runs with TRY and CATCH 2022-09-05 18:10:30 don't pass an xt 2022-09-05 18:11:45 Which is easier to use and more powerful, i.e. you can implement ANS CATCH with these words: : CATCH TRY EXECUTE CATCH ; 2022-09-05 18:12:36 eris[m]123: What's wrong with exceptions? 2022-09-05 18:13:20 they can be very trying 2022-09-05 18:13:40 IMO exceptions had a really good opportunity to make RDROP trickery easier and portable, and they are a great way to write i.e. recursive descent parsers 2022-09-05 18:14:00 But the ANS exception library is painful and unforthy 2022-09-05 18:30:07 Such is the fate of anything designed by a committee 2022-09-05 18:30:50 the common lisp committee settled on a pretty neat conditions system 2022-09-05 18:40:53 I've formalized some return stack mark and restore ability in my system. 2022-09-05 18:41:12 As well as some double-return words. 2022-09-05 18:42:28 The double returns obviously can only be run under circumstances where the return stack is "ready" for them, but the mark and restore thing will work regardless of what's been done to the return stack in between. 2022-09-05 18:54:48 thrig: Was it invented by the committee or pulled from the wild? 2022-09-05 18:56:24 the design they specified. it could have gone worse. usually it does 2022-09-05 19:00:43 I think Forth would be in a stronger place if Chuck Moore had remained at Forth Inc and carried on steering the ship 2022-09-05 19:00:55 Of course I don't fault him for leaving, it's his business 2022-09-05 19:01:33 Not that he 'ran' forth inc, but obviously his interaction with the business seemed to play a big role in the evolving design of Forth 2022-09-05 19:02:25 And I don't fault the people who took over from him either, rather I would just say Chuck has quite exceptional taste for these things 2022-09-05 19:02:55 If he had focused on the programming side more generally I think we'd have seen some interesting stuff 2022-09-05 19:48:27 I think you're right. Guess he got bitten by the hardware bug.