FOSSMeet 2020

FOSSMeet is an annual event at NIT Calicut that brings together the Free and Open Source Community from around the country.

Why Clojure? - Modern LISP on JVM

Submitted by varun krishna (@vhawk19) on Thursday, 5 March 2020

Status: Submitted

Abstract

Clojure is a pragmatic language choice for programmers. It is a Functional Programming language with immutable data and first class functions.The dynamic type system of clojure makes it really flexible, productive unlike many purely functional programming languages. It leverages the stability, security and portability of the JVM. Which makes it a popular choice amongst startups, as it allows you to scale without comprimising on productivity or performance. The REPL makes interacting super-intuitive and lets one prototype rapidly. It also has a strong concurrency support, which makes it really useful to ooze out maximum performance from multi-core systems today without worrying about locks and threads!

And the best part? You can use all the libraries that come with java, making it a great choice for real world applications and general purpose computing.

Outline

The idea is to take a simple program and implement it in clojure while showcasing its different features

Introduction (2 mins)

  • What is Clojure?

Live Programming (25 mins)

  • S-Expressions (And comment or two about LISP :p)
  • Looping using recur
  • Lazy sequences
  • Anonymous functions
  • Java Interop
  • Concurrent Programming with refs

Some interesting clojure projects (3 mins)

  • ClojureScript - the javascript compiler for clojure
  • libpython-clj - bring python to clojure and vice versa!
  • ferret - clojure in real time embedded control systems

Requirements

An open mind would be great :)

Speaker bio

I am Varun Krishna S, a student developer from Govt. Model Engineering College Kochi. I am clojure/python enthusiast currently interning at SaveMo trying to extract Transactional Information from SMS data. My love for functional programming started with trying to play around with haskell in school, but caught on when I worked on building a clojure application at nilenso where I interned briefly. I generally associate myself with building reliable backend applications or tinkering with hardware most of the times. Not a huge fan of hackathons but been to a dozen and won a couple. I do tend to rant quite a lot on how the future is decentralized and functional :p .

Links

Comments

Login with Twitter or Google to leave a comment