Talk:Mlatu

From Esolang
Jump to navigation Jump to search

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)