Submit Search
Upload
DSLs with fold algebras
•
Download as PPTX, PDF
•
3 likes
•
1,618 views
Eric Torreborre
Follow
This presentation shows how to use "fold algebras" to implement a toy DSL for paths
Read less
Read more
Software
Report
Share
Report
Share
1 of 31
Download now
Recommended
Coral & Transport UDFs: Building Blocks of a Postmodern Data Warehouse
Coral & Transport UDFs: Building Blocks of a Postmodern Data Warehouse
Walaa Eldin Moustafa
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
Neo4j
JSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge Graphs
Franz Inc. - AllegroGraph
Yann Nicolas - Elag 2018 : From XML to MARC
Yann Nicolas - Elag 2018 : From XML to MARC
ABES
From XML to MARC. RDF behind the scenes.
From XML to MARC. RDF behind the scenes.
Y. Nicolas
SPARTIQULATION - Verbalizing SPARQL queries
SPARTIQULATION - Verbalizing SPARQL queries
Basil Ell
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data Mud
Richard Cyganiak
SPIN in Five Slides
SPIN in Five Slides
Holger Knublauch
Recommended
Coral & Transport UDFs: Building Blocks of a Postmodern Data Warehouse
Coral & Transport UDFs: Building Blocks of a Postmodern Data Warehouse
Walaa Eldin Moustafa
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
Neo4j
JSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge Graphs
Franz Inc. - AllegroGraph
Yann Nicolas - Elag 2018 : From XML to MARC
Yann Nicolas - Elag 2018 : From XML to MARC
ABES
From XML to MARC. RDF behind the scenes.
From XML to MARC. RDF behind the scenes.
Y. Nicolas
SPARTIQULATION - Verbalizing SPARQL queries
SPARTIQULATION - Verbalizing SPARQL queries
Basil Ell
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data Mud
Richard Cyganiak
SPIN in Five Slides
SPIN in Five Slides
Holger Knublauch
Why is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz Inc
Franz Inc. - AllegroGraph
Semantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynk
Namgee Lee
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Information Development World
Data quality in Real Estate
Data quality in Real Estate
Dimitris Kontokostas
SPARQL 1.1 Status
SPARQL 1.1 Status
LeeFeigenbaum
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
Olaf Hartig
PhillyR 18-19 Kickoff - Data Structure Intro
PhillyR 18-19 Kickoff - Data Structure Intro
Leon Kim
What's New in RDF 1.1?
What's New in RDF 1.1?
Richard Cyganiak
Graph databases & data integration v2
Graph databases & data integration v2
Dimitris Kontokostas
Procrastinators CS340
Procrastinators CS340
Süha Kağan Köse
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Connected Data World
A year on the Semantic Web @ W3C
A year on the Semantic Web @ W3C
Ivan Herman
Rdf
Rdf
cyberswat
Evolution of the Graph Schema
Evolution of the Graph Schema
Joshua Shinavier
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
Joshua Shinavier
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
Joshua Shinavier
DGraph: Introduction To Basics & Quick Start W/Ratel
DGraph: Introduction To Basics & Quick Start W/Ratel
Knoldus Inc.
R programming
R programming
Dr. Vaibhav Kumar
Sparql
Sparql
Serge Garlatti
The Power of Machine Learning and Graphs
The Power of Machine Learning and Graphs
Franz Inc. - AllegroGraph
AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
Cambridge Semantics
Jpl presentation
Jpl presentation
Rama Bastola
More Related Content
What's hot
Why is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz Inc
Franz Inc. - AllegroGraph
Semantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynk
Namgee Lee
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Information Development World
Data quality in Real Estate
Data quality in Real Estate
Dimitris Kontokostas
SPARQL 1.1 Status
SPARQL 1.1 Status
LeeFeigenbaum
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
Olaf Hartig
PhillyR 18-19 Kickoff - Data Structure Intro
PhillyR 18-19 Kickoff - Data Structure Intro
Leon Kim
What's New in RDF 1.1?
What's New in RDF 1.1?
Richard Cyganiak
Graph databases & data integration v2
Graph databases & data integration v2
Dimitris Kontokostas
Procrastinators CS340
Procrastinators CS340
Süha Kağan Köse
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Connected Data World
A year on the Semantic Web @ W3C
A year on the Semantic Web @ W3C
Ivan Herman
Rdf
Rdf
cyberswat
Evolution of the Graph Schema
Evolution of the Graph Schema
Joshua Shinavier
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
Joshua Shinavier
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
Joshua Shinavier
DGraph: Introduction To Basics & Quick Start W/Ratel
DGraph: Introduction To Basics & Quick Start W/Ratel
Knoldus Inc.
R programming
R programming
Dr. Vaibhav Kumar
Sparql
Sparql
Serge Garlatti
The Power of Machine Learning and Graphs
The Power of Machine Learning and Graphs
Franz Inc. - AllegroGraph
What's hot
(20)
Why is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz Inc
Semantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynk
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Data quality in Real Estate
Data quality in Real Estate
SPARQL 1.1 Status
SPARQL 1.1 Status
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
PhillyR 18-19 Kickoff - Data Structure Intro
PhillyR 18-19 Kickoff - Data Structure Intro
What's New in RDF 1.1?
What's New in RDF 1.1?
Graph databases & data integration v2
Graph databases & data integration v2
Procrastinators CS340
Procrastinators CS340
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
A year on the Semantic Web @ W3C
A year on the Semantic Web @ W3C
Rdf
Rdf
Evolution of the Graph Schema
Evolution of the Graph Schema
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
DGraph: Introduction To Basics & Quick Start W/Ratel
DGraph: Introduction To Basics & Quick Start W/Ratel
R programming
R programming
Sparql
Sparql
The Power of Machine Learning and Graphs
The Power of Machine Learning and Graphs
Similar to DSLs with fold algebras
AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
Cambridge Semantics
Jpl presentation
Jpl presentation
Rama Bastola
Jpl presentation
Jpl presentation
Rama Bastola
Jpl presentation
Jpl presentation
Rama Bastola
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data Model
LarKC
Ruby on rails
Ruby on rails
chamomilla
April 2016 - USG Web Tech Day - Let's Talk Drupal
April 2016 - USG Web Tech Day - Let's Talk Drupal
Eric Sembrat
Ada 202x A broad overview of relevant news
Ada 202x A broad overview of relevant news
AdaCore
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
andyseaborne
AestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in Scala
Dmitry Buzdin
Text Mining Infrastructure in R
Text Mining Infrastructure in R
Ashraf Uddin
Fp in scala part 1
Fp in scala part 1
Hang Zhao
Semantic web
Semantic web
tariq1352
DC-Text: a simple text-based format for DC metadata
DC-Text: a simple text-based format for DC metadata
Eduserv Foundation
Efficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF Databases
Alexandra Roatiș
Introducing Arc: A Common Intermediate Language for Unified Batch and Stream...
Introducing Arc: A Common Intermediate Language for Unified Batch and Stream...
Flink Forward
Microsoft (SQL Server)
Microsoft (SQL Server)
Vinayak Hegde
Exploring type level programming in Scala
Exploring type level programming in Scala
Jorge Vásquez
LDAP
LDAP
Chandanapriya Sathavalli
Database_Tuning.ppt
Database_Tuning.ppt
AsimEisa2
Similar to DSLs with fold algebras
(20)
AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
Jpl presentation
Jpl presentation
Jpl presentation
Jpl presentation
Jpl presentation
Jpl presentation
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data Model
Ruby on rails
Ruby on rails
April 2016 - USG Web Tech Day - Let's Talk Drupal
April 2016 - USG Web Tech Day - Let's Talk Drupal
Ada 202x A broad overview of relevant news
Ada 202x A broad overview of relevant news
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
AestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in Scala
Text Mining Infrastructure in R
Text Mining Infrastructure in R
Fp in scala part 1
Fp in scala part 1
Semantic web
Semantic web
DC-Text: a simple text-based format for DC metadata
DC-Text: a simple text-based format for DC metadata
Efficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF Databases
Introducing Arc: A Common Intermediate Language for Unified Batch and Stream...
Introducing Arc: A Common Intermediate Language for Unified Batch and Stream...
Microsoft (SQL Server)
Microsoft (SQL Server)
Exploring type level programming in Scala
Exploring type level programming in Scala
LDAP
LDAP
Database_Tuning.ppt
Database_Tuning.ppt
More from Eric Torreborre
wire-all-the-things-lambda-days-2023.pdf
wire-all-the-things-lambda-days-2023.pdf
Eric Torreborre
The many faces of modularity
The many faces of modularity
Eric Torreborre
What haskell taught us when we were not looking
What haskell taught us when we were not looking
Eric Torreborre
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
Eric Torreborre
Pratical eff-functional-conf
Pratical eff-functional-conf
Eric Torreborre
Specs2, from starters to dessert and... a look in the kitchen
Specs2, from starters to dessert and... a look in the kitchen
Eric Torreborre
Streaming, effects and beautiful folds: a winning trilogy
Streaming, effects and beautiful folds: a winning trilogy
Eric Torreborre
Pratical eff-scalaitaly-2017
Pratical eff-scalaitaly-2017
Eric Torreborre
Pratical eff monad at Scaladays Chicago
Pratical eff monad at Scaladays Chicago
Eric Torreborre
Pratical eff
Pratical eff
Eric Torreborre
The Eff monad, one monad to rule them all
The Eff monad, one monad to rule them all
Eric Torreborre
Easy di-slideshare
Easy di-slideshare
Eric Torreborre
Data generation, the hard parts
Data generation, the hard parts
Eric Torreborre
Origami, a monadic fold library for Scala
Origami, a monadic fold library for Scala
Eric Torreborre
Datatypes for the real world
Datatypes for the real world
Eric Torreborre
Specs2 3.4
Specs2 3.4
Eric Torreborre
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014
Eric Torreborre
Epic success \/ failure, refactoring to *real* FP
Epic success \/ failure, refactoring to *real* FP
Eric Torreborre
Vampire methods
Vampire methods
Eric Torreborre
Specs2 whirlwind-tour
Specs2 whirlwind-tour
Eric Torreborre
More from Eric Torreborre
(20)
wire-all-the-things-lambda-days-2023.pdf
wire-all-the-things-lambda-days-2023.pdf
The many faces of modularity
The many faces of modularity
What haskell taught us when we were not looking
What haskell taught us when we were not looking
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
Pratical eff-functional-conf
Pratical eff-functional-conf
Specs2, from starters to dessert and... a look in the kitchen
Specs2, from starters to dessert and... a look in the kitchen
Streaming, effects and beautiful folds: a winning trilogy
Streaming, effects and beautiful folds: a winning trilogy
Pratical eff-scalaitaly-2017
Pratical eff-scalaitaly-2017
Pratical eff monad at Scaladays Chicago
Pratical eff monad at Scaladays Chicago
Pratical eff
Pratical eff
The Eff monad, one monad to rule them all
The Eff monad, one monad to rule them all
Easy di-slideshare
Easy di-slideshare
Data generation, the hard parts
Data generation, the hard parts
Origami, a monadic fold library for Scala
Origami, a monadic fold library for Scala
Datatypes for the real world
Datatypes for the real world
Specs2 3.4
Specs2 3.4
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014
Epic success \/ failure, refactoring to *real* FP
Epic success \/ failure, refactoring to *real* FP
Vampire methods
Vampire methods
Specs2 whirlwind-tour
Specs2 whirlwind-tour
Recently uploaded
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
FerryKemperman
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Matt Ray
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Łukasz Chruściel
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
stazi3110
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Natan Silnitsky
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
AnoyGreter
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Neo4j
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
IdiosysTechnologies1
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
bntitsolutionsrishis
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
BradBedford3
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
Hr365.us smith
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
smiwainfosol
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Philip Schwarz
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
qr0udbr0
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
confluent
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Diego Iván Oliveros Acosta
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
Recently uploaded
(20)
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
DSLs with fold algebras
1.
Writing a DSL
with a Fold-Algebra ScalaSyd
2.
Overview The expression
problem Fold-algebras File paths DSLs tips and tricks Scala types
3.
I’ve had this
problem Result Failure Success Pending Console Html Screenshot? Pdf?
4.
The Expression Problem
Add(Lit(1), Lit(2))
5.
The Expression Problem
6.
The Expression Problem
7.
Solved in Java?!?
8.
Data as an
ADT
9.
List as a
“fold”
10.
List as a
“fold”
11.
Data types encodings
List[A] = Nil + (A, List[A]) F[A] -> A Nil + (A, List[A]) -> A (Nil -> A, (A, List[A]) -> A)
12.
A Fold-algebra for
directories Name Name Name Name
13.
A Fold-algebra for
directories
14.
A DSL for
directories
15.
What’s in a
name?
16.
What’s in a
name?
17.
A DSL for
directories
18.
A DSL for
directories
19.
A DSL for
directories
20.
A Fold-algebra for
files
21.
A DSL for
files
22.
A DSL for
files
23.
A Fold-algebra for
paths
24.
A Fold-algebra for
paths
25.
A DSL for
relative paths
26.
A DSL for
relative paths
27.
A DSL for
relative paths
28.
A DSL for
relative paths
29.
A DSL for
relative paths
30.
A DSL for
relative paths
31.
Conclusion Papers! Play!
Present at ! 3Ps
Editor's Notes
Chapter 3 of FP in Scala
Download now