Re: [fonc] [talk] Cool Code - Kevlin Henney

2012-12-03 Thread Julian Leviston
Yes. A concrete way to teach an abstraction is to provide multiple concrete examples each of which are different excepting their abstract commonality. For example, addition is an abstract concept when compared to the concept of identity. It is known that one way of teaching it is by grouping ide

Re: [fonc] [talk] Cool Code - Kevlin Henney

2012-12-03 Thread Loup Vaillant
I agree, even with your depiction of the tension between law/power and approachability. My "monoid" example was just that, an example. The notion of structure (as in "group", "ring" or "monoid") is certainly much more important, and perhaps there's more fundamental concepts. Maybe category theory

Re: [fonc] [talk] Cool Code - Kevlin Henney

2012-12-03 Thread David Barbour
I agree there's much value in lawful, powerful building blocks. I would formalize that with composition law (i.e. exists F. forall X,*,Y. P(X*Y) = F(P(X),'*',P(Y)), for some useful set of properties P). We can find many lawful, powerful building blocks in category theory or algebraic topology. Basi

Re: [fonc] [talk] Cool Code - Kevlin Henney

2012-12-03 Thread Loup Vaillant
David Barbour a écrit : On Sun, Dec 2, 2012 at 6:12 AM, Pascal J. Bourguignon mailto:p...@informatimago.com>> wrote: Julian Leviston mailto:jul...@leviston.net>> writes: > Concrete is better than abstract for learning. Definitely. Programmer students should learn assembler an