f# exchange keynote 2016
TRANSCRIPT
F # 4 E Y E F O R T H E F # 1 . 1 . 1 1 G U Y
P H I L T R E L F O R D
F # E X C H A N G E 2 0 1 6
S K I L L S M A T T E R , L O N D O N
F# 1.1.11 IN 2006 TO F# 4 IN 2016
BABY SEAN (2007) FSHARPCONF – CH9 (2016)
BACK ANOTHER DECADE TO 1995
Programming Languages appearing in
1995:
• PHP
• Java
• JavaScript
• Ruby*
• OCaml**
* Also a codename for VB in 91
** Caml Special Light was released in 1995, OCaml was a year later
ASK ME ANYTHING
T E A C H Y O U R S E L F P R O G R A M M I N G I N T E N Y E A R S
Get interested in programming,
and do so because it is fun.
Talk with other programmers; read
other programs.
Work on projects with other
programmers.
Work on projects after other
programmers.
Learn at least a half
dozen programming languages.
Remember that there is a
"computer" in "computer science".
F # 1 . 1 . 1 1 R CN O W A V A I L A B L E
let ArraySample() =
let numLetters = 26 in
let results = Array.create numLetters 0 in
let data = "The quick brown fox" in
for i = 0 to data.Length - 1 do
let c = data.Chars(i) in
let c = Char.ToUpper(c) in
if c >= 'A' && c <= 'Z' then begin
let i = Char.code c - Char.code 'A' in
results.[i] <- results.[i] + 1
end
done;
printf "done!\n"
Don Syme’s WebLog – May
2016
As reported by the Hub
Father, F# 1.1.11.7 is
available. This is a “release
candidate”, which means we put
it up to see if it meets the
standards of those who
download and install it.
Source: https://blogs.msdn.microsoft.com/dsyme/2006/08/23/lightweight-syntax-option-in-f-1-1-12-3/
B LO G O S P H E R E
H U B F S :T H E P L A C E F O R F #
HubFS was run by the
mysterious optionScalper from
2005 to 2011, implemented an
ASP.Net it boasted over 100,000
members.
Now redirects to Adam
Granicz’s FPish “Online
Community of Functional
Developers” powered by
WebSharper.
R I C K M I N E R I C H ’ SD E V E L O P M E N TW O N D E R L A N D
The web site is no more and the
Wayback Machine and Google
do not have cached pages as
they were disallowed by the
robots.txt.
Baidu had no such issues…
SERGEY TIHON’S F# WEEKLY
F# ADVENT CALENDAR 2015
N U M B E R S
TARGET OVER 2.2 BILLION DEVICES NATIVELY WITH F#
NATIVELY VIA .NET & MONO
• Android
• iOS
• Linux
• Mac
• Windows
• Raspberry Pi
• etc.
AND DON’T FORGET VIA WEB
Everything else with
• Fable
• Freya
• FunScript
• Suave
• WebSharper
• etc.
F# STARTUPS: JET.COM $570M RAISED
F# ARCHITECTURE VISIBLE FROM SPACE
F# USER GROUPS IN UK & EUROPE
F#UNCTIONAL LONDONERS
• Founded Feb 2010
• 1000+ Members
• Meets every 2 weeks
• Topics include
– Machine Learning
– Finance
– Games
– Web
http://meetup.com/fsharplondon
F# MACHINE LEARNING BOOKS…ARE LIKE BUSES
L A N G U A G E
F# VERSIONSF#
2 • Active Patterns
• Units of Measure
• Async & Agents
• Computation
ExpressionsF#
3 • Type Providers
• Linq Queries
• Auto-properties
• Named Union
Fields
F# 4 • Library unification
• Performace
optimizations
• Community-driven
DISCRIMINATED UNIONS:NAMED UNION FIELDS
P L AT F O R M S
PLATFORMS: .NET CORE
RUNTIMES
.Net
Mono
JS
Web
Assembly?
OpenCL
GPU
.Net Core
.NET CORE -> LINUX!! !
PLATFORMS: FABLE
RUNTIMES
.Net
Mono
JS
Web
Assembly?
OpenCL
GPU
.Net Core
F# CODE DIRECT TO JS
T O O L I N G
VISUAL F# POWER TOOLS
Friends don’t let friends use Visual Studio without the Power Tools
IONIDE: XPLAT IN ATOM & VS CODE
TRY WEBSHARPER ONLINE
FUN 3D: FUNSCRIPT
S U M M A R Y
F# 4 FOR F# 1.1.11
• COMMUNITY HAS GROWN!
• HUGE ARRAY OF LEARNING MATERIAL NOW AVAILABLE!
• CUTTING EDGE LANGUAGE FEATURES!
• TARGET BILLIONS OF DEVICES
Q U E S T I O N S