Hi again, new assignment is to creat a spynetwork (where does he get his ideas?) anyway the program is supposed to take a code (i.e. caesars code) as a list of 2 lists, store the code (i've used a table for mine) then use it to decode and encode messages..... I have got all of this working, however, you are supposed to be able to use
(define (a-ciphermachine mapping)
(let
(
(temp-table (a-table))
)
(put-code mapping)
(define (the-ciphermachine op)
(cond ((eq? op 'encode) encode)
((eq? op 'decipher) decipher)
((eq? op 'destroy) destroy)
(else (error "ciphermachine: unknown operation" op))
)
)
(define (encode message)
(change message)
)
(define (decipher message)
(dechange message)
)
(define (destroy)
(sequence
(put-code destroy-code)
#t
)
)
the-ciphermachine
)
)
to be able to create different machines, i.e. enigma, tom, fred, whatever. all with different codes, and them all work at the same time.
I figured the Let statement would mean that they create their own tables, and would only use their own, however I am getting an unbound variable for temp-table when I run it and try to do anything.
If i declare the table in the main body, it will work, but all machines will use the same code. HELP!
thanks :)