[plt-scheme] Re: polymorphism of primitive types

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Oct 18 11:49:10 EDT 2005

On Oct 18, 2005, at 11:27 AM, David Van Horn wrote:

> Matthias Felleisen wrote:
>> Roughly speaking, shared
>> is for data what letrec is for functions (which shows that in Scheme, 
>> we
>> only create an illusion that lambda is first-class. But so much for
>> heresy.)
> I don't understand what you're saying; could you explain?
> I never thought lambda was first-class.  Procedures are first class, 
> and
> lambda is a constructor for procedures, as is letrec.

I mean closures when I say lambda.

> Where's the heresy?

Nothing deep: but you can't really truly deal with plain data and 
lambda-data (right: procedures are data/arguments/values) uniformly.

Puzzle: design a construct that allows you to create mutually recursive 
data structures and procedures.

-- Matthias

Posted on the users mailing list.