Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You can do (approximately) the same in Joy, so I don't know what parent meant by "minimal".

http://tunes.org/~iepos/joy.html#conssipk

This should be expected, because concatenative is a syntax style alternative to applicative syntax for functions, and has no trouble with lambda calculus semantics.

The main difference (why Joy uses (s',k) instead of (s,k)) is that Joy has quoting, but this just for convenience for large data, not essential.



I use minimal in the sense of the smallest number of primitive proper combinators [1]. Thanks for pointing out that Joy is similarly minimal.

Do you know of any concatenative language without quoting?

I find combinary languages simpler than concatenative ones, since the former uses only application as a composition mechanism, whereas the latter uses both concatenation and grouping with [].

[1] https://math.stackexchange.com/questions/839926/is-there-a-p...


Honestly I don't really understand the deeper meaning of quoting/grouping, so I might be quite wrong about its use.

How is concatenative grouping/quoting different from combinatory parentheses (or your binary equivalent).

In pure lambda calculus you need parentheses to disambiguate, because everything is a function and there are no natural non-functional values. In a concatenative language you need something to solve that problem, maybe quoting does that?

I'm over my head when I think about precisely how "small" these languages are, when trying to be explicit about how much is hidden in the virtual machine of evaluating a program (string of symbols).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: