I means that you can view programming as constructing "witnesses" to
"proofs" - programs becoming the (finite) steps that, when followed,
construct a proof.

Intuitionism only allows you to make statements that can be proved
directly - no "Reductio ad absurdum" only good, honest to goodness
constructive computational steps - sounds like programming (and
general engineering) to me.

Powerful when you grasp it - which is why I've spent the last 15 or 20
years considering myself as an intuitionistic semantic philosopher -
reasoning about the meaning of things by constructing their proofs -
great way of taking ideas, refining them into an axiomatic system then
going and making them work.

Take it from me - it is a good approach it generates exploitable ideas
that people fund that make people money!

Neil

On 10/07/07, Andrew Coppin <[EMAIL PROTECTED]> wrote:
Jonathan Cast wrote:
> On Tuesday 10 July 2007, Andrew Coppin wrote:
>
>> OK, so technically it's got nothing to do with Haskell itself, but...
>>
>
> Actually, it does
>

I rephrase: This isn't *specifically* unique to Haskell, as such.

>> Now, Wikipedia seems to be suggesting something really remarkable. The
>> text is very poorly worded and hard to comprehend,
>>
>
> Nothing is ever absolutely so --- except the incomprehensibility of
> Wikipedia's math articles.  They're still better than MathWorld, though.
>

Ah, MathWorld... If you want to look up a formula or identity, it's
practically guaranteed to be there. If you want to *learn* stuff...
forget it!

>> So is this all a huge coincidence? Or have I actually suceeded in
>> comprehending Wikipedia?
>>
>
> Yes, you have.  In the (pure, non-recursive) typed lambda calculus, there is
> an isomorphism between (intuitionistic) propositions and types, and between
> (constructive) proofs and terms, such that a term exists with a given type
> iff a (corresponding) (constructive) proof exists of the corresponding
> (intuitionistic) theorem.  This is called the Curry-Howard isomorphism, after
> Haskell Curry (he whom our language is named for), and whatever computer
> scientist independently re-discovered it due to not having figured out to
> read the type theory literature before doing type theoretic research.
>

...let us not even go into what constitutes "intuitionistic
propositions" (hell, I can't even *pronounce* that!) or what a
"constructive" proof is...

> Once functional programming language designers realized that the
> generalization of this to the fragments of intuitionistic logic with logical
> connectives `and' (corresponds to products/record types) and `or'
> (corresponds to sums/union types) holds, as well, the prejudice that
> innovations in type systems should be driven by finding an isomorphism with
> some fragment of intuitionistic logic set in, which gave us existential types
> and rank-N types, btw.  So this is really good research to be doing.
>

On the one hand, it feels exciting to be around a programming language
where there are deep theoretical discoveries and new design territories
to be explored. (Compared to Haskell, the whole C / C++ / Java /
JavaScript / Delphi / VisualBasic / Perl / Python thing seems so boring.)

On the other hand... WHAT THE HECK DOES ALL THAT TEXT *MEAN*?! >_<

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to