[plt-dev] Re: more requests for typed-scheme

From: Sam TH (samth at ccs.neu.edu)
Date: Mon Mar 16 23:59:02 EDT 2009

On Mon, Mar 16, 2009 at 9:43 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
> After a disasterous conversion attempt.
> We need:
> 1. local

Available from scheme/local

> 2. empty?, first, second

Available from scheme/list

> 3. make-list (srfi/1) (provide all base types for now): well, we really need
> a polymorphically typed srfi/1

We can't do this without contracts for polymorphic functions.

> 4. list->string, string->list (base)

Fixed in SVN.

> 4. We need docs for primitives (say filter) and examples.

Is this just `filter' (which has special behavior in Typed Scheme) or
all of the primitives?

> 6. Is it really true that filters can be defined only via the (: ...) form
> (at the top level)?

I don't understand what you're asking here.  The simple answer is no,
this should work fine:

#lang typed-scheme

(let ()
  (: f (Any -> Boolean : Number))
  (define (f x) (number? x))
  (f 3))

sam th
samth at ccs.neu.edu

Posted on the dev mailing list.