Login
7 branches 0 tags
Ben (X13/Arch) Improved indentation and added [defun] macro dfbe349 4 years ago 154 Commits
nujel / stdlib / 0_core.nuj
; Contains native nujel implementations of some
; core language constructs and essential macros

[def not [λ [v]
           "Return true if V is false"
           [if v #f #t]
]]

[def list [λ [...arguments]
        "Return ARGUMENTS as a list"
        ...arguments
]]

[def default [λ [arg default-value]
        "Returns ARG or DEFAULT-VALUE if ARG is #nil"
        [if arg arg default-value]
]]

[def caar [λ [p]
        "[car [car p]]"
        [car [car p]]
]]

[def cadr [λ [p]
        "[car [cdr p]]"
        [car [cdr p]]
]]

[def cdar [λ [p]
        "[cdr [car p]]"
        [cdr [car p]]
]]

[def cddr [λ [p]
        "[cdr [cdr p]]"
        [cdr [cdr p]]
]]

[def caddr [λ [p]
        "[car [cdr [cdr p]]]"
        [car [cdr [cdr p]]]
]]

[def cdddr [λ [p]
        "[cdr [cdr [cdr p]]]"
        [cdr [cdr [cdr p]]]
]]

[def cadddr [λ [p]
        "[car [cdr [cdr [cdr p]]]]"
        [car [cdr [cdr [cdr p]]]]
]]