António Monteiro: I think the rich (pun intended) set of highly performant persistent data structures are my personal favorite. Ever since getting used to immutability I find it really hard to go back and have to think about ad-hoc mutation.

PF.tv: What is your least favorite feature of Clojure?

AM: This is a hard question to answer, I suppose I’ve gotten accustomed to somethings that I shouldn’t have (the developer version of Stockholm syndrome). One thing that still annoys me though, is how hard it is to get namespaces to reload correctly.

PF.tv: Can you briefly describe your talk?

AM: My talk is about Lumo, a standalone ClojureScript environment that I started building the fall of 2016. I’m going to cover motivation, some technical challenges, showcase some features I think are cool and speak about what’s next in Lumo's future.

PF.tv: Why did you choose this topic?

AM: I’ve been really interested to see where ClojureScript can go since compiler self-hosting became a reality. Lumo was the product of experimentation with the bootstrapped compiler and my previous experience in the Node.js ecosystem. Now that it actually works and people are using it, I want to get the word out that there’s this

PF.tv: What is one thing I will be able to do after watching your talk?

AM: Hopefully you’ll know what the immediate use cases for Lumo are. I’m inclined to put some emphasis on scripting with ClojureScript so that attendees can finish watching the talk and immediately convert all their hard-to-maintain shell scripts with ClojureScript scripts that run in Lumo!

PF.tv: What are the three most important concepts I need to know to follow the conversation?

AM:

ClojureScript can compile itself (this is what allows Lumo to run without the need for a JVM!)

Node.js is JavaScript that runs on the server (no browser necessary)

Building on top of the Node.js platform allows Lumo to piggyback on all the cool features like native modules for I/O and dependency loading.