Joy (programming language): Difference between revisions

Content deleted Content added
Joy was obviously inspired by Forth. The original homepage even mentions how it lifted certain stack operators straight from it.
Monkbot (talk | contribs)
m Mathematical purity: Task 16: replaced (1×) / removed (0×) deprecated |dead-url= and |deadurl= with |url-status=;
Line 68:
In Joy, the [[eval|meaning function]] is a [[homomorphism]] from the [[syntax|syntactic]] [[monoid]] onto the [[semantics|semantic]] [[monoid]]. That is, the syntactic relation of [[concatenation]] of [[symbol]]s maps directly onto the semantic relation of [[Function composition|composition]] of [[function (mathematics)|functions]]. It is a [[homomorphism]] rather than an [[isomorphism]], because it is [[onto]] but not [[bijection|one-to-one]]; that is, no symbol has more than one meaning, but some sequences of symbols have the same meaning (e.g. "dup +" and "2 *").
 
Joy is a [[concatenative programming language]]: "The concatenation of two programs denotes the composition of the functions denoted by the two programs".<ref>{{cite web|title=Mathematical Foundations of Joy |url=http://www.latrobe.edu.au/phimvt/joy/j02maf.html |deadurlurl-status=yesdead |archiveurl=https://web.archive.org/web/20111007025556/http://www.latrobe.edu.au/phimvt/joy/j02maf.html |archivedate=October 7, 2011 }}</ref>
 
Its library routines mirror those of ISO [[C (programming language)|C]], though the current implementation is not easily extensible with functions written in C.