(rontolisp) docs

Mixing with Common Lisp

Scheme identifiers keep their case, so a Common Lisp file calls a Scheme procedure by its escaped name. A top-level procedure that is defined once and never set! is an ordinary function.

$ cat lib.scm
(define (twice x) (* 2 x))
$ cat main.lisp
(load "lib.scm")
(print (|twice| 21))
$ rontolisp main.lisp
42

In that direction only three values need care: '() is NIL, #t is T, and #f is its own value -- a #f handed to Common Lisp code is TRUE there, and a NIL returned to Scheme is the empty list, which is true.