Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
F# for Data* 
@sergey_tih 
on 
2014
Proposition 1 
The world is 
information-rich 
Copyright by Don Syme
Proposition 2 
Modern application are 
information-rich 
Copyright by Don Syme
Proposition 3 
Our languages are 
information-sparse 
Copyright by Don Syme
Proposition 4 
This is a problem! 
Copyright by Don Syme
How it worked before? 
Codegen, codegen, codegen! 
Source 
• WCF Services 
• Database 
• OData 
Codegen 
Tool 
• svcutil.e...
F# 3.0 fixes this using 
Type Providers
A Type Provider is 
Design-time component that provides 
a computed space of types and 
methods… 
A compiler/IDE extension...
F# 3.0 Built-in Type Provides 
• WsdlService 
• EdmxFile 
• ODataService 
• DbmlFile (DBML file based) 
• SqlDataConnectio...
FSharp.Data 
• CSV Type Provider 
• HTML Type Provider 
• JSON Type Provider 
• XML Type Provider 
• WorldBank Provider 
•...
JSON Type Provider
CSV Type Provider
HTML Type Provider
WorldBank Provider 
The World Bank is an international organization that provides 
financial and technical assistance to d...
SqlCommandProvider
Fsharp for Data Science 
Deedle Charting
R Type Provider: Linear 
Regression 
Y = 5.0 + 3.0*X1 - 2.0*X2 + noise
Deedle: Exploratory data library for 
.NET
R Type Provider: Neural Networks
Type Provides 
• DBMLFILE 
• EDMXFILE 
• ODATASERVICE 
• SQLDATACONNECTION 
• SQLENTITYCONNECTION 
• WSDLSERVICE 
• APIARY...
Type Provider 
Games! 
Ross McKinlay (@pezi_pink)
2048 – Type Provider 
http://www.pinksquirrellabs.com/post/2014/07/03/2048-%E2%80%93-Type-Provider-Edition.
MineSweeper 
http://pinksquirrellabs.com/post/2014/02/02/The-MineSweeper-Type-Provider.
Hello World Type Provider
Want to write your own type 
provide? 
F# Type Provider Starter Pack 
https://github.com/fsprojects/FSharp.TypeProviders.S...
HTTPS://EPA.MS/TYPEPROVID 
ERS
QUESTIONS? 
THANK YOU! 
Ask me @sergey_tihon 
Ask about #FSharp
Upcoming SlideShare
Loading in …5
×

F# for Data*

2,357 views

Published on

http://events.dev.by/funktsionalnye-yazyki-programmirovaniya

Published in: Software

F# for Data*

  1. 1. F# for Data* @sergey_tih on 2014
  2. 2. Proposition 1 The world is information-rich Copyright by Don Syme
  3. 3. Proposition 2 Modern application are information-rich Copyright by Don Syme
  4. 4. Proposition 3 Our languages are information-sparse Copyright by Don Syme
  5. 5. Proposition 4 This is a problem! Copyright by Don Syme
  6. 6. How it worked before? Codegen, codegen, codegen! Source • WCF Services • Database • OData Codegen Tool • svcutil.exe • edmgen.exe • datrasvcutil. exe Types +code Program
  7. 7. F# 3.0 fixes this using Type Providers
  8. 8. A Type Provider is Design-time component that provides a computed space of types and methods… A compiler/IDE extension … An adaptor between data/services and .NET languages…
  9. 9. F# 3.0 Built-in Type Provides • WsdlService • EdmxFile • ODataService • DbmlFile (DBML file based) • SqlDataConnection (LINQ to SQL) • SqlEntityConnection (LINQ to Entities)
  10. 10. FSharp.Data • CSV Type Provider • HTML Type Provider • JSON Type Provider • XML Type Provider • WorldBank Provider • Freebase Provider http://fsharp.github.io/FSharp.Data/
  11. 11. JSON Type Provider
  12. 12. CSV Type Provider
  13. 13. HTML Type Provider
  14. 14. WorldBank Provider The World Bank is an international organization that provides financial and technical assistance to developing countries around the world. As one of the activities, the World Bank also collects development indicators and other data about countries in the world. The data catalog contains over 8000 indicators that can be programmatically accessed.
  15. 15. SqlCommandProvider
  16. 16. Fsharp for Data Science Deedle Charting
  17. 17. R Type Provider: Linear Regression Y = 5.0 + 3.0*X1 - 2.0*X2 + noise
  18. 18. Deedle: Exploratory data library for .NET
  19. 19. R Type Provider: Neural Networks
  20. 20. Type Provides • DBMLFILE • EDMXFILE • ODATASERVICE • SQLDATACONNECTION • SQLENTITYCONNECTION • WSDLSERVICE • APIARY • CSV • FREEBASE • JSON • WORLDBANK • XML • HTML • APPSETTINGS • EXCEL • GRAPH • MACHINE • MANAGEMENT • MATH • REGEX • XAML • XRM • CRM • TWITTER • RSS • NUGET • DGML • WORD • DATASTORE • HADOOP/HIVE/HDFS • MINICVS • FUNSCRIPT • R • MATLAB • IKVM • PYTHON • POWERSHELL • AZURE • S3
  21. 21. Type Provider Games! Ross McKinlay (@pezi_pink)
  22. 22. 2048 – Type Provider http://www.pinksquirrellabs.com/post/2014/07/03/2048-%E2%80%93-Type-Provider-Edition.
  23. 23. MineSweeper http://pinksquirrellabs.com/post/2014/02/02/The-MineSweeper-Type-Provider.
  24. 24. Hello World Type Provider
  25. 25. Want to write your own type provide? F# Type Provider Starter Pack https://github.com/fsprojects/FSharp.TypeProviders.StarterP ack @mavnn
  26. 26. HTTPS://EPA.MS/TYPEPROVID ERS
  27. 27. QUESTIONS? THANK YOU! Ask me @sergey_tihon Ask about #FSharp

×