2009/6/17 Meredith Gregory <lgreg.mered...@gmail.com> > Jeremy, > > Most excellent question award to you, sir! > > How to bootstrap thinking compositionally... this is what i did > > - learn some compositional idioms by heart > - do you know the shape of the paradoxical combinator by heart > - do you know the data making up a monad > - do you know the data making up a distributive law between monads > - use them in real world applications and see where they fail > - when is calculating the least/greatest fixpoint of a recursive > spec for a problem the suboptimal solution > - when is a monad not the answer > - when is an indexed form of composition inadequate > - improve them > - is it a situational improvement or > - a fundamental improvement > - see where the very programming model itself fails > - is functional composition the only sort of composition > - how is parallel composition like functional composition > - is parallel composition easily represented in categorical > composition > - improve it > - what is the view of the world in your notion of composition > - play with new programming models > - does your new notion of composition give rise to a whole > generation of different models > - invent new idioms in these models > - what are the things these models naturally express > - and teach them to someone who wishes to bootstrap thinking > compositionally > > For myself, i was unhappy with the notion of name. The π-calculi and lambda > calculi suffer a dependence on a notion of name. Both families of calculi > require at least countably infinitely many names, and a notion of equality > on names. If names have no internal structure then these theories *cannot > be effective*.
Do we need to do some sort of course to understand this language? > The reasons is that the notion of equality must then be realized as an > infinitary table which cannot fit in any computer we have access to. > Therefore, in effective theories, names must have internal structure. Since > they have internal structure and are at least countably infinite, one is in > danger of undermining the foundational character of these proposals for > computing. Therefore, the only possible solution is that the notion of > structured name must come from the notion of program proposed by the model. > This argument is airtight. If you want a foundational model of computing > with nominal structure, the nominal structure must derive from the notion of > computation being put forward, i.e. it must *reflect* the notion of > computation. This gives rise to all kinds of new an beautiful phenomena. One > measure of your way into compositional thinking is whether this is > happening. Is your approach to compositional thinking beginning to yield > whole new aspects of computing, and new 'wholes' of computation, new forms > of organization. > > Best wishes, > > --greg > > On Tue, Jun 16, 2009 at 7:31 PM, Jeremy Day <jeremy....@gmail.com> wrote: > >> Greg, >> >> On Tue, Jun 16, 2009 at 6:38 PM, Meredith Gregory < >> lgreg.mered...@gmail.com> wrote: >> >>> It takes some serious training to think compositionally. >> >> >> No doubt it is extremely tough to think compositionally, and it's all too >> easy to fall back on non-compositional ways of thinking. In a similar vein >> it's all too easy to fall into procedural patterns when learning or working >> with functional programming in a multi-paradigm language. But what are good >> ways for programmers to learn to think compositionally and, more >> importantly, practice? Do you know of any books or online references that >> might help make the transition for anyone who is interested? >> >> Jeremy >> >> >> > > > -- > L.G. Meredith > Managing Partner > Biosimilarity LLC > 1219 NW 83rd St > Seattle, WA 98117 > > +1 206.650.3740 > > http://biosimilarity.blogspot.com > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---