Login
7 branches 0 tags
Ben (RPI 4) tools/, vendor/, web/ will now be ignored by linguist c5ab557 4 years ago 162 Commits
nujel / stdlib / 0_core.nuj
; Contains native nujel implementations of some
; core language constructs and essential macros

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

[defun list [...arguments]
        "Return ARGUMENTS as a list"
        ...arguments
]

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

[defun caar [p]
        "[car [car p]]"
        [car [car p]]
]

[defun cadr [p]
        "[car [cdr p]]"
        [car [cdr p]]
]

[defun cdar [p]
        "[cdr [car p]]"
        [cdr [car p]]
]

[defun cddr [p]
        "[cdr [cdr p]]"
        [cdr [cdr p]]
]

[defun caddr [p]
        "[car [cdr [cdr p]]]"
        [car [cdr [cdr p]]]
]

[defun cdddr [p]
        "[cdr [cdr [cdr p]]]"
        [cdr [cdr [cdr p]]]
]

[defun cadddr [p]
        "[car [cdr [cdr [cdr p]]]]"
        [car [cdr [cdr [cdr p]]]]
]

[defun println [str]
       [print [cat str "\n"]]
]