Kinda grim but can be easily wrapped up in abstractions.
import (div) from "html"
(class "test") div
ClojureScript Style
"class" "test" js/document "createElement" .
Requires botching the syntax to make namescaped symbols. Not a fan.
Keywords + Hiccup Style
import (to-html) from "html"
(:div (:class "test")) to-html
Nice declarativeness but gets lispy pretty quickly. Keywords might be a good thing for the language overall. Would require much better support for working with functions before evaluation.
Could quite easily be transformed with macros into a better intermediate structure.
Figure out a mechanism for native interop. Examples and ideas:
Dedicated Namespace
Kinda grim but can be easily wrapped up in abstractions.
ClojureScript Style
Requires botching the syntax to make namescaped symbols. Not a fan.
Keywords + Hiccup Style
Nice declarativeness but gets lispy pretty quickly. Keywords might be a good thing for the language overall. Would require much better support for working with functions before evaluation.
Could quite easily be transformed with macros into a better intermediate structure.