I've come across the following snippet of code:
(defstructure object
"An object is anything that occupies space. Some objects are 'alive'."
(name "?") ; Used to print the object on the map
(alive? nil) ; Is the object alive?
(loc (@ 1 1)) ; The square that the object is in
(bump nil) ; Has the object bumped into something?
(size 0.5) ; Size of object as proportion of loc
(color 'black) ; Some objects have a color
(shape 'rectangle) ; Some objects have a shape
(sound nil) ; Some objects create a sound
(contents '()) ; Some objects contain others
(max-contents 0.4) ; How much (total size) can fit inside?
(container nil) ; Some objects are contained by another
(heading (@ 1 0)) ; Direction object is facing as unit vector
)
I'm not sure what the @ is denoting here. I've scoured the rest of the code to see if it's defined to be a function but haven't been able to find anything. My question, is "@" part of some frequently used implementation of common lisp, or is this code specific? Thanks.
Link to files: https://github.com/aimacode/aima-lisp/blob/master/agents/environments/grid-env.lisp