On Thu, Feb 26, 2009 at 9:59 PM, Pal-Kristian Engstad <[email protected]> wrote: > Guarantees about stack and heap usage: Stacks do sometimes grow into memory > where they shouldn't, causing the game to crash...
Concur. What you are after here is termination. I don't think the language should mandate this, but it should be something that is dischargeable, and usually with a fairly high degree of automation. These sorts of things are very much the kinds of issues that concern us in the Coyotos kernel. > Run-time guarantees: If it looks like an O(n) routine, then it should be an > O(n) routine. Yes. And without any hidden constant multipliers, thank you. Though in practice O(N log N) *is* O(N). N in representable program states is bounded by the total number of electrons in the universe, and logN of that is surprisingly small. I have annoyed several algorithms faculty with this observation over the years. Oh wait. You probably wanted an answer within your lifetime, too, didn't you? Spoil sport! > Safety: As much statically typing as possible, but optional > introspection/reflection capabilities would come in very handy. Introspection and reflection in a language with strong static typing is problematic. David Tarditi did some work on static introspection for Spec#; I don't recall the publication. My personal sense is that read-only introspection isn't that bad, but run-time object synthesis is problematic, and there are some real problems with introspection if it allows you to violate type hiding boundaries. shap _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
