Learning Lounge

This is a list of what are (mostly as far as I SkrjabLin understand) the most major and basic topics which one needs to master in order to be able to constructively participate in Tunes research and development at its current stage. (with "Tunes" currently meaning the different projects, by different people (i.e. currently the projects of François-René Rideau, Brian T. Rice (the Arrow system, Slate) and Alexis Read), that more or less try to accomplish Tunes' specs, and are reported about on Tunes' mailing list.)

Suggested texts/books/papers to read are also given. This bibliography has been chosen using a mixture of the criteria (in no certain order of importance) Onlineness, Quality (i.e. wellwritten/pedagogical/correct etc.), Freeness.

Everybody is invited to make this page more complete and correct: filling in the gaps, replacing bad text with better, and removing unnecessary material. Keep it limited to the most central topics and the most central texts on these topics, preferrably listing just one or two recommended books -- the best and most concise ones.

So, the purpose of the page is to speed up for newcomers, as much as possible, the process of getting some deeper clues and overview of Tunes, not to list in an unstructured manner every possible resource that has some little relevance to some obscure part of the project (there is already the Review area, several parts of which do something like that). If you need help navigating through this material, please visit the Newbie Support area.


The topics below have been ordered in something like quasi-college-courses, and these courses are sorted in larger categories.

The idea is like this: for now, it appears you have to have a basic understanding of roughly all of the stuff below in order to help with Tunes, and that's quite a lot. [It takes some time, but it's not impossible: myself I didn't know very much at all and didn't think I was really fit for all the formal mathematical things here, but now, after some half year of studies on spare time only, I already feel quite knowledgeable about at least some Tunes-aspects. You will probably make it quicker than me, since you're probably cleverer, or may have more knowledge already. You also have this Lounge to guide you. S.] But in trying to reach this final goal, you might, on the way, through some little strategy and planning in your learning, achieve guru-ship in some of the sub-subjects. Such gained knowledge may be usable also in non-Tunes-related contexts.

Also observe the category of End Goals For Learning below. The idea is that all other stuff mentioned on this page should be a prerequisite to at least one of these End Goals. For now, there are only very general end goals, but it is hoped that in the future, when some sort of basic foundation has been laid for Tunes, there will exist limited sub-tasks for Tunes R&D (some of which might correspond to the SubProjects) with more limited knowledge prerequisites, and those would then be listed here.

End Goals For Learning

Programming Languages, Etc.

System Design and Implementation

Basic Logic / Maths / Comp Sci

Tunes-Central Topics In Theoretical Comp-Sci

Prerequisites for these are, typically, PL 101 and various things from the category Basic Logic/Maths/Comp-sci above.

Diverse Topics in Logic / Maths


Philosophical semantics: This very wide and undefined topic is very central to Tunes. Don't know what would be recommendably relevant material, though.

Other Resources

Programming language theory texts online: A few central online cs texts.

To Do

Short descriptions of the ways in which the different topics relate to Tunes.

For each topic, one or a few essential papers, and a pointer to some resource.

Pages in this topic: Abstract Algebra 101   Appetizers   Arrow 101   Arrow Logic 101   Basic Computer Science   Basic Logic 101   Category Theory 101   Coinduction 101   Joy 101   Linearity 101   Monads 101   Parallelism 101   Partial Evaluation 101   Persistence 101   PL 101   Programming Language Semantics 101   Reflection 101   Rewrite Logic 101   Slate 101   Substructural Logics 101   Tunes 101   Tunes 102  

Also linked from: Activities   Essay   index   Monad   Newbie Support   Site Map   SkrjabLin