Static typing is one of the most prominent techniques in the design of programming languages for making software more safe and more reusable. Furthermore, it provides opportunities for compilers to automatically generate boilerplate code, using mathematical foundations. In this thesis, we extend upon the design of Haskell, a general-purpose functional programming language with strong static typing, to offer more opportunities for reasoning, abstraction, and static code generation. More specifically, we improve upon two features: pattern matching and type classes. Pattern matching denotes the act of performing case-analysis on the shape of a value, thus enabling a program to behave differently, depending on input information. With the advent...
John Hughes presents a new method for performing partial evaluation in [Hug96b]. The method is calle...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
We describe the implementation of a type checker for the functional programming language Haskell tha...
Contains fulltext : 30218.pdf (publisher's version ) (Open Access)Writing correct ...
Functional logic overloading is a novel approach to userdefined overloading that extends Haskell’s c...
We study the type inference problem for a system with type classes as in the functional programming ...
We study the type inference problem for a system with type classes as in the functional programming ...
Functional logic overloading is a novel approach to userdefined overloading that extends Haskell&apo...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
AbstractGeneric programming allows you to write a function once, and use it many times at different ...
Pattern matching has proved an extremely powerful and durable notion in functional programming. This...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
We present a solution to the problem of dynamic extension in staticallytyped functional languages wi...
John Hughes presents a new method for performing partial evaluation in [Hug96b]. The method is calle...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
We describe the implementation of a type checker for the functional programming language Haskell tha...
Contains fulltext : 30218.pdf (publisher's version ) (Open Access)Writing correct ...
Functional logic overloading is a novel approach to userdefined overloading that extends Haskell’s c...
We study the type inference problem for a system with type classes as in the functional programming ...
We study the type inference problem for a system with type classes as in the functional programming ...
Functional logic overloading is a novel approach to userdefined overloading that extends Haskell&apo...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
This thesis is an exploration -- an exploration of a language extension of the functional programmi...
AbstractGeneric programming allows you to write a function once, and use it many times at different ...
Pattern matching has proved an extremely powerful and durable notion in functional programming. This...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
We present a solution to the problem of dynamic extension in staticallytyped functional languages wi...
John Hughes presents a new method for performing partial evaluation in [Hug96b]. The method is calle...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...