Transcript
Page 1: How F# Learned to Stop Worrying and Love the Data

How F# Learned to Stop Worrying and Love the

Data

Tomas Petricek @tomaspetricekConspirator behind http://fsharp.org

Page 2: How F# Learned to Stop Worrying and Love the Data

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

Page 3: How F# Learned to Stop Worrying and Love the Data

The Data

Page 4: How F# Learned to Stop Worrying and Love the Data
Page 5: How F# Learned to Stop Worrying and Love the Data
Page 6: How F# Learned to Stop Worrying and Love the Data

let wb = WorldBank()w b .

Page 7: How F# Learned to Stop Worrying and Love the Data

[DEMO]

Exploring WorldBank Data

Page 8: How F# Learned to Stop Worrying and Love the Data

Asynchronous programming

Asynchrony mattersNode.js and C# 5.0

F# Async workflowsWithout inversion of controlException handling and loops simpleSequential and parallel composition

Page 9: How F# Learned to Stop Worrying and Love the Data

F# to JavaScript

Before it was

cool.

Page 10: How F# Learned to Stop Worrying and Love the Data

[DEMO]

WorldBank App for the Webhttp://tomasp.net/techmesh

Page 11: How F# Learned to Stop Worrying and Love the Data

F# to JavaScript

TypeScript type providerImport types for JS librariesSomebody else writes them!

Libraries & frameworksOpen source: FunScript and PitCommercial: IntelliFactory WebSharper

Page 12: How F# Learned to Stop Worrying and Love the Data

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.

Page 13: How F# Learned to Stop Worrying and Love the Data

Accessing REST services

Page 14: How F# Learned to Stop Worrying and Love the Data

[DEMO]

Introducing Apiary Type Provider

Page 15: How F# Learned to Stop Worrying and Love the Data

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 } ] }

Page 16: How F# Learned to Stop Worrying and Love the Data

[DEMO]

The Movie Database Web Apphttp://tomasp.net/techmesh

Page 17: How F# Learned to Stop Worrying and Love the Data

Type Providers in Action

WorldBank Type Provider

JSON Type Provider

Apiary Type Provider

TypeScript Type Provider

Page 18: How F# Learned to Stop Worrying and Love the Data

[SUMMARY]

Where to learn more?

Page 19: How F# Learned to Stop Worrying and Love the Data

Online resources

www.fsharp.org Information & communitywww.tryfsharp.org Interactive F# tutorials

Page 20: How F# Learned to Stop Worrying and Love the Data

User groups and trainings

Functional and F# trainingsIn London and New YorkGet in touch [email protected]

F#unctional Londoners meetuphttp://meetup.com/FSharpLondon/

Page 21: How F# Learned to Stop Worrying and Love the Data

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


Top Related