hylang/hy — pull request #370 by theanalyst (2013-12-12 19:12:10+00:00)
Title: Adding macros `prog1' and `prog2' similar to cl

This is an attempt at writing cl like `prog1` and `prog2` macros
Not sure whether we want them in core, this can be discussed

`prog1` executes the body sequentially (possibly for side effects),
returning the value of the first expr
eg:

=> (prog1 (+ 2 2) (print "some side-effects"))
"some side-effects"
4
or something like

=> (setv a (prog1 (+ 2 2) (print "some side-effects"))
"some side-effects"
=> a
4

`prog2' is similiar to prog1 except that it returns the value of the
second expr