From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA15890; Mon, 11 Jun 2001 18:43:08 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA15936 for ; Mon, 11 Jun 2001 18:43:07 +0200 (MET DST) Received: from shell5.ba.best.com (shell5.ba.best.com [206.184.139.136]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f5BGh6D11485 for ; Mon, 11 Jun 2001 18:43:06 +0200 (MET DST) Received: from localhost (bpr@localhost) by shell5.ba.best.com (8.9.3/8.9.2/best.sh) with ESMTP id JAA25175; Mon, 11 Jun 2001 09:43:02 -0700 (PDT) Date: Mon, 11 Jun 2001 09:43:02 -0700 (PDT) From: Brian Rogoff To: leary@nwlink.com cc: Hao-yang Wang , caml-list@inria.fr Subject: Re: [Caml-list] Hitchhiker's Guide to Typing In-Reply-To: <20010608163211.B15375@jean> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, 8 Jun 2001 leary@nwlink.com wrote: > On Fri, Jun 08, 2001 at 01:22:05PM -0700, Hao-yang Wang wrote: > > I think by "type theory" you mean the type systems used in modern > > programming languages. Luca Cardelli has written some nice > > tutorial/survey on this topic. > > > > See . Look for the > > articles "Typeful programming" and "Type systems". If, like me, you like to see a working implementation, then download a copy of "Basic Polymorphic Typechecking" from this page. Also, Michael Schwartzbach wrote a nice little tutorial called "Polymorphic Type Inference" which you can get here http://www.brics.aau.dk/BRICS/LS/95/3/BRICS-LS-95-3/BRICS-LS-95-3.html There are little parts of this that I think could be better, but overall I like it best. If you work through it you'll learn a lot. > Seems to beg the questions tho': Is it not possible to learn and use OCaml > without wading through 60 page docs on typing? Sure. But you'll understand these things a lot better if you apply yourself and read some of these papers. I agree that many of the papers go too deep too fast. > Will I have to read more of these papers to learn the object > system? Modules? No, but once again you'll learn a lot from the papers. For objects and modules http://caml.inria.fr/~remy/cours/appsem/ http://caml.inria.fr/~xleroy/publi/modular-modules-jfp.ps.gz > I'm willing to read up on typing, since it seems pretty important to > getting a good handle on FPLs/OCaml, and that's definitely what I'm after, > but I wonder (in advance) if 60 pages can't be turned into far fewer. I'd > like some feedback on the notion that "if you can't explain it to a > five-year-old, you don't really understand it" That notion is nonsense. I understand differential calculus quite well, and I doubt I could explain it to a five year old. In fact, as a TA for an introductory numerical analysis class at Snodfart (name changed to protect the guilty :) I gave a simple explanation of Taylor's Theorem to a masters student in CS who just couldn't get it. Not a very good student, no doubt, but probably better equipped than a five year old. > (or, rather, haven't given the simplest, most concise, most practically > useful explanation). By way of a couple examples, the HHGTTG entry for > Earth is "mostly harmless". Investing can be distilled down to "buy > low, sell high". Not crashing a motorcycle is a matter of "look where > you want to go, don't look at the ground". None of these are useful. My explanation for everything can be distilled to "Shit happens", but that's also not very useful. > Of course, a working knowledge of typing will never be so simple, but > contrast, for example, the "Type Systems" doc above; Table 34 is a good > place to look. I've got a copy of Stroustrup's "The C++ Programming Language" here. That's not simple. Nor is Wall's Perl book, nor the Common Lisp Hyperspec, nor the Ada 95 LRM. If you want a working knowledge of OCaml, write lots of code. Use the papers to flesh out that working knowledge to a deeper understanding. -- Brian ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr