Re: [TYPES] types

Jacques Carette <carette-xc3H/SjimlosA/[email protected]>
Newsgroups gmane.comp.science.types
Message-ID <[email protected]>
[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

On 14-05-13 09:09 AM, Sam Tobin-Hochstadt wrote:
> On Tue, May 13, 2014 at 7:57 AM, Jacques Carette <carette-xc3H/SjimlosA/[email protected]> wrote:
>>   [I use 'enable' here, knowing that one can do pattern matching without sums
>> and without types, but the results are not as compelling.]
> Jacques,
>
> I'm not sure what you mean by compelling, but any pair of these three
> is available without the other.  For example, patterns matching and
> sums (but without types) are used extensively in Friedman and Wand's
> Essentials of Programming Languages textbook, and pattern matching
> with types but without sums can be seen in Typed Racket (for example,
> our paper on functional data structures [1]).  Types and sums without
> pattern matching is easy to define, but as you say, awkward to program
> with.
>
> Sam Tobin-Hochstadt
>
> [1] http://www.ccs.neu.edu/racket/pubs/sfp10-kth.pdf with source at
> https://github.com/takikawa/tr-pfds/

What I mean by 'compelling' is most influenced by my (recent) experience 
with agda-mode in Emacs: given a (dependant!) sum type, one can ask the 
IDE to give all valid case-split on a particular variable of that type.  
One is insured coverage, by the language, by construction.  This feature 
allows one to write folds over large ASTs in just a few keystrokes, with 
little chance for error.

It is really the confluence of types, sum and pattern-matching which 
hits a 'sweet spot' quite similar to what Hindley-Milner does for inference.

To me, 'compelling' usually means faster production (by a human) of 
correct *readable* code.  I want my compiler to verify certain parts of 
"correct" for me.

Jacques
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.