[racket] Contract for methods with optional arguments

From: Diego Sevilla Ruiz (dsevilla at ditec.um.es)
Date: Sat Aug 31 17:05:01 EDT 2013

Hi, Matthias:

	Yes, you're right about the "sum" types of the domain and range of 
functions. A small remark below (just to clarify myself too...)

On 31/08/13 20:36, Matthias Felleisen wrote:
> On Aug 31, 2013, at 2:19 PM, Diego Sevilla Ruiz wrote:
>> The example you give for C, you're right, it is not appropriate for C because C has a (lax) static type system.
> Let's call it what it is: unsound. Let's also agree that C's type system is so impoverished that it is simply useless to talk about in such contexts.

Completely agree.

>> You know, Scheme, Racket, they are dynamically typed languages: the type of the elements can vary at run time, so there are a lot of situations in which the type itself of the element changes.
> Racket's values cannot change 'type' at run-time. In principle, we shouldn't use the word 'type' for dynamic concepts -- types are a static discipline -- but when you are given a value, any predicate you apply to it will always return the same answer over the course of the entire execution.

I was not refering to values, but to variables. The term "dynamically 
typed" refer (to my knowledge) to languages like Scheme and Racket whose 
variables can change the type of the value they hold or refer during the 


Diego Sevilla Ruiz -- http://ditec.um.es/~dsevilla/ -- dsevilla at um.es _.___
Dep. Ingeniería y Tecnología de Computadores, Facultad de Informática D|TEC
Univ.de Murcia,Campus Espinardo,30080 Murcia (SPAIN),Tel.+34868887571

Posted on the users mailing list.