logoalt Hacker News

tmtvlyesterday at 4:30 PM2 repliesview on HN

Lisp is versatile as all get-out, so you can program however you want. For example, we can roll like it's 1969:

  (prog ((a 0)
         (b 1)
         (c 0))
    (declare (type Fixnum a b c))
  :fb-start
    (print a)
    (incf b a)
    (setf a
      (- b a))
    (incf c)
    (when (< c 100)
      (go :fb-start)))

Replies

Joker_vDyesterday at 10:17 PM

Which actually supports the OP's original argument that even with training and getting used to, this syntax reads harder than

        let a, b, c = 0, 1, 0
    fb_start:
        writen(a)
        b +:= 1
        a := b - a
        if c < 100 do goto fb-start
show 1 reply