Skip to content

LukeAlbarracin/snofin-web-cljs

Repository files navigation

Snofin

Full-Stack Clojure Web App with Python Interpreter

My experimention with a frontend written in Clojure integrated with a backend Python interpreter.

Context

I started this while exploring different programming languages and wanted to see if it was possible to run Python in a Clojure full stack application. I had experimented with Rust macros here and needed to implement for computer science club as an example since students only knew Python.

GraalVM uses Truffle, a Java library that offers abstract syntax tree (AST) support.

Technology Details

Frontend

The frontend is implemented as a web application in Clojure uses Clojurescript to generate Javascript.

Backend

The backend uses Luminus framework and supports websockets with http-kit library to parse client requests. A request packages up a Python text expression which is interpreted Truffle on GraalVM to parse and invoke shell commands.

Related

References

Releases

No releases published

Packages

No packages published