Kernel is a Scheme-like programming language by John N. Shutt in which all objects are first-class.
Example
In Scheme and is a macro, because for example (and #f (/ 1 0)) must not evaluate the division. This also means it cannot be used in higher-order functions; it is second-class. In Kernel one has $and? defined by($define! $and? ($vau x e ($cond ((null? x) #t) ((null? (cdr x)) (eval (car x) e)) ((eval (car x) e) (apply (wrap $and?) (cdr x) e)) (#t #f))))which is a first-class object — technically, a fexpr — and can thus be used in higher-order functions, such as map.
References
* [ftp://ftp.cs.wpi.edu/pub/techreports/pdf/05-07.pdf Revised-1 Report on the Kernel Programming Language]
Forth (programming language) — infobox programming language name = Forth paradigm = Procedural, stack oriented year = 1970s designer = Charles H. Moore typing = typeless dialects = colorForth, Open Firmware implementations = Forth, Inc., GNU Forth, MPE influenced by =… … Wikipedia
C (programming language) — C The C Programming Language[1] (aka K R ) is the seminal book on C … Wikipedia
Ada (programming language) — For other uses of Ada or ADA, see Ada (disambiguation). Ada Paradigm(s) Multi paradigm Appeared in 1980 Designed by MIL STD 1815/Ada 83: Jean Ichbiah Ada 95: Tucker Taft Ada 2005: Tucker Taft Stable release … Wikipedia
Pascal (programming language) — Pascal Paradigm(s) imperative, structured Appeared in 1970 Designed by Niklaus Wirth Typing discipline static, strong, safe … Wikipedia
Oberon (programming language) — Oberon Paradigm(s) imperative, structured, modular Appeared in 1986 Designed by Niklaus Wirth Typing discipline strong, static … Wikipedia
Curl (programming language) — Curl Paradigm(s) multi paradigm: object oriented, markup Appeared in 1998 Designed by Steve Ward, MIT Developer … Wikipedia
B (programming language) — infobox programming language name = B caption = file ext = paradigm = year = 1969 designer = Ken Thompson developer = Ken Thompson, Dennis Ritchie latest release version = latest release date = latest test version = latest test date = turing… … Wikipedia
SPARK (programming language) — infobox programming language name = SPARK influenced by = Ada, HAL/SSPARK is a formally defined computer programming language based on the Ada programming language, intended to be secure and to support the development of high integrity software… … Wikipedia
LPC (programming language) — Infobox programming language name = LPC paradigm = prototype based year = designer = Lars Pensjö developer = Lars Pensjö and others latest release version = latest release date = typing = implementations = LPC dialects = Amylaar, MudOS, LDMud,… … Wikipedia
Kernel — may refer to:Computing* Kernel (computer science), the central component of most operating systems ** Linux kernel * Kernel (programming language), a Scheme like language * kernel trick, in machine learningLiterature* Kernel ( Lilo Stitch ),… … Wikipedia