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

Reply via email to