index.sz shows the logotype, says in a sentence what Bjolang is, shows a short program (a union, an exhaustive match, a loop), and links to the manual and its library reference. It has no menu: (listing? #f). manual/ is BjoManual as a git submodule, served as a folder of the site. _resources/glasnost.css centres the logotype and keeps it to the column. glasnost's page cache is ignored. 🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-5-5) Co-Authored-By: eca-agent <git@eca.dev>
29 lines
766 B
Text
29 lines
766 B
Text
(meta (title "Bjolang")
|
|
(listing? #f))
|
|
|
|
@div["logo"]{@image["/_resources/logo.svg" #:alt "Bjolang"]}
|
|
|
|
Bjolang is a Lisp for .NET. It has types that are inferred, unions that are
|
|
matched exhaustively, traits, hygienic macros, and bjoroutines, and it
|
|
compiles to C#.
|
|
|
|
@codeblock[#:lang "bjolang"]|{
|
|
(import (std prelude))
|
|
|
|
(type (: Shape (Union (: Circle double)
|
|
(: Rect double double))))
|
|
|
|
(: area (-> Shape double))
|
|
(defun (area shape)
|
|
(match shape
|
|
((Circle r) (* 3.14159 (* r r)))
|
|
((Rect w h) (* w h))))
|
|
|
|
(defun (main args)
|
|
(loop (:for s [(Circle 1.0) (Rect 2.0 3.0)])
|
|
(:do (println #"area: ${(area s)}")))
|
|
0)
|
|
}|
|
|
|
|
@link["manual/"]{Read the manual}, or go straight to the
|
|
@link["manual/modules/"]{library reference}.
|