5 ms·
A Lisp with a type system? Sounds like Common Lisp to me. SBCL (I'd say as close to a de facto standard as it gets) even has pretty good compile time type check
by tmtvl 2y ago
A Lisp with a type system? Sounds like Common Lisp to me. SBCL (I'd say as close to a de facto standard as it gets) even has pretty good compile time type checking. E.g.
(defun foo (a b)
(declare (type String a b))
(+ a b))
; in: DEFUN FOO
; (+ A B)
;
; caught WARNING:
; Derived type of COMMON-LISP-USER::A is
; (VALUES STRING &OPTIONAL),
; conflicting with its asserted type
; NUMBER.
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
The type checking is the main thing that drove me to switch from Scheme to CL in the first place, and I stuck around for the nice little things like restarts and continuable asserts.