Clojure is a dynamic programming language designed to be general-purpose, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure compiles directly to JVM bytecode. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language,and features a rich set of immutable, persistent data structures.
Tag Archives: Functional
Yhc
JoyJ
Joy in Java (JoyJ) is an interpreter for the concatenative programming language Joy implemented in Java. The current version features an outer interpreter written using Antlr3 and an object format based on JSON.
v-language
v-language is a tiny concatenative language implemented for experimentation. It is currently implemented only over JVM and is in alpha stage.
CAL
CAL is a lazy functional language influenced by Haskell. It has an expressionbased syntax akin to other formula languages (such as those found in Excel and Crystal Reports). It also features a powerful and flexible type system which allows the compiler to perform precise compile-time checking of function calls. In addition, it has a simple syntax for accessing Java objects, methods, and fields from within CAL.
Aardappel
Aardappel is a new language, which computes by concurrently reducing trees (using a form of tree-rewriting) which sit together in tree-spaces (bags) and communicate amongst eachother (exchanging parts of themselves, in Linda-like fashion), and in general having a jolly good time alltogether. The language is 100% graphical. Oh yes, the language is linear as well.
Mini
Mini is a very simple (half-functional) language written to test the ClassGen package of the JavaClass API.
PLAN
PLAN is a resource-bounded functional programming language that uses a form of remote procedure call to realize active networking. PLAN is designed to be a public, authentication-free layer in the Active Network hierarchy. For this reason, we have limited the expressive power of PLAN in order to guarantee that all programs will terminate, thus reasonably permitting a router to run any PLAN program. However, PLAN can also be used as a “glue” layer which allows access to higher-level services.
Funnel
Funnel is a new programming language based on Functional Nets. Functional Nets combine key ideas of Functional Programming and Petri-Nets to yield a simple and general programming notation.
ycr2js: Haskell in JavaScript
The York Haskell Compiler Core to Javascript Converter (ycr2js) is aimed to create a tool that generates Javascript out of a binary Yhc core file. The Yhc compiler generally produces a binary bytecode file (usually named with .hbc extension) for each Haskell module compiled. These bytecode files are to be interpreted by yhi, a command-line bytecode interpreter. The ycr2js program reads the binary core file specified (.yca or .ycr), and performs conversion of Haskell functions compiled into Core to their Javascript representation storing the generated Javascript code in a file. Resulting Javascript may be embedded on a (X)HTML page to be loaded into a Web browser.