Login
7 branches 0 tags
Ben (X13/Arch) Added quasiquote,unquote,unquote-splicing 6644b86 4 years ago 152 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]]]]
]]