home mail me! RSS (2.0) feed

Algebraic + abstract = true! (at least in the key of F#)

I earlier wrote about some ideas I had to combine the encapsulation of abstract data types with the swift case analysis plus decomposition of algebraic types. Why not have both worlds?
Ok, when looking more into F# - after a few years of trying to stay away from it - I realize that it does have […]

Algebraic + abstract = true?

I had this idea a few weeks ago, of merging the syntactical features of algebraic data types with the implementation freedom of abstract data types. Coming to think about it, I had this idea in 1988, when I created an equational "mathematics" system on top of Prolog.
Most people having dealt with declarative languages have encountered [...]

Algebraic data types - a very brief introduction

An algebraic data type is a type defined via constructors that can subsequently – often in a functional language setting – be used in pattern matching. The typical example is (using Haskell syntax):
PLAIN TEXT
HASKELL:

data IntStack = Empty | Cons Int IntStack

One can view the type constructors (Cons and Empty above) as regular functions acting on [...]