caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] "high end" type theory for working programmers?
@ 2002-05-03  0:49 Chris Hecker
  2002-05-03  1:36 ` Michael Vanier
  2002-05-03  4:52 ` Will Benton
  0 siblings, 2 replies; 4+ messages in thread
From: Chris Hecker @ 2002-05-03  0:49 UTC (permalink / raw)
  To: caml-list


The list has had a lot of discussions about type theory behind the module 
system, tuples, and the like lately.  Most of it has been over my head, 
which is fun, because it presents a challenge to try to figure out what 
people are saying.  I am wondering how much of it is useful for actually 
writing "regular" code (as opposed to compilers or theorem provers).  Are 
there books (or survey papers) on this stuff that are meant to educate 
working programmers, as opposed to language researchers?  For example, 
where should I go to learn what this means, and whether I care (just a 
randomly chosen sentence representative of stuff that's currently over my 
head from the past few days on the list):

"That functor is essentially the polymorphic identity functor, while the 
other variation was a polymorphic eta-expansion of the abstraction operator."

or another example:

"In this encoding, modules are only records, so module types are ordinary 
types, and there is no distinction between ordinary abstract types 
(introduced by explicit polymorphic abstraction) and ``abstract 
signatures''. There is, as far as I can tell, no need for kind polymorphism."

I started using caml to find out if a "higher level" language could make a 
difference in my programming productivity (writing video games).  As I 
continue with that experiment, I'm curious to know whether understanding 
this high end type theory stuff would help make me a better programmer, or 
just more able to understand the list lately.  Either is fine, but both 
would obviously be great.  :)

Chris

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 4+ messages in thread
* Re: [Caml-list] "high end" type theory for working programmers?
@ 2002-05-03 12:57 Krishnaswami, Neel
  0 siblings, 0 replies; 4+ messages in thread
From: Krishnaswami, Neel @ 2002-05-03 12:57 UTC (permalink / raw)
  To: caml-list

Michael Vanier [mailto:mvanier@cs.caltech.edu] wrote:
> 
> I highly recommend Benjamin Pierce's new book "Types in Programming
> Languages" from MIT press.  It's very well-written, covers much of the
> material you describe, and includes implementations in ocaml ;-)

Let me second this recommendation. It's a great book. I'm a regular
programmer and I found it extremely useful. 

I think that Olivier Danvy's "Functional Unparsing" paper is one
of the best illustrations of why this stuff is useful for regular
programming. There's nothing more practical in the world than 
printing text, and here he uses continuation-passing style, combinators,
higher-order functions, and all that stuff to derive a blisteringly
fast statically-typed printf. It's amazing. (And you can make the
library nearly perfect to use if you use labels and optional arguments.)

This technique is apparently an instance of a more general technique
that Zhe Yang describes in his paper "Encoding Types in ML-like
Languages", at <http://citeseer.nj.nec.com/53925.html>.

--
Neel Krishnaswami
neelk@cswcasa.com
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-05-03 12:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-03  0:49 [Caml-list] "high end" type theory for working programmers? Chris Hecker
2002-05-03  1:36 ` Michael Vanier
2002-05-03  4:52 ` Will Benton
2002-05-03 12:57 Krishnaswami, Neel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).