in

B# .NET Technical Community Homepage

Bart De Smet's online technical community

Browse by Tags

  • The Case of The Failed Demo – StackOverflowException on x64

    Introduction A while ago I was explaining runtime mechanisms like the stack and the heap to some folks. (As an aside, I’m writing a debugger course on “Advanced .NET Debugging with WinDbg with SOS”, which is an ongoing project. Time will tell when it’s ready to hit the streets.) Since the context was...
    Posted to B# .NET Blog (Weblog) by bart on 07-07-2010
  • Jumping the trampoline in C# – Stack-friendly recursion

    Introduction Recursion is a widely known technique to decompose a problem in smaller “instances” of the same problem. For example, performing tree operations (e.g. in the context of data structures, user interfaces, hierarchical stores, XML, etc) can be expressed in terms of a navigation strategy over...
    Posted to B# .NET Blog (Weblog) by bart on 11-08-2009
  • Taming Your Sequence’s Side-Effects Through IEnumerable.Let

    Introduction Side-effects don’t fit together very well with functional-style delayed computation, as observed in LINQ. Having such constructs embedded in an otherwise eagerly evaluated imperative language like C# can cause quite some confusion from time to time. A few samples (due to Erik Meijer) of...
    Posted to B# .NET Blog (Weblog) by bart on 09-12-2009
  • Type-Free Lambda Calculus in C#, Pre-4.0 – Defining the Lambda Language Runtime (LLR)

    Introduction A while back, I blogged about (Mis)using C# 4.0 Dynamic – Type-Free Lambda Calculus, Church Numerals, and more which was a fun post and got some good feedback and solid reading numbers. So, let’s continue our journey of brain-exploding theoretical foundational posts with “The Revenge of...
    Posted to B# .NET Blog (Weblog) by bart on 08-30-2009
  • (Mis)using C# 4.0 Dynamic – Type-Free Lambda Calculus, Church Numerals, and more

    Introduction Sunday morning, time for another episode of the Crazy Sundays series. Again one in the category with risk for exploding brains , but that’s what we like, don’t we? This time around, we’re going to have a look at the type free lambda calculus in C#. But wait a minute, isn’t C# a typed language...
    Posted to B# .NET Blog (Weblog) by bart on 08-17-2009
  • Memoization for dummies

    Introduction We’ve been talking about functional programming quite a bit already. One of the things used frequently in functional programming is recursion, instead of imperative loop constructs. Both have their advantages, but often recursive techniques can cause significant degradations in performance...
    Posted to B# .NET Blog (Weblog) by bart on 10-21-2008
  • “The C# Programming Language Third Edition” and thoughts on language evolution

    With a hypothetical next release of the C# language around the corner (more about that after Anders, our language Caesar, has delivered his “Future of C#” talk on the PDC 08), I’ve had the honor to receive an early print of The C# Programming Language Third Edition . As you can guess, this book is the...
    Posted to B# .NET Blog (Weblog) by bart on 10-19-2008
  • Curry for dummies (Cont’d) – A happy ending

    I didn’t intend to make this a series of posts but that’s the way things go. Based on feedback from readers and additional questions raised, one decides that add that little bit more to it and ultimate you’re writing a sequel. Where have we been on this journey? First, we took a look at the abstract...
    Posted to B# .NET Blog (Weblog) by bart on 08-22-2008
  • Curry for dummies cont'd - A note on purity

    Recently I posted a post titled Curry for dummies . I have to admit the article did possibly exceed the dummy level, so here's a little code-based wrap-up before extending upon it: int Add( int a, int b) { return a + b; } // // Without curry support = all or nothing // var add = Add; // a delegate...
    Posted to B# .NET Blog (Weblog) by bart on 08-18-2008
  • Curry for dummies

    Introduction Functional programming concepts aren’t that hard but sometimes a little abstract. In this post I’ll try to demystify the concept of currying, or - in simple words – partial function application. If you wonder where the name “curry” comes from, it’s named after Haskell Curry, one of the creative...
    Posted to B# .NET Blog (Weblog) by bart on 08-13-2008
Page 1 of 3 (25 items) 1 2 3 Next >
Powered by Community Server (Non-Commercial Edition), by Telligent Systems