Bools and explicitness [was Re: PyWart: The problem with "print"]

rusi rustompmody at gmail.com
Thu Jun 6 13:27:43 EDT 2013


On Jun 6, 9:08 pm, Robert Kern <robert.k... at gmail.com> wrote:
> On 2013-06-06 16:41, Chris Angelico wrote:
>
> > Anyway, regardless of your language, there's always some criteria that
> > can't be coded. Suppose the valid input for a function were "integers
> > whose square roots are integers but whose cube roots are not". You
> > won't easily get compile-time checking of that.
>
> Say that on a Haskell list, and they'll take it as a challenge. :-)

Yes, all programming communities have blind-spots.  The Haskell
community's is that Haskell is safe and safe means that errors are
caught at compile-time.

Unfortunately* the halting problem stands.  When generalized to Rice
theorem it says that only trivial properties of programs are
algorithmically decidable:
http://mathworld.wolfram.com/RicesTheorem.html

And so the semantic correctness of a program -- a non-trivial property
-- is not decidable.

In short the Haskell dream is a pipe-dream**.

Discussed in more detail here: http://blog.languager.org/2012/08/functional-programming-philosophical.html.

Nevertheless I need to say: If a programmers comes to python from
Haskell, he will end up being a better programmer than one coming from
C or Java or…


* actually fortunately considering that for most of us programming is
our job :-)

** Haskellers would point out that there is agda which grows out of
Haskell and in agda one can encode arbitrary properties of types.



More information about the Python-list mailing list