Thursday, February 19, 2009 1:09 PM
bart
Type Theory Essentials in Pictures – Part 1 – Quiz
I'm currently in the middle of preparing my talks for a trip to Europe the first two weeks of March (I’ll post a conference/session list later this week). One thing I love about speaking to (technical) audiences is to bring rather theoretical but essential topics in a way that’s easy to consume in the short time available for a session. There are two main strategies: use a lot of pictures or do a lot of on-stage coding. The latter is definitely the most fun both for me and for the audience and I try to apply it wherever possible. However, having a graphical illustration of the concepts used in the subsequent coding demos is often a good idea to make things stick.
Starting with this post, and in the next few ones, I want to share out some of my illustrations. Notice my artistic talents are limited to Paint and PowerPoint :-). I’ve removed the slide titles though, so that the reader can try to map the illustrated concept back to something familiar (or still unfamiliar) in the domain of types. Some advice:
- Go through the pictures in order (left-to-right, top-to-bottom traversal of the table) as graphical notations are reused subsequently.
- Pictures are grouped as well, e.g. 1 and 2 belong together, where groups start with abstract concepts and concretize them, e.g. indicated by an increase in color usage.
- Transitions between adjacent pictures could be made more gradual in some cases (i.e. an abstract concept is concretized a few steps at once).
Today’s series shouldn’t be too hard, although I’m biased obviously :-). Some hints: blocks are passive things that compose but are themselves composed. Humans are active (sometimes). Think in terms of objects, types and functions.
Answers can typically be formulated in C# syntax or pseudo-syntax. As we go further in this series of posts, some things might no longer have a notation. If that’s the case, answering with a theoretical term will be required (or using syntax from another language).
Figure 1 |
Figure 2 |
| |
|
Figure 3 |
Figure 4 |
| |
|
Figure 5 |
Figure 6 |
| |
|
Figure 7 |
Figure 8 |
| |
|
Figure 9 |
Figure 10 |
| |
|
Figure 11 (extra) |
Figure 12 |
| |
|
Figure 13 |
Figure 14 |
| |
|
Figure 15 |
Good luck!
Del.icio.us |
Digg It |
Technorati |
Blinklist |
Furl |
reddit |
DotNetKicks
Filed under: Type theory