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
-~----------~----~----~----~------~----~------~--~---

Reply via email to