🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Hardware and next steps.

Published October 30, 2008
Advertisement
My main dev machine ran into some problems a few days back. Windows would flash and generally not be interactive, making it pretty useless. The login screen and alt-ctrl-del screen worked well, so I put the problem in with the video card/driver (since I'm using vista). A reinstall of the drivers didn't help, so next step was to replace the (~3 year old) card.

Got a random geforce 9800 w/512m. Can't really tell the difference except that this one takes an extra power connector, takes 2 slots and makes a different fan noise. The store also had 1tb drives on sale, so I got one to replace my ever full games drive. Merry Christmas!

And around the same time, my linux machine developed a little more serious problems. It's much older and been running in a drawer rather than a case for years now. I'm actually pretty happy it's lasted this long. I'll decide later if it's worth replacing or if it's easier to just put an ssh server on my windows box.


As for Tangent, work begins on the next bit of development. For the next release, I aim to have native generics working. Generic classes and methods at least. Ideally I'll also get constraints, generics in phrases, and some non-trivial type inference done. Probably in this next release will be more .NET type importing, and maybe type expressions.

Today's work allows generic classes to be defined, but they're not yet instantiatable and the members can't yet use the generic param.

The test target is to allow this definition of not to work:
public abstract bool not(bool rhs);public Type.False not(Type.True rhs){ return(false); }public Type.True not(Type.False rhs){ return(true); }public bool(T)   not( bool(T) rhsMethod ){    return(        (T rhs)=>bool{ return(not rhsMethod(rhs)); }    );}public   bool(A,B) mix Type.BinaryOperator   not( bool(A,B) mix Type.BinaryOperator    rhsOp ){    return(        (A lhs, B rhs)=>bool{ return( not rhsOp(lhs,rhs) ); }    );}


A bit ugly, but will allow not to act as a modifier on methods or operators that return bool. a not equals b for example would parse out nicely into the proper order of operations without having to manually implement the opposite of equals. not is the simple intuitive case.

Might need to work on some syntax to make it less fugly.
Previous Entry Tangent: v0.25!
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement