## if
val = func()
if val: # standard form
code(val) # of if
## aif
aif(func, code) # not obvious that it does the same thing
# and limits you to using a function defined
# elsewhere, or Python's crippled one-line lambda.
Whereas in Lisp, you'd do: ;; regular when
(let (val (func))
(when val ; standard form
(func val))) ; of when
;; awhen
(awhen (func) ; standard form of
(func it) ; when, with added bound value
; possibly other
; code goes here
)
Do you see how the two forms of Python look very different, and the two forms of Lisp look the same? What is the standard you're talking about? Common Lisp? Scheme? Clojure? Emacs Lisp?
Common Lisp, of course. That's what you refer to when you say Lisp today. Otherwise you'd say Scheme, Clojure or Elisp. And CLOS is quite a good object system, actually.
Yes, I agree -- my comment was referring to the fact that it is missing from Hy.
But yeah. Crappy article title.