LukeAlbarracin / snofin-web-cljs

Full-Stack Clojure Web App with Python Interpreter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Full-Stack Clojure Web App with Python Interpreter

License:MIT License


Languages

Language:Clojure 90.5%Language:HTML 6.8%Language:CSS 2.7%