2022-06-03 10:16:27 lispmacs[work]: hrm. i haven't touched some of that stuff in about 10 years. that's a pascal port of the ngaro vm from retroforth 10. 2022-06-03 10:17:04 i don't know why it won't let you clone the repo though. it's right here: https://github.com/tangentstorm/aggpasmod ... maybe beacuse i used ssh for the link instead of https? 2022-06-03 10:24:25 i should really go through and clean up this whole repo, sorry. :) 2022-06-03 10:52:29 tangentstorm: I tried editing .gitmodules to change the URLs, but for some reason the old URLs are still used when I run "make retro" 2022-06-03 10:52:42 presumably I need to run some other git command first to update something 2022-06-03 10:54:11 i honestly don't remember. there's a bunch of different prog 2022-06-03 10:54:58 er... varations on this overall project all in that one repo. the stuff i'm working on lately is mostly in the 'turbo' and 'j' directories. 2022-06-03 10:57:26 the old ngaro vm was pretty cool though, and that version had nice graphic support. i will try to get it working this weekend if my kids let me. :D 2022-06-03 11:01:26 just was curious to give it a try in dosbox 2022-06-03 11:03:11 hey kids want to learn about old computers?! 2022-06-03 11:03:19 oh. the retro stuff never ran under dosbox. only the turbo directory. (and i'm not using dosbox currently so i can't guarantee it hasn't broken) 2022-06-03 11:03:40 right now i'm just using free pascal under ubuntu. 2022-06-03 11:04:32 tangentstorm: oh, okay. Well, I've got free pascal installed on my Guix system. What command would need to run in the repo to build that 2022-06-03 11:05:29 I see there is a makefile in turbo directory, whill try that 2022-06-03 11:07:17 I can't build b4 because I am missing include file "xpc" 2022-06-03 11:07:50 submodule I need to clone? 2022-06-03 11:08:41 https://github.com/tangentstorm/xpl 2022-06-03 11:09:20 sorry for the mess. i really wasn't expecting anyone to want to try this yet. :D 2022-06-03 11:09:49 put it in CVS to make it hard to use 2022-06-03 11:11:11 Okay, I'm interested, but getting all this compiled is getting to be a bit of a project. Maybe you can let me know when you have the makefiles cleaned up 2022-06-03 11:12:22 okay, i think that's probably a better idea. i appreciate the interest! 2022-06-03 11:13:48 what i'm working towards here is a video series about building a virtual machine, and then bootstrapping a forth and a pascal compiler on top of it. 2022-06-03 11:15:21 i'll probably keep changing things wildly until i can tell the whole story (stripping down the list of opcodes, etc) 2022-06-03 14:14:24 tangentstorm: always wise to avoid trying to "nail down" a project until you've got the big picture well in mind. 2022-06-03 16:31:54 lagash: haven't seen much formalization of Forth 2022-06-03 16:32:03 actually there is this one paper that uses process calculi... let me see if I can find it 2022-06-03 16:32:50 https://www.jucs.org/jucs_10_9/a_formal_model_of/Power_J_F.pdf 2022-06-03 16:33:40 and the author created a Forth interpreter in the Pict language 2022-06-03 16:53:13 I think Forth and formalization have mostly different audiences. 2022-06-03 17:00:35 Oh, they seem to be working with a separate "control flow stack." 2022-06-03 17:51:37 And I thought forth's syntax highlighting was bad in vim https://github.com/vim/vim/pull/10520/commits/f3823045a38d2b77d9cdee2c23d40cca8411bf80 2022-06-03 17:52:11 But the number one programming language doesn't get proper highlighting of floating point numbers 2022-06-03 20:43:37 I've just realized web assembly is forth and lisp together 2022-06-03 20:44:09 web assembly is actually a virtual stack based machine 2022-06-03 20:44:30 web assembly text format has 2 representations, a linear one and s-expressions 2022-06-03 20:45:23 the linear one is forth, the stack is implicit, it just removes the rpn by being line oriented 2022-06-03 20:45:36 both notations s-expressions and linear can be mixed together 2022-06-03 20:46:55 https://www.toptal.com/developers/hastebin/ilifuwuves.php 2022-06-03 20:47:42 here's an example of wast that defines 3 variables and adds two of them saving the result in the c var 2022-06-03 20:48:23 inside (func $main... it's the linear notation which is like a non rpn object oriented forth xd 2022-06-03 20:49:21 "non rpn forth"????? 2022-06-03 20:49:25 That doesn't compute. 2022-06-03 20:50:08 Do you mean that each line is treated separately? 2022-06-03 20:50:18 As in, produces a result? 2022-06-03 20:50:25 That's kind of how APL is. 2022-06-03 20:52:38 KipIngram: I mean if you take every line of code and reverse it by words it becomes forth code 2022-06-03 20:53:50 global.get $a_val global.get $b_val i32.add 2022-06-03 20:54:01 this is forth code 2022-06-03 20:54:48 Oh, I see. 2022-06-03 21:10:17 actually it's funny because I always wanted to get rid of the rpn by reversing lines 2022-06-03 21:10:34 but never did it because I thought read by lines would limit me