Difference between revisions of "Publications/newton.22.ifl"

From LRDE

(Created page with "{{Publication | published = true | date = 2022-08-31 | authors = Jim Newton | title = Comparing Use-Cases of Tree-Fold vs Fold-Left, How to fold and color a map | booktitle =...")
 
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
| date = 2022-08-31
 
| date = 2022-08-31
 
| authors = Jim Newton
 
| authors = Jim Newton
| title = Comparing Use-Cases of Tree-Fold vs Fold-Left, How to fold and color a map
+
| title = Comparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold and Color a Map
 
| booktitle = Symposium on Implementation and Application of Functional Languages
 
| booktitle = Symposium on Implementation and Application of Functional Languages
| lrdestatus = accepted
 
 
| lrdekeywords = fold,scala,BDD,associativity,binary decision diagram,lisp,rational numbers
 
| lrdekeywords = fold,scala,BDD,associativity,binary decision diagram,lisp,rational numbers
 
| lrdenewsdate = 2022-08-31
 
| lrdenewsdate = 2022-08-31
| lrdeprojects = Automata
+
| lrdeprojects = AA
 
| address = Copenhagen, Denmark
 
| address = Copenhagen, Denmark
| abstract = In this article we examine some consequences of computation order of two different conceptual implementations of the fold function. We explore a set of performance- and accuracy-based experiments on two implementations of this function. In particular, we contrast the traditional fold-left implementation with another approach we refer to as tree-fold. It is often implicitly supposed that the binary operation in question has constant complexity. We explore several application areas which diverge from that assumption: rational arithmetic, floating-point arithmetic, and Binary Decisions Diagram construction. These are binary operations which degrade in performance as the fold iteration progresses. We show that these types of binary operations are good candidates for tree-fold.
+
| abstract = In this article we examine some consequences of computation order of two different conceptual implementations of the fold function. We explore a set of performance- and accuracy-based experiments on two implementations of this function. In particular, we contrast the traditional fold-left implementation with another approach we refer to as tree-fold. It is often implicitly supposed that the binary operation in question has constant complexity. We explore several application areas which diverge from that assumption: rational arithmetic, floating-point arithmetic, and Binary Decisions Diagram construction. These are binary operations which degrade in performance as the fold iteration progresses. We show that these types of binary operations are good candidates for tree-fold.
  +
| nodoi =
 
| type = inproceedings
 
| type = inproceedings
 
| id = newton.22.ifl
 
| id = newton.22.ifl
Line 16: Line 16:
 
@InProceedings<nowiki>{</nowiki> newton.22.ifl,
 
@InProceedings<nowiki>{</nowiki> newton.22.ifl,
 
author = <nowiki>{</nowiki>Jim Newton<nowiki>}</nowiki>,
 
author = <nowiki>{</nowiki>Jim Newton<nowiki>}</nowiki>,
title = <nowiki>{</nowiki>Comparing Use-Cases of Tree-Fold vs Fold-Left, How to fold
+
title = <nowiki>{</nowiki>Comparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold
and color a map<nowiki>}</nowiki>,
+
and Color a Map<nowiki>}</nowiki>,
 
booktitle = <nowiki>{</nowiki>Symposium on Implementation and Application of Functional
 
booktitle = <nowiki>{</nowiki>Symposium on Implementation and Application of Functional
 
Languages<nowiki>}</nowiki>,
 
Languages<nowiki>}</nowiki>,
 
year = 2022,
 
year = 2022,
lrdestatus = <nowiki>{</nowiki>accepted<nowiki>}</nowiki>,
 
 
address = <nowiki>{</nowiki>Copenhagen, Denmark<nowiki>}</nowiki>,
 
address = <nowiki>{</nowiki>Copenhagen, Denmark<nowiki>}</nowiki>,
 
month = aug,
 
month = aug,
Line 38: Line 37:
 
degrade in performance as the fold iteration progresses. We
 
degrade in performance as the fold iteration progresses. We
 
show that these types of binary operations are good
 
show that these types of binary operations are good
candidates for tree-fold. <nowiki>}</nowiki>
+
candidates for tree-fold. <nowiki>}</nowiki>,
 
nodoi = <nowiki>{</nowiki><nowiki>}</nowiki>
 
<nowiki>}</nowiki>
 
<nowiki>}</nowiki>
   

Latest revision as of 19:08, 7 April 2023

Abstract

In this article we examine some consequences of computation order of two different conceptual implementations of the fold function. We explore a set of performance- and accuracy-based experiments on two implementations of this function. In particular, we contrast the traditional fold-left implementation with another approach we refer to as tree-fold. It is often implicitly supposed that the binary operation in question has constant complexity. We explore several application areas which diverge from that assumption: rational arithmetic, floating-point arithmetic, and Binary Decisions Diagram construction. These are binary operations which degrade in performance as the fold iteration progresses. We show that these types of binary operations are good candidates for tree-fold.


Bibtex (lrde.bib)

@InProceedings{	  newton.22.ifl,
  author	= {Jim Newton},
  title		= {Comparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold
		  and Color a Map},
  booktitle	= {Symposium on Implementation and Application of Functional
		  Languages},
  year		= 2022,
  address	= {Copenhagen, Denmark},
  month		= aug,
  abstract	= {In this article we examine some consequences of
		  computation order of two different conceptual
		  implementations of the fold function. We explore a set of
		  performance- and accuracy-based experiments on two
		  implementations of this function. In particular, we
		  contrast the traditional fold-left implementation with
		  another approach we refer to as tree-fold. It is often
		  implicitly supposed that the binary operation in question
		  has constant complexity. We explore several application
		  areas which diverge from that assumption: rational
		  arithmetic, floating-point arithmetic, and Binary Decisions
		  Diagram construction. These are binary operations which
		  degrade in performance as the fold iteration progresses. We
		  show that these types of binary operations are good
		  candidates for tree-fold. },
  nodoi		= {}
}