[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Common Lisp solved this problem 20 years ago

This page is part of the web mail archives of SRFI 77 from before July 7th, 2015. The new archives for SRFI 77 contain all messages, not just those from before July 7th, 2015.



Per Bothner <per@xxxxxxxxxxx> writes:

> Taylor Campbell wrote:
>> I'm a bit unclear on one part of your proposal: is the type
>> declaration syntax merely a suggestion to the compiler, or does it
>> actually affect the semantics of a program?
>
> The latter, but perhaps not quite the way you're thinking.
> (let ((V :: TYPE init)) ...)
> has semantics like:
> (let ((V (coerce-to-TYPE init))) ...)

I dislike this, because it's a hidden semantic in the type
declaration.

Why not declare that (let ((V :: TYPE init)) ...) is an error if the
init doesn't return something of the proper type?