Meet Kiki - an array language
51 points by henderson
51 points by henderson
I thought I wouldn't like the rather poetic introductory blog post, but it is actually quite entertaining and the language itself is very elegant. I find the symbols very well chosen, as they all visually represent what they do. The playground tutorial, docs and overall UI feels fresh and original, very much in line with what people in on the Merveilles webring do. Worth spending some time exploring!
It reads the stars backward. Right to left, always.
Are there any array languages that read left to right (like the concatenative languages)?
Not uninteresting, but it feels surprising the dyadic operators use a colon as in :+, but when you map them, it's +/.
(I don't think monadic/dyadic causes real issues in K, and doesn't make parsing harder either afaiu.)
Some of the monadic/dyadic overloads of K cause confusion in beginners when they aren't obviously related to one another (say, atom vs. index on @ or iota vs. mod/rotate/makedict on !), but It's still a pretty small list of things to memorize. In my experience by far the hairiest aspect of parsing K is the infix adverb forms- {x}{x}/x requires looking ahead two entire recursive expressions to resolve.
The fact that this prevents assignments without a space when using monadic verbs is a bit unfortunate (n:#!9 parses as n :# !9). Also :<- being return left makes for some fun expressions where :<- x and :< -x are very different (but I guess really caring about spaces sometimes is par for the course for K and its descendants…)