Finitio - Data deserves a language too

Bernard Lambeau
Bernard LambeauFounder at Enspirit
Data Deserves a
Language Too
Bernard Lambeau
Université catholique de Louvain (Belgium)
@blambeau
csv,conf – Berlin – 15 July 2014
We’ve got
a serious
marriage issue
between
Code and Data
You can’t
disentangle
them when
designed
conjointly
e.g. try sending a Java Graph abstraction over the wire
to another (non Java) software Component
You can’t
assemble
them when
designed
separately
e.g. try solving the Impedance Mismatch
in a sound and elegant way
Coupling issue known for ages
• Niklaus Wirth, 1976
– The father of Pascal,
Modula 2 and a lot more
• Main message
– Data structures and
Algorithms are highly related
• Yields another coupling issue
– Between software
components
– Hurts evolution
A solution used for ages
• Information Hiding
– Parnas, 1971
• Abstract Data Types
– Liskov, 1974
Avoid coupling between software components
• Encapsulate data
• Access it only via behavioral interfaces
• e.g. the Stack ADT and its axiomatic contract
Software: a black-box cathedral
?
?
?
A Possible Root Cause
• Programming languages & practices have
strong biases towards Behavior
– Type systems & Type checking algorithms
– APIs and documentation
– Testing
• They mostly ignore the Data perspective of
engineering
– To be is too often sacrificed over To Behave
To Be is to be a Value
that is, a member of a Type
• An interesting question is
– Are you, value v, a member of type T ?
• Examples
– Are you 13 an Integer between 0 and 45 ?
– Are you {…} a Member information with a valid
Password, that is, a String of min 8 characters ?
• Useful only if we can capture interesting
Types in the first place
– Sets of values, Arbitrary Subsets, Supersets
– Weak or no support in conventional prog. languages
Data Deserves a Language Too
What would a language strongly
biased towards data look like?
OR
http://www.finitio.io/try
• Finitio is a language for …
– Enforcing
– Validating
– Documenting
– Coercing
• … Datatypes in
– Files
– APIs
– Exchanges
– Databases
• + an interoperability layer: Information Contracts
– A proposed dual to ADTs’ axiomatic contracts
Meet Finitio & Contribute
• http://www.finitio.io/
– The best starting point
• github.com/blambeau/finitio
– Language specification, e2e tests, doc source
• github.com/blambeau/finitio-rb
– Ruby binding
• github.com/llambeau/finitio.js
– Javascript binding
1 of 12

Recommended

Towards a Human Language Project for Multilingual Europe: AI and Interpretation by
Towards a Human Language Project for Multilingual Europe: AI and InterpretationTowards a Human Language Project for Multilingual Europe: AI and Interpretation
Towards a Human Language Project for Multilingual Europe: AI and InterpretationGeorg Rehm
380 views24 slides
Accessibility and Metadata by
Accessibility and MetadataAccessibility and Metadata
Accessibility and Metadataliddy
334 views15 slides
Lomtologies - issues and challenges in maintaining simple LOM-related vocabul... by
Lomtologies - issues and challenges in maintaining simple LOM-related vocabul...Lomtologies - issues and challenges in maintaining simple LOM-related vocabul...
Lomtologies - issues and challenges in maintaining simple LOM-related vocabul...Eduserv Foundation
555 views28 slides
sw owl by
 sw owl sw owl
sw owlabdollahtaghipour
131 views79 slides
Briefing on OASIS XLIFF OMOS TC 20160121 by
Briefing on OASIS XLIFF OMOS TC 20160121Briefing on OASIS XLIFF OMOS TC 20160121
Briefing on OASIS XLIFF OMOS TC 20160121Jamie Clark
425 views14 slides
Kevin De Vorsey - Preservation isn't pretty (but you need it) by
Kevin De Vorsey - Preservation isn't pretty (but you need it)Kevin De Vorsey - Preservation isn't pretty (but you need it)
Kevin De Vorsey - Preservation isn't pretty (but you need it)National Digital Forum
341 views17 slides

More Related Content

Viewers also liked

Photo album latest slideshow1 by
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1hussain56
193 views13 slides
Quick start to the Library March 2011 by
Quick start to the Library March 2011Quick start to the Library March 2011
Quick start to the Library March 2011Kings Norton Library, Cranfield University
367 views28 slides
Shoestring Video-SoMeT 2011-Brian Matson by
Shoestring Video-SoMeT 2011-Brian MatsonShoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonBrian Matson
313 views29 slides
ไฟฟ้า by
ไฟฟ้าไฟฟ้า
ไฟฟ้าPowergift_vip
237 views25 slides
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis by
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis DinamisPengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis DinamisKagarasomaru
2.2K views37 slides
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011 by
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011Kouluterveyskysely
819 views44 slides

Viewers also liked(20)

Photo album latest slideshow1 by hussain56
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1
hussain56193 views
Shoestring Video-SoMeT 2011-Brian Matson by Brian Matson
Shoestring Video-SoMeT 2011-Brian MatsonShoestring Video-SoMeT 2011-Brian Matson
Shoestring Video-SoMeT 2011-Brian Matson
Brian Matson313 views
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis by Kagarasomaru
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis DinamisPengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Pengantar Bisnis Bab 1 : Mengelola Lingkungan Bisnis Dinamis
Kagarasomaru2.2K views
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011 by Kouluterveyskysely
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Puusniekka: Kouluterveyskysely 2011. Kouluterveyspäivät 2011
Kouluterveyskysely819 views
Heaven - escena baralla al parc by mvinola2
Heaven - escena baralla al parcHeaven - escena baralla al parc
Heaven - escena baralla al parc
mvinola2210 views
Mff715 s2 w1 scientific reasoning by Rachel Chung
Mff715 s2 w1 scientific reasoningMff715 s2 w1 scientific reasoning
Mff715 s2 w1 scientific reasoning
Rachel Chung428 views
User manual hl_wp_clone_feature by Debjani Roy
User manual hl_wp_clone_featureUser manual hl_wp_clone_feature
User manual hl_wp_clone_feature
Debjani Roy255 views
Xpflow training ppt_update_may 2007-051807 by Debjani Roy
Xpflow training ppt_update_may 2007-051807Xpflow training ppt_update_may 2007-051807
Xpflow training ppt_update_may 2007-051807
Debjani Roy1.2K views
Grammar book by ajpeace96
Grammar bookGrammar book
Grammar book
ajpeace96375 views
Lesson 3 by pichulin1
Lesson 3Lesson 3
Lesson 3
pichulin1285 views
Geluidsisolatie versie 1 nvm som (1) by Quietroom Label
Geluidsisolatie versie 1 nvm    som (1)Geluidsisolatie versie 1 nvm    som (1)
Geluidsisolatie versie 1 nvm som (1)
Quietroom Label3.3K views
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2 by Kouluterveyskysely
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Pietilä, Vonk: Terve suu yhteisenä tavoitteena, osa 2
Kouluterveyskysely389 views
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! by Kouluterveyskysely
Hannukkala, Wahlbeck: Hyvää mieltä koulusta! Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Hannukkala, Wahlbeck: Hyvää mieltä koulusta!
Kouluterveyskysely659 views

Similar to Finitio - Data deserves a language too

RDF and other linked data standards — how to make use of big localization data by
RDF and other linked data standards — how to make use of big localization dataRDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization dataDave Lewis
365 views16 slides
PhiloWeb panel. "Philosophy" of the Web by
PhiloWeb panel. "Philosophy" of the WebPhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the WebPhiloWeb
1.3K views24 slides
Feb.2016 Demystifying Digital Humanities - Workshop 2 by
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Paige Morgan
1.9K views63 slides
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts by
Patterns and Anti-Patterns for Memorializing Data Science Project ArtifactsPatterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project ArtifactsDatabricks
411 views32 slides
Implementing Linked Data in Low-Resource Conditions by
Implementing Linked Data in Low-Resource ConditionsImplementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource ConditionsAIMS (Agricultural Information Management Standards)
705 views93 slides
Schema and Identity for Linked Data by
Schema and Identity for Linked DataSchema and Identity for Linked Data
Schema and Identity for Linked DataNational Institute of Informatics (NII)
1.2K views52 slides

Similar to Finitio - Data deserves a language too(20)

RDF and other linked data standards — how to make use of big localization data by Dave Lewis
RDF and other linked data standards — how to make use of big localization dataRDF and other linked data standards — how to make use of big localization data
RDF and other linked data standards — how to make use of big localization data
Dave Lewis365 views
PhiloWeb panel. "Philosophy" of the Web by PhiloWeb
PhiloWeb panel. "Philosophy" of the WebPhiloWeb panel. "Philosophy" of the Web
PhiloWeb panel. "Philosophy" of the Web
PhiloWeb1.3K views
Feb.2016 Demystifying Digital Humanities - Workshop 2 by Paige Morgan
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2
Paige Morgan1.9K views
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts by Databricks
Patterns and Anti-Patterns for Memorializing Data Science Project ArtifactsPatterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
Databricks411 views
Sands Fish - Knowing in the Age of Networked Knowledge by sandsfish
Sands Fish - Knowing in the Age of Networked KnowledgeSands Fish - Knowing in the Age of Networked Knowledge
Sands Fish - Knowing in the Age of Networked Knowledge
sandsfish597 views
02 c a306-phillips_langtags by suvo1111
02 c a306-phillips_langtags02 c a306-phillips_langtags
02 c a306-phillips_langtags
suvo1111397 views
DMDS Winter 2015 Workshop 1 slides by Paige Morgan
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slides
Paige Morgan835 views
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki... by David Beazley (Dabeaz LLC)
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Towards a digital library for York by Julie Allinson
Towards a digital library for YorkTowards a digital library for York
Towards a digital library for York
Julie Allinson613 views
Digital Academic Library of the North - Northern Collaboration presentation by Chris Awre
Digital Academic Library of the North - Northern Collaboration presentationDigital Academic Library of the North - Northern Collaboration presentation
Digital Academic Library of the North - Northern Collaboration presentation
Chris Awre917 views
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems by Uwe Korn
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
Uwe Korn422 views
Welcome to the Brixton Library Technology Initiative by Basil Bibi
Welcome to the Brixton Library Technology InitiativeWelcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology Initiative
Basil Bibi274 views
File Formats for Preservation by Stephen Gray
File Formats for PreservationFile Formats for Preservation
File Formats for Preservation
Stephen Gray432 views
Linked Open Data Cloud by PretaLLOD
Linked Open Data CloudLinked Open Data Cloud
Linked Open Data Cloud
PretaLLOD78 views
(Big) Data (Science) Skills by Oscar Corcho
(Big) Data (Science) Skills(Big) Data (Science) Skills
(Big) Data (Science) Skills
Oscar Corcho4K views
Polyglot Architecture: A Rational Approach to Software Design by kompalg
Polyglot Architecture: A Rational Approach to Software DesignPolyglot Architecture: A Rational Approach to Software Design
Polyglot Architecture: A Rational Approach to Software Design
kompalg440 views

Recently uploaded

Advanced_Recommendation_Systems_Presentation.pptx by
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptxneeharikasingh29
5 views9 slides
4_4_WP_4_06_ND_Model.pptx by
4_4_WP_4_06_ND_Model.pptx4_4_WP_4_06_ND_Model.pptx
4_4_WP_4_06_ND_Model.pptxd6fmc6kwd4
7 views13 slides
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx by
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptxDataScienceConferenc1
6 views12 slides
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... by
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...DataScienceConferenc1
6 views15 slides
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation by
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented GenerationDataScienceConferenc1
17 views29 slides
LIVE OAK MEMORIAL PARK.pptx by
LIVE OAK MEMORIAL PARK.pptxLIVE OAK MEMORIAL PARK.pptx
LIVE OAK MEMORIAL PARK.pptxms2332always
7 views6 slides

Recently uploaded(20)

Advanced_Recommendation_Systems_Presentation.pptx by neeharikasingh29
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptx
4_4_WP_4_06_ND_Model.pptx by d6fmc6kwd4
4_4_WP_4_06_ND_Model.pptx4_4_WP_4_06_ND_Model.pptx
4_4_WP_4_06_ND_Model.pptx
d6fmc6kwd47 views
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx by DataScienceConferenc1
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... by DataScienceConferenc1
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation by DataScienceConferenc1
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
LIVE OAK MEMORIAL PARK.pptx by ms2332always
LIVE OAK MEMORIAL PARK.pptxLIVE OAK MEMORIAL PARK.pptx
LIVE OAK MEMORIAL PARK.pptx
ms2332always7 views
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init... by DataScienceConferenc1
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...
3196 The Case of The East River by ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9017 views
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an... by StatsCommunications
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...
UNEP FI CRS Climate Risk Results.pptx by pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... by DataScienceConferenc1
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ... by DataScienceConferenc1
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo... by DataScienceConferenc1
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines by DataScienceConferenc1
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines

Finitio - Data deserves a language too

  • 1. Data Deserves a Language Too Bernard Lambeau Université catholique de Louvain (Belgium) @blambeau csv,conf – Berlin – 15 July 2014
  • 2. We’ve got a serious marriage issue between Code and Data
  • 3. You can’t disentangle them when designed conjointly e.g. try sending a Java Graph abstraction over the wire to another (non Java) software Component
  • 4. You can’t assemble them when designed separately e.g. try solving the Impedance Mismatch in a sound and elegant way
  • 5. Coupling issue known for ages • Niklaus Wirth, 1976 – The father of Pascal, Modula 2 and a lot more • Main message – Data structures and Algorithms are highly related • Yields another coupling issue – Between software components – Hurts evolution
  • 6. A solution used for ages • Information Hiding – Parnas, 1971 • Abstract Data Types – Liskov, 1974 Avoid coupling between software components • Encapsulate data • Access it only via behavioral interfaces • e.g. the Stack ADT and its axiomatic contract
  • 7. Software: a black-box cathedral ? ? ?
  • 8. A Possible Root Cause • Programming languages & practices have strong biases towards Behavior – Type systems & Type checking algorithms – APIs and documentation – Testing • They mostly ignore the Data perspective of engineering – To be is too often sacrificed over To Behave
  • 9. To Be is to be a Value that is, a member of a Type • An interesting question is – Are you, value v, a member of type T ? • Examples – Are you 13 an Integer between 0 and 45 ? – Are you {…} a Member information with a valid Password, that is, a String of min 8 characters ? • Useful only if we can capture interesting Types in the first place – Sets of values, Arbitrary Subsets, Supersets – Weak or no support in conventional prog. languages
  • 10. Data Deserves a Language Too What would a language strongly biased towards data look like? OR
  • 11. http://www.finitio.io/try • Finitio is a language for … – Enforcing – Validating – Documenting – Coercing • … Datatypes in – Files – APIs – Exchanges – Databases • + an interoperability layer: Information Contracts – A proposed dual to ADTs’ axiomatic contracts
  • 12. Meet Finitio & Contribute • http://www.finitio.io/ – The best starting point • github.com/blambeau/finitio – Language specification, e2e tests, doc source • github.com/blambeau/finitio-rb – Ruby binding • github.com/llambeau/finitio.js – Javascript binding