I've been lurking on this list ever since Adrian announced the
project, and I've been absolutely fascinated. I know very little about
compilers, but I have done a small amount of C (and Python)
development in my time, and I currently maintain a couple of packages
in Debian. That is about the extent of my software engineering
experience, and my computer science experience is similarly amateur:
I've read about Turing machines and decidability, isomorphism, Gödel
and formal systems, and I've taken a basic, introductory course in
discrete mathematics, so I know vaguely about simple algorithms like
Dijkstra's shortest path algorithm, and the travelling salesman
problem.
That's my background knowledge; as you can probably tell, it's not
especially relevant. I'm currently in the process of finishing my A
level studies, and in October, I expect to be taking up a place at
Oxford to read Psychology and Philosophy. Again, it's only
tangentially relevant.
But the parallelism and data flow in ani is very tempting to me. I'm
very interested in the brain as a computational system, and as I begin
my undergraduate studies, I'll be keeping that in mind. It might be
very interesting to explore concepts from neuropsychology in ani, but
also to understand ani as a language, and anic as a compiler, in the
context of the brain as a massively parallel information processing
system.
So my question, after all that preamble, is simple: how can someone -
who at the moment is quite busy with exams, but in three weeks will
become much less so - learn about compiler architecture, specifically
anic, starting from the knowledge I have? I'm sure, in the end, it
boils down to "read the code"; but I'd like a deeper theoretical
understanding, as well as the example of anic as Adrian has
implemented it.
Many thanks,
--
Toby Smithe