Results 1  10
of
250
import Test.QuickCheck
, 2012
"... Through a series of mechanical transformation, I show how a threeline recursive Haskell function (Fibonacci) can be translated into a hardware description language—VHDL—for efficient execution on an FPGA. The goal of this report is to lay the groundwork for a compiler that will perform these transf ..."
Abstract
 Add to MetaCart
Through a series of mechanical transformation, I show how a threeline recursive Haskell function (Fibonacci) can be translated into a hardware description language—VHDL—for efficient execution on an FPGA. The goal of this report is to lay the groundwork for a compiler that will perform
Type Inference with Polymorphic Recursion
 Transactions on Programming Languages and Systems
, 1991
"... The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule. H ..."
Abstract

Cited by 145 (3 self)
 Add to MetaCart
The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule
Monadic Parsing in Haskell
, 1993
"... This paper is a tutorial on defining recursive descent parsers in Haskell. In the spirit of onestop shopping , the paper combines material from three areas into a single source. The three areas are functional parsers (Burge, 1975; Wadler, 1985; Hutton, 1992; Fokker, 1995), the use of monads to stru ..."
Abstract

Cited by 78 (0 self)
 Add to MetaCart
This paper is a tutorial on defining recursive descent parsers in Haskell. In the spirit of onestop shopping , the paper combines material from three areas into a single source. The three areas are functional parsers (Burge, 1975; Wadler, 1985; Hutton, 1992; Fokker, 1995), the use of monads
Constructor specialisation for Haskell programs
, 2007
"... Userdefined data types, patternmatching, and recursion are ubiquitous features of Haskell programs. Sometimes a function is called with arguments that are statically known to already be in constructor form, so that the work of patternmatching is wasted. Even worse, the argument is sometimes fres ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
Userdefined data types, patternmatching, and recursion are ubiquitous features of Haskell programs. Sometimes a function is called with arguments that are statically known to already be in constructor form, so that the work of patternmatching is wasted. Even worse, the argument is sometimes
Abstract A Generic Recursion Toolbox for Haskell
"... Haskell programmers who deal with complex data types often need to apply functions to specific nodes deeply nested inside of terms. Typically, implementations for those applications require socalled boilerplate code, which recursively visits the nodes and carries the functions to the places where t ..."
Abstract
 Add to MetaCart
Haskell programmers who deal with complex data types often need to apply functions to specific nodes deeply nested inside of terms. Typically, implementations for those applications require socalled boilerplate code, which recursively visits the nodes and carries the functions to the places where
A Static Semantics for Haskell
, 1998
"... This paper gives a static semantics for Haskell 98, a nonstrict purely functional programming language. The semantics formally specifies nearly all the details of the Haskell 98 type system, including the resolution of overloading, kind inference (including defaulting) and polymorphic recursion, th ..."
Abstract

Cited by 25 (1 self)
 Add to MetaCart
This paper gives a static semantics for Haskell 98, a nonstrict purely functional programming language. The semantics formally specifies nearly all the details of the Haskell 98 type system, including the resolution of overloading, kind inference (including defaulting) and polymorphic recursion
Extended static checking for Haskell
 In Proc. of the 36th ACM SIGPLAN Workshop on Haskell (Haskell 2006
, 2006
"... Program errors are hard to detect and are costly both to programmers who spend significant efforts in debugging, and to systems that are guarded by runtime checks. Extended static checking can reduce these costs by helping to detect bugs at compiletime, where possible. Extended static checking has ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
. One novelty is our use of Haskell as the specification language itself for pre/post conditions. Any Haskell function (including recursive and higher order functions) can be used in our specification which allows sophisticated properties to be expressed. To perform automatic verification, we rely on a
The Table Monad in Haskell
"... Nondeterministic functions are functions that can return multiple answers. When such a function calls itself recursively it can produce an infinite number of answers where only finitely many distinct results exist. Tabling is a technique that allows the combination of recursion and nondetermini ..."
Abstract
 Add to MetaCart
Nondeterministic functions are functions that can return multiple answers. When such a function calls itself recursively it can produce an infinite number of answers where only finitely many distinct results exist. Tabling is a technique that allows the combination of recursion and non
Refinement Types For Haskell
"... SMTbased checking of refinement types for callbyvalue languages is a wellstudied subject. Unfortunately, the classical translation of refinement types to verification conditions is unsound under lazy evaluation. When checking an expression, such systems implicitly assume that all the free var ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
,000 lines of widely used Haskell libraries. We show that LIQUIDHASKELL is able to prove 96 % of all recursive functions terminating, while requiring a modest 1.7 lines of terminationannotations per 100 lines of code. 1.
A Finer Functional Fibonacci on a Fast fpga
, 2013
"... Through a series of mechanical, semanticspreserving transformations, I show how a threeline recursive Haskell program (Fibonacci) can be transformed to a hardware description language—Verilog—that can be synthesized on an fpga. This report lays ..."
Abstract
 Add to MetaCart
Through a series of mechanical, semanticspreserving transformations, I show how a threeline recursive Haskell program (Fibonacci) can be transformed to a hardware description language—Verilog—that can be synthesized on an fpga. This report lays
Results 1  10
of
250