Lambda the Ultimate

inactiveTopic Some interesting weblogs
started 2/22/2002; 3:43:22 AM - last post 2/25/2002; 2:35:45 AM
Ehud Lamm - Some interesting weblogs  blueArrow
2/22/2002; 3:43:22 AM (reads: 799, responses: 6)
Some interesting weblogs
Some new (and not so new) weblogs worth checking:

Posted to general by Ehud Lamm on 2/22/02; 3:43:35 AM

Ehud Lamm - Re: Some interesting weblogs  blueArrow
2/22/2002; 7:22:24 AM (reads: 820, responses: 0)
What do you think about including links to personal blogs, in the links line at the bottom of the LtU template?

Ehud Lamm - Re: Some interesting weblogs  blueArrow
2/22/2002; 7:32:15 AM (reads: 833, responses: 0)
Both Jon and Peter mention Fergus Henderson's post about CLR implementations of various languages. Most of his conclusions agree with what I know and understand about the .Net model.

The interesting questions (which we mnetioned here in the past) concren using the CLR to allow true cross-language support of such things as generics and exceptions.

Peter Drayton - Re: Some interesting weblogs  blueArrow
2/24/2002; 4:01:36 AM (reads: 788, responses: 0)
re: links to personal blogs: IMHO, if the link is useful/relevant to LtU readers, it's a candidate for inclusion (e.g. HtP/Wes Felter)

re: cross-language support for exceptions: obviously, exceptions work between languages now, presuming both langauges expose ways to throw and catch exceptions. Could you elaborate on the issues?

re: cross-language support for generics: obviously, generics for the CLR are still being designed. The current direction involves adding it to the CLR and making generics a first-class construct in the CTS. This implies that .NET languages will get to choose whether they can produce or consume generic types. What *hasn't* been talked about AFAIK is what happens to 'legacy' languages like the current versions of VB.NET and C# when they see these new constructs. Possibly a thunk of some kind, with generic types expanded out for non-generic-aware languages? I'd certainly be surprised to see generics in the CLS anytime soon, without something like this to support the .NET languages built pre-generics.

Ehud Lamm - Re: Some interesting weblogs  blueArrow
2/24/2002; 10:31:15 AM (reads: 769, responses: 0)
Different languages support different models of exceptions. Compare Eifell, Ada and C++. Each is a bit different (e.g., can you build hierarchies of expcetion types?) and the possbile responses are different (can you retry after an exception?)

Concerning generics, I'd start with noticing that you can compile to target languages that don't support parametric types. This is usually done using macro-like expansion. The compilation erases the generic parameters. The model proposed for .Net is different, and the generic parameters are suported by the VM. Is this really the best way to go? Doesn't it limit (and/or guide) the types of genericity supported?

Peter Drayton - Re: Some interesting weblogs  blueArrow
2/24/2002; 7:15:28 PM (reads: 759, responses: 1)
Good point on exceptions. However, isn't this already an issue - language designers decide how much to preserve their source langauge semantics, and how much to adopt the CTS semantics. I'd expect CTS semantics to win out more often than not here, since it preserves cross-language integration with a minimum of effort on the part of the language implementors. There's always the Eiffel approach: preserve source language semantics while enabling cross-language integration by doing a lot of work in the compiler & language runtime, but this is definitely the most work.

As for generics, I've heard suggestions that the runtime might be able to perform erasure out to the bounds, ie. macro expansion at runtime for non-generics-aware languages, but this is purely speculation from people who aren't connected with the CLR v.Next, so it might be a complete fiction...

Ehud Lamm - Re: Some interesting weblogs  blueArrow
2/25/2002; 2:35:45 AM (reads: 813, responses: 0)
language designers decide how much to preserve their source langauge semantics, and how much to adopt the CTS semantics

Right. It is just that each language feature raises different issues. We are likely to end up with two models of exceptions: internal, and cross-language exceptions. After that the forces of nature will work to unify the two. And we'll end up with the language neutral kind.