Discussion
Combinators
ux266478: A bit of an aside: I wonder how much Array-oriented languages like APL and J would benefit from being implemented on top of an interaction net machine?
siruwastaken: Could somebody provide a bit of context on what exactly this is? It seems interesting, but I have no idea what I am looking at.
leethomp: Many primitives in array languages match the behaviour of certain combinators in combinatory logic. The page shows (left to right) the symbol for a certain combinator, its effective operation in APL syntax where x and y are left and right arguments (APL operators are either infix or single-parameter prefix) and F and G are similarly left and right function arguments, the 'bird' is a sort of colloquial name for a particular combinator, 'TinyAPL' is the operator that matches the combinator in the author's APL implementation, and the diagram is a way of explaining how the combinator works visuallyBQN, another array language has a page of documentation describing the same concept for their language with a bit more explanation for the combinator newcomer: https://mlochbaum.github.io/BQN/tutorial/combinator.html
general_reveal: Can we solve for x and y? All I see is algebra here, is my intuition wrong?
Zhyl: It's more like a recipe (for functions).The first example, I, is an identity function. It takes y and returns y.The second, K, is a constant which takes X and y and returns x.This gets more complicated as you go along. The idea is that you get rid of a lot of the syntax for composition and have it all be implicit by what you put next to each other (given APL programs are usually one long line of a bunch of different symbols all representing functions).
jb1991: This site is actually named after one of the most popular and widely used Combinators in lisp.
seanhunter: The intuition here is that combinators are higher order functions which take functions and combine them together in various ways. So for a simple example "fix" is a combinator in regular maths whereFix f = {f(x): f(x) = x for all x in the domain of f}So if f is a function or a group action or whatever, the fixed-point set of f is all points x in the domain of f such that f(x)=x. ie the points which are unchanged by x. So if f is a reflection, the points which sit on the axis of reflection.The fixed-point combinator is of particular relevance to this site because it's often called the y combinator.