Title
Declaring Numbers
Abstract
Most implementations of functional and functional logic languages treat numbers and the basic numeric operations as external entities. The main reason for this is efficiency. However, this basic design decision has many unfortunate consequences for all programs using numbers. We present an approach to model numbers in a declarative way and argue that the loss in efficiency is compensated by the newly gained possibilities. Functional logic languages benefit the most from this proposal because all the numeric operations become fully narrowable. This enables the solving of simple equations on numbers in an efficient way without having to resort to external constraint solvers. The presented approach can either be used as a library for purely declarative numbers or it can be employed as a basic data type of functional (logic) languages. Indeed, we have integrated the presented data structures as the only numbers available in our compiler for the functional logic language Curry.
Year
DOI
Venue
2008
10.1016/j.entcs.2008.06.037
Electr. Notes Theor. Comput. Sci.
Keywords
DocType
Volume
external constraint solvers,basic numeric operation,external entity,numbers,Implementation techniques,basic design decision,basic data type,functional logic languages,functional logic language,main reason,numeric operation,declarative number,data structure
Journal
216,
ISSN
Citations 
PageRank 
Electronic Notes in Theoretical Computer Science
3
0.41
References 
Authors
5
3
Name
Order
Citations
PageRank
Bernd Braßel118112.47
Sebastian Fischer2745.07
Frank Huch3695.55