S x y z = x z (y z)
K x y = x
The following by itself also suffices, but needs K in its definition: S' x y z = x z (y (K z)) S x y z = x z (y z)
K x y = x
The following by itself also suffices, but needs K in its definition: S' x y z = x z (y (K z))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.
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...
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).
https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19....
Y'=SSK(S(K(SS(S(SSK))))K)=X(XX)X(XX)XX(X(XX)(XX(X(XX)X(XX)(X(XX)(X(XX)X(XX)XX))))XX)
X(XX)X(XX)XX [ 0, 1 ] == {(, X}] Binary Combinatory Logic Truth: 1101111* EDIT: Not merely expanding a base but e.g. comparing a 6-set with a /different/ 2-set, as above.