Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Macro-writing challenge

Name: Anonymous 2016-01-16 13:19

Write a macro check-arguments-non-nil to be used in function definitions, that would expand to assertion about every argument being non-nil.
The intended usage of this macro:

(defun foo (a b c d)
(check-arguments-non-nil)
foo-body)


This should expand to:

(defun foo (a b c d)
(assert (and (not (null a)) (not (null b)) (not (null c)) (not (null d)))
(a b c d)
"Null argument in FOO")
foo-body)


The macro must work whatever the number and names of the function parameters.

Name: Anonymous 2016-01-17 11:20

>>20
The "zero-ish" function throws a fatal error.
This is not applicable to sane static languages anyway, so figuring out a sane default value for each type is moot, since it'll just figure one out once it figures out the type.
Or just invent a value for the bottom type, in the same way undefined is basically the "bottom value" for all types in javascrot. That way the types still align, if you can call them that.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List