Structural Editor
As demonstrated in Cirru Project, it's for higher goals of auto-layout code editor. Calcit Editor was incubated in Cirru.
Structural editing makes Calcit a lot different from existing languages, even unique among Lisps.
Calcit Editor uses a calcit.cirru
as snapshot file, which contains much informations. And it is compiled into compact.cirru
for evaluating.
Example of a compact.cirru
file is more readable:
{} (:package |app)
:configs $ {} (:init-fn |app.main/main!) (:reload-fn |app.main/reload!)
:modules $ []
:files $ {}
|app.main $ %{} :FileEntry
:defs $ {}
|main! $ quote
defn main! () (+ 1 2)
|reload! $ quote
defn reload! ()
:ns $ quote
ns app.main $ :require
Also Hovenia Editor is another experiment rendering S-Expressions into Canvas.