You are viewing archived messages.
Go here to search the history.

Paul Tarvydas 2024-11-12 03:36:00

Revelation: I like to think in terms of UNIX pipelines. 0D is like UNIX pipelines, but, 0D is more efficient and 0D allows many more input and output ports in software components. Using UNIX's stdin , stdout and stderr are not enough in the presence of multiple ports. It looks like JSON might fit the bill, though. I know from previous experience that SWIPL (a PROLOG) can cast its results to JSON. I imagine that any modern programming language can produce JSON. I hope to poke at this idea of using JSON instead of using raw, unstructured text like stdout in hopes of creating a cheapo multi-language REPL.

๐ŸŽฅ Edited

Edited

Marcel Weiher 2024-11-13 22:12:36

I also like Unix pipes. But I donโ€™t like requiring processes, IPC and serialization. I do like having the option of these things.

So I just generalize to objects and pass those between filters that โ€ฆ are also objects.

This is a generalization, so if you want to run filters as processes and exchange data via serialized byte streams, that is available as a special case.

But my experience is that it is rarely necessary.

dl.acm.org/doi/10.1145/3359619.3359748

dl.acm.org/doi/10.1145/3689492.3690052

Jason Morris 2024-11-12 08:19:20

Incidentally re-read something I wrote in October of '23, and realized that I am still working on implementing those same thoughts today. The thing I wrote about then has been an evenings and weekends project for me since, and I am hoping to have a version live for people to play with early in the new year. Is 15 months too long to go between releases? ๐Ÿ˜…

Tom Lieber 2024-11-12 08:35:52

No matter when, it will always be a pleasant surprise.

Pietu 2024-11-12 13:33:12

I feel myself falling into this trap time and time again. If it does not bother you, then it's no problem.

Pietu 2024-11-15 14:09:13

Hi again ๐Ÿ‘‹.

I've recently started a project to try out some of the ideas I've had regarding markdown and writing. The approach i've taken is to implement my own markup language with some interesting properties.

The perspective this time is, "why should a piece of content be represented as one thing". A list is a list, an image is an image, a quote is a quote. Could we somehow compose these to make eg. a "code quote".

This time, i've got a bare-bones video demoing how blocks of content can be composed.

Pietu 2024-11-15 14:09:37

(my previous update can be watched ๐Ÿ’ฌ #devlog-together@2024-11-07)

Konrad Hinsen 2024-11-16 09:02:56

Now I want the result of running the fib code block as a list...

Paul Tarvydas 2024-11-16 04:13:34

Inspired by my previous REPL experiments, Iโ€™ve begun playing around with a more complicated example - a programming language workbench.

open.substack.com/pub/programmingsimplicity/p/programming-language-workbench-beginnings?r=1egdky&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true

๐Ÿ“ Programming Language Workbench - Beginnings

Towards Higher Level Syntax for Programming Languages 2024-11-15

Tom Lieber 2024-11-16 10:05:07

The layout in this next prototype is complicated enough that I finally got around to some automatic layout.

image.png

Tom Lieber 2024-11-17 09:00:56

A few debug passes, and it renders schematic tables!

image.png

Joshua Horowitz 2024-11-17 20:28:25

Impressive! What does the code for that look like? I'm curious how you handle tabular stuff...

Tom Lieber 2024-11-17 20:56:25

Itโ€™s that layout algorithm where you ask all of your subviews, โ€œHow big would you want to be if you had [this much space]?โ€ then tell them, โ€œOkay, Iโ€™m giving you [this much space], lay out your subviews.โ€

I donโ€™t know the name for it! But it meant the table was easy: it just takes max() of all the heights and widths for the cells in every row and column.

I draw the wires in a second pass using the world coordinates of the THREE.Object3Ds post-layout.

Joshua Horowitz 2024-11-17 20:57:41

Oh I guess I was curious mainly about the client code, like you showed for the previous screenshot. Cuz there's no longer a simple tree hierarchy. Those details are cool tho. ๐Ÿ‘