Intelligent Process Control Seminar

Functional Programming languages for AI - Clojure

by Christian Willner

459 (30b)



Zoom virtual access: <br> <br> Meeting ID 321 562 3178 <br> Password 426314
Languages with functional programming (FP) implementation are often recommended for AI research. The earliest FP language is Lisp, which was designed for AI applications from the very start. A modern dialect of Lisp is Clojure. Hosted on the Java Virtual Machine, Clojure programs can be run on a wide spectrum of devices, abstracting from OS and hardware. Clojure enables developers to use any JVM language library. This symbiosis can be leveraged for the expansion of existing ecosystems. Native libraries benefit from Clojure’s design focus on concurrency. Usage of asynchronous agents and software transactional memory proves fast, practical, and robust. Clojure’s development environment, the REPL, can be attached to remotely running programs and offers immediate feedback. A demonstration shows the ease from design to program due to high-level semantics and concise syntax. To demonstrate the application, generative adversarial networks are presented as a machine-learning example, followed by genetic programming heuristics to generate neural networks parameters.