News for hackers. Stuff that matters.
Re:On Composition (2019) by agumonkey on Thursday January 16, 2020 @09:17AM (#22064683)
This is very reminiscent of VPRI (and Kay's) efforts to shrink code size using shared abstraction written in OMeta.

Also a lot of attempts have been made around meta editors (eclipse tried, and probably still does with EMF/xText)

Honestly.. I cannot help but to think that most programs are parsers. My vue app is a weird GUI to assemble a tree of things by swallowing (reducing) over a stream of events (not unlike a stream of bytes).

Anyway one day it will happen.

Re:On Composition (2019) by js8 on Thursday January 16, 2020 @10:02AM (#22065103)
> Honestly.. I cannot help but to think that most programs are parsers

In some sense that is true. The idea that most programs are just layered interpreters has been explored in: http://degoes.net/articles/modern-fp

Re:On Composition (2019) by snidane on Thursday January 16, 2020 @05:43PM (#22069834)
The idea of program as an interpreter of an input stream of instructions seems very intuitive to me.

On the other hand pure functional programming with all those monads IO monad hacks doesn't even seem to map to what we are trying to use computers for.

I would go as far as saying that not only functional paradigm but also Turing machines and lambda calculus are inadequate mathematical models for how we are using computers. In those computational models the computation is bounded - it converts a set of inputs to a result and then dies until somebody runs it again.

Most modern applications of computers are unbounded computations. The machine reads an input stream (eg. keystrokes and mose clicks) and produces another stream od outputs (such as instructions to modify pixels on a screen).

Re:On Composition (2019) by agumonkey on Thursday January 16, 2020 @10:54AM (#22065637)
Good point, I forgot about this.

We just need distributed multi-user interpreters (down to the metal) :)