Mondi su mondi, sistemi di sistemi.

links for 2009-10-04

  • Clojure is a dyna­mic pro­gram­ming lan­guage that tar­gets the Java Virtual Machine. It is desi­gned to be a general-purpose lan­guage, com­bi­ning the approa­cha­bi­lity and inte­rac­tive deve­lo­p­ment of a scrip­ting lan­guage with an effi­cient and robust infra­struc­ture for mul­ti­th­rea­ded pro­gram­ming. Clojure is a com­pi­led lan­guage — it com­pi­les direc­tly to JVM byte­code, yet remains com­ple­tely dyna­mic. Every fea­ture sup­por­ted by Clojure is sup­por­ted at run­time. Clojure pro­vi­des easy access to the Java fra­meworks, with optio­nal type hints and type infe­rence, to ensure that calls to Java can avoid reflection.

    Clojure is a dia­lect of Lisp, and shares with Lisp the code-as-data phi­lo­so­phy and a power­ful macro system. Clojure is pre­do­mi­nan­tly a func­tio­nal pro­gram­ming lan­guage, and fea­tu­res a rich set of immu­ta­ble, per­si­stent data struc­tu­res. When muta­ble state is nee­ded, Clojure offers a soft­ware tran­sac­tio­nal memory system and reac­tive Agent system that ensure clean, cor­rect, mul­ti­th­rea­ded designs.

Per proseguire

Commenti e trackback sono disabilitati.