Talk:Mlatu
Relation to Underload
It seems like this language is the same as Underload without IO, only the builtins have different names:
mlatu | Joy [1] (with combinators) | Joy (with lambdas) | Underload | GML |
---|---|---|---|---|
+ | dup | X\ [X] [X] | : | /x x x |
- | zap | X\ | ! | /x |
> | unit | X\ X | a | /x { x } |
~ | swap | Y\ X\ [X] [Y] | ~ | /y /x y x |
< | i | X\ X | ^ | apply |
, | cat | Y\ X\ [X Y] | * | /y /x { x apply y apply } |
~>~, | cons | Y\ X\ [[Y] X] | ~a~* | /y /x { y x apply } |
~>,< | dip | Y\ X\ X [Y] | ~a*^ | /y /x x apply y |
( | [ | [ | ( | { |
) | ] | ] | ) | } |
not representable | X\ ... [X] ... | not representable | /X ... X ... | |
not representable | X\ ... X ... | not representable | /X ... X apply ... |
Can you explain if there is some other difference between these languages that I'm missing?
– b_jonas 12:01, 30 April 2025 (UTC)
Apparently mlatu also allows you to define new term rewriting rules, making it more capable. So I have to amend my question. Is mlatu without defining term rewriting rules the same as Underload without IO? – b_jonas 12:05, 30 April 2025 (UTC)
Update: added the notation from http://tunes.org/~iepos/joy.html to the above translation table. – b_jonas 12:23, 30 April 2025 (UTC)
- Underload is seemingly a separate reinvention of concatenative calculus. So, in that way, I suppose mlatu is equivalent to Underload without IO. But it's more that mlatu is concatenative calculus with rewriting rules, and Underload is a separate reinvention of concatenative calculus with different terminology. stkptr (talk) 13:58, 30 April 2025 (UTC)
I added a translation to GML to the above table. Is this translation correct? – b_jonas 18:51, 30 April 2025 (UTC) Update: added the dip and cons primitives and lambda abstractions from Joy into the table. – b_jonas 23:36, 30 April 2025 (UTC)
- Seems correct from a glance at GML's specification. Names might be a sticking point for a 1-to-1 translation though. stkptr (talk) 08:03, 1 May 2025 (UTC)
The GML translation that I gave for cons and dip were wrong, fixed them. Also added a column for representing these combinators with Joy using lambdas and bound variables only. Still in TODO is editing the relevant wiki articles to explain the relations: mlatu, Concatenative calculus, Underload. – b_jonas 08:42, 7 May 2025 (UTC)