Browse by Tags

Parameterized State Transformer Monad in F#?
04 November 08 09:30 PM | MattManela | 2 Comments   
I have have been playing around with F# and I decided to create a state monad. This worked out really well since I was able to leverage the F# computation expressions . I then decided to try to extend this and make it more general by creating a parameterized Read More...
Filed under: , ,
Writing a Regular Expression parser in Haskell: Part 4
21 June 08 04:18 PM | MattManela | 1 Comments   
With the previous two modules in place we are now set up to use a DFA to match against a string. In my implementation I support either a greedy match or an short match. In a full featured regular expression engine this ability to choose greedy or not Read More...
Filed under: ,
Attachment(s): SimpleRegex.zip
Writing a Regular Expression parser in Haskell: Part 3
09 June 08 11:08 PM | MattManela | 1 Comments   
The third module in the simple regular expression parser is called: NFAtoDFA. Which as you might have guessed, takes the NFA that resulted from the first module and converts it into a DFA. The structure that the DFA uses is the same that the NFA uses Read More...
Filed under: ,
Attachment(s): NFAtoDFA.hs
Writing a Regular Expression parser in Haskell: Part 1
01 June 08 01:28 PM | MattManela | 0 Comments   
A few weeks ago I read this article about writing a simple regular expression parser. That article does a really good job of explaining the theory behind regular expression. It then goes step by step into how to write a program (he uses C++) to parse Read More...
Filed under: ,
Breadth First Tree Traversal in Haskell
11 May 08 07:30 PM | MattManela | 0 Comments   
As my interest in functional languages has grown, I have become increasingly interested in using them to implement algorithms which I can already write with imperative languages. For example, I was taught to implement (and I assume most other people as Read More...
Filed under: ,
When I am finally starting to get a handle on Monads...
05 April 08 11:59 PM | MattManela | 0 Comments   
When I am finally starting to get a handle on Monads I discovered Arrows and I am thrown back into confusion. At least that is how it feels. In my exploration of Haskell I have spent a good deal of time trying to completely grasp and understand Monads. Read More...
Filed under: ,
Lazy Prime Number Sieve in C#
16 March 08 11:28 PM | MattManela | 2 Comments   
In my last post I talked about a Stream class for creating efficient lazy lists in C#. In addition, I showed several classic functional methods I ported to C# to be used on the lazy lists. As I mentioned in that post, I will now talk about an example Read More...
Filed under: , ,
Digging deeper into C# Lazy Lists
14 March 08 11:47 PM | MattManela | 2 Comments   
One of the most interesting aspects of the Haskell language is the fact that features lazy evaluation. My interest in lazy evaluation led me to a post on Wes Dyers blog about lazy lists in C#. In his blog post he talks describes how to create a lazy list Read More...
Filed under: , ,
Who would have thunk it?
18 December 07 10:40 PM | MattManela | 1 Comments   
I recently read this article about Lazy Computation in C# . What the article discusses is creating lazy evaluation in C#. Lazy evaluation is a key feature of functional languages like Haskell but is not common in imperative languages. It is used in Haskell Read More...
Filed under: , ,
Lambda Expressions are more fun in Visual Basic .NET
06 December 07 10:33 PM | MattManela | 8 Comments   
I love C# and I would never want to do anything to make it seem any less amazing but I have to give credit where credit is due ... to Visual Basic .NET. Yes, I said it. Both languages have been adding features inspired by the functional and dynamic programing Read More...
Page view tracker