KEMBAR78
F# Data: Making structured data first class citizens | PPTX
F# Data
Making structured data first-class citizens
Tomas Petricek, University of Cambridge
Project homepage: http://fsharp.github.io/FSharp.Data
Get in touch: @tomaspetricek | tomas@tomasp.net
F# Software Foundation
http://www.fsharp.org
software stacks
trainings teaching F# user groups snippets
mac and linux cross-platform tutorials
F# community open-source MonoDevelop
contributions research support
consultancy mailing list
F# Data type providers
First-class data
CSV, REST, WorldBank…
R Type provider
Statistics & visualization
5000 tested packages
www.fslab.org
Deedle data frame
Data exploration
Indexing and aggregation
F# Charting library
Simple & composable
Interactive style
www.fslab.org
What are type providers?
Integrating WorldBank and R
http://youtu.be/7r2-B-5H_io
The confusion of languages
What are type providers?
What are type providers?
Type provider research questions
Data vs.
Schema
Laziness
Mapping
to types
Schema
inference
Schema
inference
Schema inference
Loading Titanic data from CSV
http://youtu.be/yjBdZduc0ko
Inferring primitive types
null intbool
string
decimal
float
Structure inference
Working with XML and JSON data
http://youtu.be/_DjX0ybaXZY
http://youtu.be/SkZBzlREOMo
Inferring structured types
person { name : string } person { name : string, age : int }
person { name : string, age : int option }
[ { num : int } ] [ { str : string } ]
[ { num : int option, str : string option } ]
int { value : int }
int + { value : int }
Does it scale?
Query movies using Apiary provider
http://youtu.be/-Am2uRUv39c
Conclusions
Inference from small-scale samples works!
Schema is (very) often missing
But data is (very) often regular
Check out F# Data and contribute!
Project homepage: http://fsharp.github.io/FSharp.Data
Get in touch: @tomaspetricek | tomas@tomasp.net

F# Data: Making structured data first class citizens