Geek alert: making career decisions in Scheme?

You know you are a geek when your notes about your next career move can actually be evaluated in Scheme 🙂 Oh... making career decisions when you love every aspect of technology and the people you work with is so difficult!
; A list of good things
(define (Pros GoodThings)
  (list 'Pros GoodThings))

; A list of bad things
(define (Cons BadThings)
  (list 'Cons BadThings))

; Option 1
(define (Option1)
  (list
    (Pros (list 'GoodThing1 'GoodThing2 'GoodThing3))
    (Cons (list 'BadThing1 'BadThing2 'BadThing3))))

; Option 2
(define (Option2)
  (list
    (Pros (list 'GoodThing1 'GoodThing2 'GoodThing3))
    (Cons (list 'BadThing1 'BadThing2 'BadThing3))))

; Option 3
(define (Option3)
  (list
    (Pros (list 'GoodThing1 'GoodThing2 'GoodThing3))
    (Cons (list 'BadThing1 'BadThing2 'BadThing3))))

; Decision algorithm (unknown at the moment)
(define (CareerChoice Choices) '?)

; Evaluate the options
(CareerChoice (list Option1 Option2 Option3))

; Result is a "?" at the moment

3 responses to “Geek alert: making career decisions in Scheme?”

  1. Not sure about Scheme’s case (in)sensitivity, but ‘Cons’ might not be the best name to use 😉

  2. Heheh very geeky indeed 🙂 I guess, the decision algorithm would evaluate every option based on a weighing of its features.

    ps. as pointed out already, cons is a keyword in most Lisp dialects

    greetings from Manchester 😉

  3. This might help:

    (define (optionizer)

    (lambda ()

    (list

    (Pros (list ‘GoodThing1 ‘GoodThing2 ‘GoodThing3))

    (Cons (list ‘BadThing1 ‘BadThing2 ‘BadThing3)))))

    (define Option1 (optionizer))

    (define Option2 (optionizer))

    (define Option3 (optionizer))

    Cheers,

    Einar..