patrickdewane

Stories submitted by patrickdewane

Red-Black trees, oh my (part 4)(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 1 year ago

Part 4 of a 5 part series on red-black trees. This part tackles deleting nodes. The post is bit lengthy, but delivers with a simple and straightforward deletion implementation. read more...

add a comment |category: |Views: 3

tags: another

Dear NULL(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 1 year, 1 month ago

A quick dissection regarding the effects of NULL semantics. read more...

add a comment |category: |Views: 7

tags: another

Red-Black trees, oh my (part 3)(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 1 year, 3 months ago

Part 3 of a 4 (well, maybe 5) part series covering red black trees. This time around, we look at inserting values into a red black tree. Yes, this structure has been covered a million times before, but not quite like this. read more...

add a comment |category: |Views: 3

tags: another

Red-Black trees, oh my (part 2)(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 1 year, 3 months ago

Part 2 of a 4 part series covering red-black trees. Yes, this structure has been covered a million times before, but not quite like this. read more...

add a comment |category: |Views: 15

tags: another

Red-Black trees, oh my (part 1)(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 1 year, 3 months ago

Part 1 of a 4 part series covering red-black trees. Yes, this structure has been covered a million times before, but not quite like this. read more...

add a comment |category: |Views: 48

tags: another

Threading the Needle - Coroutines and Continuations(www.patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 2 years, 1 month ago

If you haven't already noticed, my blogs trends mostly towards the obscure for no reason other than I find it fun and interesting. Well, let's keep trending in that direction then. A few weeks back while iterating over some set of data (a generic list if I recall), I paused for a moment and re-realized the enumerator I was using was a form of coroutine. If you're not familiar with the term, a coroutine is a form of subroutine that supports multiple entry points and can pause and resume execution at pre-determined points in its definition. read more...

add a comment |category: |Views: 4

tags: another

Strange Curry, Part 2(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 2 years, 10 months ago

Last time I demonstrated a way to curry a function that involved amplifying types. I called it "strange curry" because the way I implemented partial function application did not involve a curry helper function and it involved re-writing a curried function when partially applied. In this post, I show how to use this strange curry to simplify a polish notation evaluator. read more...

add a comment |category: |Views: 6

tags: another

Strange Curry(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 2 years, 10 months ago

Taking the technique of currying to a strange place. read more...

add a comment |category: |Views: 5

tags: another

Lazy Evaluation Strategies in C#(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years ago

This whole post started with Haskell. For those of you not familiar with Haskell, it's a wonderful functional programming language with quite a few interesting features you're not likely to find in modern programming languages. One of these features, and the basis for this post, is lazy evaluation of function arguments. Unlike Haskell, C# evaluates arguments eagerly. But why can't we have our cake and eat it too? Let's see if we can... read more...

add a comment |category: |Views: 37

tags: another

C# Futures Counterpart - Pasts(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 1 month ago

In the many core world we now live in, programmers have begun to pay more attention to threading, immutability and functional style programming. For those of you keen to these trends, you may have heard of futures or promises. These constructs act as proxies for values that are yet to be calculated and are typically used to aid with synchronization issues in concurrent programming languages, such as C#. Similar to futures, pasts, are a useful and almost unheard of construct that helps developers maintain previously calculated values. Pasts are not a C# language feature, but they are easy to develop on your own. read more...

add a comment |category: |Views: 19

tags: another

Linear Ordering of Dependencies with a Topological Sort(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 2 months ago

A few weeks back I was working on a solution in Visual Studio with about 8 projects or so in it. I attempted to add a reference from Project B to Project A and was greeted with a nice little dialog box letting me know I had accidentally created a circular dependency when adding the new reference. Ooops! But this got me thinking, what algorithm is Visual Studio using to detect circular dependencies? Let's find out... read more...

add a comment |category: |Views: 82

tags: another

Observations of a Developer - What's In a Title?(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 2 months ago

Normally a blog with a technical bent, this opinion piece observes the phenomenon of title abuse in the tech industry and its reprocussions. read more...

add a comment |category: |Views: 11

tags: another

Dictionary AddRange Extension Method(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 3 months ago

You may have noticed the lack of an AddRange extension method on the IDictionary generic interface. In this post, Patrick Dewane shows two version of this method which you may find useful. read more...

add a comment |category: |Views: 942

tags: another

Functional C# - Part 2(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 3 months ago

In the second part of this series, Patrick Dewane covers memoization in C# and more importantly how to memoize a function written in continuation passing style. read more...

add a comment |category: |Views: 16

tags: another

Functional C# - Part 1(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 3 months ago

In the first in a multi post series, Patrick Dewane covers continuations in C#. read more...

add a comment |category: |Views: 16

tags: another

Don't dis dynamic(patrickdewane.com)

submitted by patrickdewanepatrickdewane(205) 3 years, 6 months ago

C# 4.0 will be introducing some pretty neat featuers, including the ability to discovery dynamic types at runtime. Don't worry, C# is still statically typed, kinda. But for all you naysayers out there, read on. You just may end up liking this feature after all. read more...

add a comment |category: |Views: 7

tags: another