Langur is an open-source functional scripting language written by Anthony Davis. Its principles of design are sensibility to humans, accuracy in calculation, clean, expressive syntax, and a functional style.
The following is a partial list of langur's features.
Langur was initially developed following Writing an Interpreter in Go and Writing a Compiler in Go, with many features added and changes made.
Please browse the features of langur by following the navigation links.
langur 0.3.4 alpha source code
(7-Zip, 91K, June 5, 2019)
Langur uses the Apache license 2.0.
Constructive feeback is welcome.
A full revision history is included in the README.md file.
2019-06-05 - 0.3.4 alpha - changed comparison of arrays, hashes, and ranges so that composite things containing NaN may compare as equal - changed interpolation to require $ at beginning of string or regex - fixed escaping of non-string values in interpolations - made it possible to use built-in functions case-insensitive Variables and keywords are still case-sensitive. - updated functions to work with plain strings (not just regex): matching(), index(), indices() - added string x integer (multiply string) operation - added functions: lTrim(), rTrim() - modified pop() function to accept hash and a key or array of keys to remove does not throw on keys not present (including invalid keys) - disallowed explicit fallthrough in shortened form given expression - disallowed spacing between opening interpolation marker and escaping indicator