ref: 1d1500e0931e604e2a50dfbcf4854a92e29d5c4f
parent: fc9cfd3c014aa94205a368f1da51bd0086e5dfaa
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Dec 23 19:40:50 EST 2024
document void stuff
--- a/flisp.boot
+++ b/flisp.boot
@@ -14,7 +14,7 @@
#fn("6000n201l:" #()) #fn("6000n201m:" #()) 0 #fn("8000z0700}2:" #(vector))
#fn("8000z0700}2:" #(aset!)) 0 0 0 0 0 0 0 0 0 0 0 #fn("9000n3012082>1|:" #(#fn("6000n1A061:" #())))
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #fn("8000z0700}2:" #(aref)) 0 0)
- *properties* #table(*funvars* #table(length= (lst n) help (term)) *doc* #table(length= "Bounded length test.\n\nUse this instead of (= (length lst) n), since it avoids unnecessary\nwork and always terminates." help "Display documentation for the specified term, if available." *properties* "All properties of symbols recorded with putprop are recorded in this table."))
+ *properties* #table(*funvars* #table(void? (x) length= (lst n) void rest help (term)) *doc* #table(void? "Return #t if x is #<void> and #f otherwise." length= "Bounded length test.\n\nUse this instead of (= (length lst) n), since it avoids unnecessary\nwork and always terminates." void "Return the constant #<void> while ignoring any arguments.\n#<void> is mainly used when a function has side effects but does not\nproduce any meaningful value to return, so even though #t or nil could\nbe returned instead, in case of #<void> alone, REPL will not print\nit." help "Display documentation for the specified term, if available." *properties* "All properties of symbols recorded with putprop are recorded in this table."))
*runestring-type* (array rune) *string-type* (array byte)
*syntax-environment* #table(when #fn(";000z1200211POe4:" #(if begin)) help #fn("<000n170021527002252853\\0738551474504863B07450475086P51@30O47450@B0732627051524745047860:" #(getprop
*doc* *funvars* princ newline print "no help for " #fn(string) void)) with-output-to #fn("<000z12021e1220e2e1e12315163:" #(#fn(nconc)
--- a/system.lsp
+++ b/system.lsp
@@ -12,8 +12,17 @@
(unless (bound? '*properties*)
(define *properties* (table)))
-(define (void . rest) #.(void))
-(define (void? x) (eq? x #.(void)))
+(define (void . rest)
+ "Return the constant #<void> while ignoring any arguments.
+#<void> is mainly used when a function has side effects but does not
+produce any meaningful value to return, so even though #t or nil could
+be returned instead, in case of #<void> alone, REPL will not print
+it."
+ #.(void))
+
+(define (void? x)
+ "Return #t if x is #<void> and #f otherwise."
+ (eq? x #.(void)))
(unless (bound? '*syntax-environment*)
(define *syntax-environment* (table)))