how f# learned to stop worrying and love the data
DESCRIPTION
The world of data speaks a different language than the world of programming languages. It uses REST, SQL database schema, XML, JSON while programming languages only understand types and classes. This causes big confusion when we try to access data from programming languages, especially from those with (otherwise very useful) static type systems. How can a programming language learn to understand data? In this talk, I'll show how this is done using type providers in F# 3.0. You'll see how integrating data into the programming language opens the possibilities for creating exciting applications.TRANSCRIPT
How F# Learned to Stop Worrying and Love the
Data
Tomas Petricek @tomaspetricekConspirator behind http://fsharp.org
F# Software Foundation
http://www.fsharp.org
software stackstrainings teaching F# user groups snippets
mac and linux cross-platform books and tutorials
F# community open-source MonoDevelop
contributions research support consultancy mailing list
The Data
let wb = WorldBank()w b .
[DEMO]
Exploring WorldBank Data
Asynchronous programming
Asynchrony mattersNode.js and C# 5.0
F# Async workflowsWithout inversion of controlException handling and loops simpleSequential and parallel composition
F# to JavaScript
Before it was
cool.
F# to JavaScript
TypeScript type providerImport types for JS librariesSomebody else writes them!
Libraries & frameworksOpen source: FunScript and PitCommercial: IntelliFactory WebSharper
Accessing REST services
REST (Representational State Transfer) is a
style of software architecture for
distributed systems such as the World Wide Web.
REST has emerged as a predominant Web
service design model.
Accessing REST services
[DEMO]
Introducing Apiary Type Provider
Apiary.io Type Provider
Common REST conventions
GET /movie/{id} Get movie summaryGET /movie/{id}/casts Get cast details
Types from JSON samples{ "page": 1, "total_pages": 1, "total_results": 5, "results": [ { "title": "Skyfall", "id": 94221 } ] }
Type Providers in Action
WorldBank Type Provider
JSON Type Provider
Apiary Type Provider
TypeScript Type Provider
[SUMMARY]
Where to learn more?
Online resources
www.fsharp.org Information & communitywww.tryfsharp.org Interactive F# tutorials
User groups and trainings
Functional and F# trainingsIn London and New YorkGet in touch [email protected]
F#unctional Londoners meetuphttp://meetup.com/FSharpLondon/
tool support extensibility code-first
unstructured data static typinginference schema
Love the Data
F#, Data and Services
and integration
other languages web
type script REST
R language transparent java script