Today I attended one of Juval Löwy’s sessions on our inhouse conference. He argued that every object in .NET is a COM object behind the scenes, even Int32. Fair enough, Int32 is a type and it does have a Guid. The argument was an attempt to show that .NET is slow and that everything is pushed…More
Category Archives: .NET
Entity Framework 4 Enum support in Linq
As many of you might know, Entity Framework 4 still lacks support to map enum properties. There are countless of more or less worthless workarounds, everything from exposing constants integers in a static class to make it look like an enum to totally insane generics tricks with operator overloading. None of those are good enough…More
Plastic Language take 2
This is a follow-up on my earlier posts regarding my toy language plastic: http://rogeralsing.com/2010/04/14/playing-with-plastic/ http://rogeralsing.com/2010/04/17/more-on-plastic/ After some brain storming with my colleague Sebastian Markbåge, we’ve come up with some alternative approaches to chained method calls. Instead of chaining calls syntactically, I could instead chain them by passing the result of the last statement into the next…More
More on Plastic
I’ve added some more features to my toy language “Plastic”. Partial application of function arguments. This is now used for generators. Yield is no longer a core function, instead, each generator takes a closure as its last argument which is then supplied by the foreach function. This way the foreach body don’t have to be stored…More
Plastic – Added generator support
I’ve added generator support to my toy language “Plastic”. It’s quite funny how easy it is to implement some language features once you understand how they work behind the scenes. At first, I thought generators would be extremely hard to implement, requiring AST transformations to build state machines a’la C# for enumerable methods. But my java…More
