Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over data types, avoid the trade-off which arises when building software incrementally: should it be easy to add new data types and data type alternatives or to add new operations on existing data types? However, AGs are usually implemented as a pre-processor, leaving e. g. type checking to later processing phases and making interactive development, proper error reporting and debugging difficult. Embedding AG into Haskell as a combinator library solves these problems. Previous attempts at embedding AGs as a domain-specific language were based on extensible records and thus exploiting Haskell's type system to check the well-formedness of the AG, but f...
Although the functional programming language Haskell has a powerful type class system, users frequen...
We study the type inference problem for a system with type classes as in the functional programming ...
Some type class instances can be automatically derived from the structure of types. As a result, the...
Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over dat...
Ideally complexity is managed by composing a system out of quite a few, more or less independent, an...
Lazy evaluation allows compiler writers to ignore a separation into passes, and to focus on the logi...
Type-directed programming is an important idiom for software design. In type-directed programming th...
We consider the problem of adding aspects to a strongly typed language which supports type classes. ...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
The popular Glasgow Haskell Compiler extends the Haskell 98 type system with several powerful featu...
The popular Glasgow Haskell Compiler extends the Haskell 98 type system with several powerful featur...
We describe a novel approach to embed pointcut/advice aspects in a typed functional programming lang...
We present a proof rule and an effective tactic for proving properties about Haskell type classes by...
We describe a novel approach to embed pointcut/advice aspects in a typed functional programming lang...
John Hughes presents a new method for performing partial evaluation in [Hug96b]. The method is calle...
Although the functional programming language Haskell has a powerful type class system, users frequen...
We study the type inference problem for a system with type classes as in the functional programming ...
Some type class instances can be automatically derived from the structure of types. As a result, the...
Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over dat...
Ideally complexity is managed by composing a system out of quite a few, more or less independent, an...
Lazy evaluation allows compiler writers to ignore a separation into passes, and to focus on the logi...
Type-directed programming is an important idiom for software design. In type-directed programming th...
We consider the problem of adding aspects to a strongly typed language which supports type classes. ...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
The popular Glasgow Haskell Compiler extends the Haskell 98 type system with several powerful featu...
The popular Glasgow Haskell Compiler extends the Haskell 98 type system with several powerful featur...
We describe a novel approach to embed pointcut/advice aspects in a typed functional programming lang...
We present a proof rule and an effective tactic for proving properties about Haskell type classes by...
We describe a novel approach to embed pointcut/advice aspects in a typed functional programming lang...
John Hughes presents a new method for performing partial evaluation in [Hug96b]. The method is calle...
Although the functional programming language Haskell has a powerful type class system, users frequen...
We study the type inference problem for a system with type classes as in the functional programming ...
Some type class instances can be automatically derived from the structure of types. As a result, the...