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
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Christoph Pohl
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
ABSYZ Inc
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Angel Borroy López
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
BrainSell Technologies
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
YashikaSharma391629
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
Lionel Briand
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Philip Schwarz
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Lionel Briand
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
VICTOR MAESTRE RAMIREZ
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
rahul_net
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
RTS corp
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
Alina Yurenko
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
31events.com
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
andrehoraa
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
AnoyGreter
Recently uploaded
(20)
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
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