Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

scheme question

Name: Anonymous 2013-03-31 11:27

Hello /prog/, I'm not really much of a programmer but I've been dicking around with Lisp/Scheme lately for fun (DrRacket specifically).  One of the programs in my book goes like this:

;; move-circle : number circle  ->  circle
;; to draw and clear a circle, translate it by delta pixels
(define-struct circle (center radius color))

(define (move-circle delta a-circle)
  (cond
    [(draw-and-clear-circle a-circle) (translate-circle a-circle delta)]
    [else a-circle]))

draw-and-clear-circle draws and clears a circle, obviously, and translate-circle simply modifies the given "circle" structure such that its position is shifted by "delta" pixels.  So if I wanted to make a circle move across the screen I could run something like

(draw-a-circle (move-circle 10 (move-circle 10 (move-circle 10 (make-circle (make-posn 30 30) 45 'red)))))

Anyway my question is simply this: why is there an "else" at all in that conditional?  The function "draw-and-clear-circle" always returns a value of "true", or, if there's something wrong with the definition of the circle structure, an error.  So afaik the "else" would never come into play.

Name: Anonymous 2013-04-01 0:15

>>23
That is retarded and would end producing more verbosity than Java.

Also, I'm still in search of work, so Russian Anon please send any vacancies to http://vk.com/antisemitic or http://2ch.hk/pr/res/258636.html

Although I refuse using PHP, Haskell and Python, because they are Jewish.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List