Jason Morris 2023-05-16 15:37:11 Just had a meeting with my user. Singular. He's been busy writing code, and the code is working, and he's starting to feel competent with the tool. So I have a guy trained as a lawyer doing legal knowledge representation in a constraint answer set programming language, without help, and validating that code as accurate with the help of other non-coders. Zero to one. Woo! 🎉
Jess Martin 2023-05-18 13:29:02 having even one happy, engaged user is a wonderful feedback loop for developing the tool!
Jimmy Miller 2023-05-18 16:08:57 Since getting laid off at shopify, I've been trying to do a bit more on side projects. I've been streaming building an arm assembler that is serving as the basis for a programming language I want to build. At the simplest level, I want a dynamically typed language that compiles straight to machine code (not aot). But ultimately, I want this to serve as a platform for experimenting with features a lot of languages don't have.
Off stream I've been working on my editor, right now learning the bare minimum of shaders so I can play with some effects and think about ways an editor could look and work.
If anyone has thoughts or ideas on either of these topics, happy to hear them.
Eli Mellen 2023-05-18 16:10:38 can you share a link to where you’ve been streaming? I’d love to catch those, time permitting!
Jimmy Miller 2023-05-18 16:12:40 I'm definitely still getting the hang of streaming, but its been really fun
Eli Mellen 2023-05-18 16:19:24 thanks! I’m excited to check this out! Also, if you are in the US, hit me up if you are interested in gigs with library of congress or potentially NASA — where I currently work has some openings right now. 100% for LOC, and I think some are coming for NASA. Happy to make recs and intros.
Jack Rusher 2023-05-19 07:44:11 What are some of the cool features you’re thinking about that most languages don’t have? 🙂
Chris Maughan 2023-05-19 09:23:39 Are you building a live shader editing tool, or learning shaders to help build the editor? I'll checkout the stream!
Jimmy Miller 2023-05-19 17:27:37 Jack Rusher You know that's a bit open question still. Mundanely, bringing lisp interactive development to a non-lisp language. So the syntax is going to need to allow you to evaluate sub-forms in a nice manner. I also want to bring ADTs to a dynamically typed language (see pyret for prior art there). And experiment with lack of nulls and exceptions (fairly unusual for dynamic languages.)
I'd also like to play with controlling determinism for a traveling debugger setup. The tomorrow corporation tech demo definitely is an inspiration for some of those features.
More personally, I found working on YJIT just how opaque the internals of languages are in a way I just don't believe they need to be. I'd love to have a language development environment that is graphical and ties deeply into the language. I should be able to see all the machine code generated, all the connections in the call graph, pull up a function in the source and see line for line the code generation. See the stack, the heap, etc.
These last two features combined will hopefully make for a nice language dev experience.
I have other ideas, but ultimately, I am aiming at a practical, not-super-futuristic language. The dynamically typed language I wish I could code in. Elixir and Clojure are the only "modern" (not from the 90s) dynamically typed languages that have gotten any sort of traction for general purpose programming in recent years. Both of them are parasitic on existing platforms. Why can't we have a greenfield dynamically typed language?
Jimmy Miller 2023-05-19 17:28:28
Are you building a live shader editing tool, or learning shaders to help build the editor? I'll checkout the stream!
Why not both? 🙂 Yeah, I'm mostly learning shaders to help build the editor. But I also am going to expose editing those shaders at runtime in the editor.
Eli Mellen 2023-05-19 19:33:31 As for thoughts about editor/language — I’m excited by the idea of tightly coupling the two 😳 😬
Jimmy Miller 2023-05-19 19:48:48 You know, I think there is a lot that makes sense about coupling the two. And I am always tempted in that direction. But I also want an editor I can use for all my coding, and my coding will always be across multiple languages.
Walled gardens are nice. But can we get the benefits without all the walls?
Eli Mellen 2023-05-19 19:55:37 You can totally write APL without it. But with it it gets so much better.
Eli Mellen 2023-05-19 19:56:05 Wonder if it can be an enhancement, like roller blades on an already fast runner.
Eli Mellen 2023-05-19 20:01:08 Left for uxn is another example. You can write uxntal without it. You can use left with any other text files. But it really sings with uxntal
Paul Tarvydas 2023-05-20 17:55:01 Working Paper rt0D
...“Computer” is a Misnomer, “Function” is a Misnomer, “CPU” is a Misnomer, Mathematics Notation, Verbatim, How?...
The ultimate goal is to enable the use of diagrams as syntax (DaS). This is but a step in that direction.
... “RT” is like assembler with a recursive syntax, instead of a line-oriented syntax ...
The rest of the note is at github.com/guitarvydas/rt0d/blob/main/doc/2023-05-19-Working%20Paper%20rt0d.md