libera/#lisp - IRC Chatlog
Search
9:42:26
lisp123_
Who prefers scheme's style of predicates (e.g. variable?) vs. CL's style (variablep)?
9:43:59
pjb
anyways, ! and ? are normal characters in CL, and are reserved for user reader macros. So you can use them as you wish.
9:44:33
pjb
They're often used in pattern matchers (as prefix) ?foo indicates a variable to be bound.
9:44:49
lisp123_
pjb: i agree, now do you suggest me to use variable? in CL or should i stick to variablep?
9:45:03
lisp123_
because variablep is standard but a bit hard to identify the "p" at the end as its a normal letter
9:47:14
pjb
there's a convention that single-word predicates use p as suffix, and multi-word predicates use -p
9:47:55
pjb
BUT if the predicate name itself is prefixed, we don't modify it with a -p: string-lessp
9:48:18
lisp123_
I also reversed my original view of using "?" since its adding unnecessary attention to a simple function
9:51:25
lisp123_
i will stick to p and -p, although I don't 100% like them, its a pretty standard convention
9:52:25
pjb
(defstruct (point (:predicate pointp)) x y) (defstruct blue-moon mass) (and (pointp (make-point)) (blue-moon-p (make-blue-moon))) #| --> t |#
9:55:55
lisp123_
It is suprisingly not that difficult to go from CL to Elisp or SCheme, I think this point should be emphasises with newcomers more - they are very similar at the basic level
16:51:06
jcowan
Differentiating "p" and "-p" is what the ANS does, but I think some people are migrating towards "-p" always in new code. After all, "lessp" is pronounced "less-p", not "lesp".
17:02:14
lisp123_
jcowan: thanks, yeah I am following what ANS does, but I don't particularly like that way