Joy (programming language): Difference between revisions

Content deleted Content added
Johnwcowan (talk | contribs)
Mathematical purity: Cleaning up conflict
Line 36:
One of the most beautiful aspects of joy is this: the [[meaning]] function is a [[homomorphism]] from the [[syntax|syntactic]] [[monoid]] onto the [[semantics|semantic]] [[monoid]]. That is, the syntactic relation of [[concatenation]] of [[symbol|symbols]] maps directly onto the semantic relation of [[Function composition|composition]] of [[function (mathematics)|functions]]. It is a [[homomorphism]] instead of an [[isomorphism]] because it is [[onto]] but not [[one-to-one]], that is, some sequences of symbols have the same meaning (e.g. "dup +" and "2 *") but no symbol has more than one meaning.
 
Joy manages to be practical and potentially useful, unlike the otherwise similar [[unlambda]]. Its library routines mirror those of ISO [[C programming language|C]], though the current implementation is not easily extensible with functions written in C.
Joy is the purest implementation of the [[lambda calculus]] as a programming language, but it still manages to be practical and potentially useful, unlike the otherwise similar [[unlambda]].
 
== External link ==