logo       

RE: Lambda (was: Refactoring in Tunes): msg#00096

os.tunes

Subject: RE: Lambda (was: Refactoring in Tunes)

> From: Jim Little [mailto:jiml@xxxxxxxxxxxxx]
> Subject: Re: Lambda (was: Refactoring in Tunes)

> btanksley@xxxxxxxx wrote:
> > No, I don't know that -- in fact, I disagree stridently
> > with it. A computer
> > language is nothing BUT a UI. It's an interface between
> > the programmer and
> > the machine.

> I think what Laurent is getting at here is that the syntax of the
> language can be separated from the semantics of the language.

This statement makes sense from a certain point of view. I have recently
come to take a different point of view -- I don't talk so much about the
"semantics" versus the "syntax" of the language (unless the language
deliberately limits its own semantics, of course); rather, I talk about the
syntax of the language and the semantics of the machine it's running on.

> I think
> Laurent's further point is that type annotations do not affect the
> semantics of the language, and thus they shouldn't be a part
> of the core
> language. However, they are useful, so they should be a "standard"
> extension.

I'm not overly offended by that :-). It seems like an utter and complete
waste of time for everyone involved, but it's not offensive. For whom would
it save effort? Whose problem is it solving?

> When you think of having multiple syntaxes that are related to but
> separate from the semantics of the language, it all starts to make
> sense: most syntaxes could support the standard type annotation
> extension in whatever way is most useful, but for those
> implementations
> that are highly constrained, the annotation could be left out.

Anyone can write a language for my (nonexistant) VM, so that's true. They
can even use the language I provide to hitch a ride, thus resulting in a
very similar language.

However, at no point would the annotation be left out of a program written
in my language -- because those annotations are a part of the language. In
an implementation which didn't want to perform typechecking, those
annotations would be treated as comments.

> At least, that's my take on it. I think separating semantics from
> syntax (what Laurent calls "UI") is a very good approach, and I also

I agree, but remember that a language is nothing aside from its syntax and
its libraries.

> think identifying a core set of semantics with optional
> semantically-null standard extensions is also a good
> approach.

Hmm. I prefer a single definition for each language.

> (But I'm
> biased, because that's the approach I'm enabling with the Prism
> metacode. :) )

Right.

> Jim

> (The Prism metacode is described at
> http://www.teleport.com/~sphere/documents/001c/7/index.html.)

I've read it. Fun.

-Billy



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise