Revamping the numeric HUMAN ATTITUDE

William Lee Irwin III
Fri, 9 Feb 2001 11:19:05 -0800

William Lee Irwin III wrote:
>>> The Standard Prelude serves its purpose well and accommodates the
>>> largest cross-section of users. Perhaps a Geek Prelude could
>>> accommodate the few of us who do need these sorts of schenanigans.

I, of course, intend to use the Geek Prelude(s) myself. =)

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> Aha.
> And we will have The Prole, normal users who can live with incomplete,
> sometimes contradictory math, and The Inner Party of those who know
> The Truth?
> Would you agree that your children be taught at primary school some
> dubious matter because "they won't need the real stuff".

This is, perhaps, the best argument against my pseudo-proposal. I'm not
against resolving things that are outright inconsistent or otherwise
demonstrably bad, but the simplifications made to prevent the (rather
large) mathphobic segment of the population from wetting their pants
probably shouldn't be done away with to add more generality for the
advanced users. We can write our own preludes anyway.

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> I would agree having a minimal standard Prelude which is incomplete.
> But it should be sane, should avoid confusion of categories and
> useless/harmful dependencies.

At the risk of turning this into "me too", I'm in agreement here.

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> Methodologically and pedagogically it seems a bit risky.
> Technically it may be awkward. It will require the compiler and
> the standard libraries almost completely independent of each other. 
> This is not the case now.

I'm seeing a bit of this now, and the error messages GHC spits out
are hilarious! e.g.

    My brain just exploded.
    I can't handle pattern bindings for existentially-quantified constructors.


    Couldn't match `Bool' against `Bool'
        Expected type: Bool
        Inferred type: Bool

They're not quite Easter eggs, but they're quite a bit of fun. I might
have to look into seeing what sort of things I might have to alter in GHC
in order to resolve nasty situations like these.

I can't speak to the methodological and pedagogical aspects of it. I
just have a vague idea that explaining why something isn't an instance
of GradedAlgebra or DifferentialRing to freshman or the otherwise
mathematically disinclined isn't a task compiler and/or library
implementors care to deal with.

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> BTW. what is a schenanigan? Is it by definition someething consumed
> by Geeks? Is the usage of Vector Spaces restricted to those few
> Geeks who can't live without schenanigans?

Yes! And I can't live without them. I had a few schenanigans at the
math bar last night while I was trying to pick up a free module, but
she wanted a normed ring before getting down to a basis. I guess that's
what I get for going to a algebra bar. I should really have gone to a
topology bar instead if I was looking for something kinkier. =)

Perhaps "Geek Prelude" isn't a good name for it. Feel free to suggest
alternatives. Of course, there's nothing to prevent the non-geek among
us from using them if they care to. If I by some miracle produce
something which actually works, I'll leave it untitled.

And yes, I agree everyone needs VectorSpace.

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> For some time I follow the discussion on some newsgroups dealing with
> computer graphics, imagery, game programming, etc. I noticed a curious,
> strong influence of people who shout loudly:
>  "Math?! You don't need it really. Don't waste your time on it!
>   Don't waste your time on cute algorithms, they will be slow as
>   hell. Learn assembler, "C", MMX instructions, learn DirectX APIs,
>   forget this silly geometric speculations. Behave *normally*, as
>   a *normal* computer user, not as a speculative mathematician!"
> And I noticed that REGULARLY, 1 - 4 times a week some freshmen ask
> over and over again such questions:
> 1. How to rotate a vector in 3D?
> 2. How to zoom an image?
> 3. What is a quaternion, and why some people hate them so much?
> 4. How to compute a trajectory if I know the force acting on the
>    object.

To date I've been highly unsuccessful in convincing anyone in this
(the predominant) camp otherwise. People do need math, they just
refuse to believe it regardless of how strong the evidence is. I
spent my undergrad preaching the gospel of "CS is math" and nobody
listened. I don't know how they get anything done.

On Fri, Feb 09, 2001 at 11:26:39AM +0000, Jerzy Karczmarczuk wrote:
> To summarize: people who don't use and don't need math always feel
> right to discourage others to give to it an adequate importance.
> It is not they who will suffer from badly constructed math layer
> of a language, or from badly taught math concepts, so they don't
> care too much.

How can I counter-summarize? It's true. I suppose I'm saying that the
design goals of a Standard Prelude are outright against being so general
it's capable of representing as many mathematical structures as possible.
Of course, as it stands, it's not beyond reproach.

A mathematician is a system for turning coffee into theorems.
-- Paul Erdös
A comathematician is a system for turning theorems into coffee.
-- Tim Poston