Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building Android and iOS Apps in F#
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Bernard Hsu
September 25, 2014
Programming
1
110
Building Android and iOS Apps in F#
F# talk given for Chicago Mobile .NET developers meetup September 25, 2014 at Microsoft Chicago
Bernard Hsu
September 25, 2014
Tweet
Share
More Decks by Bernard Hsu
See All by Bernard Hsu
New Drug Approvals 2014
bbhsu2
1
1.9k
Other Decks in Programming
See All in Programming
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AI & Enginnering
codelynx
0
120
CSC307 Lecture 02
javiergs
PRO
1
780
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
730
Raku Raku Notion 20260128
hareyakayuruyaka
0
350
Package Management Learnings from Homebrew
mikemcquaid
0
230
CSC307 Lecture 03
javiergs
PRO
1
490
Oxlint JS plugins
kazupon
1
980
Architectural Extensions
denyspoltorak
0
300
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
600
Featured
See All Featured
KATA
mclloyd
PRO
34
15k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Statistics for Hackers
jakevdp
799
230k
Designing for Timeless Needs
cassininazir
0
130
So, you think you're a good person
axbom
PRO
2
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How GitHub (no longer) Works
holman
316
140k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
Are puppies a ranking factor?
jonoalderson
1
2.7k
The SEO Collaboration Effect
kristinabergwall1
0
350
Transcript
Building Android and iOS Apps in F# Bernard Hsu @BernardShoe
Founder, All Good People LLC www.letsthinkabout.us (Android, iOS) |> F# |> Xamarin
John Backus, October 1956 Credit: http://backreaction.blogspot.com/2007/04/fortran-at-50-inventor-john-backus.html
John Backus, 1957 + = <3
None
From LSODE Pack Alan C Hindmarsh 10/23/1978
August 1978 http://bit.ly/backus_fun
http://bit.ly/backus_fun
Lisp, 1959
Functional languages attract me because of their simplicity even when
solving complex tasks…. A good functional program is like a beautiful poem: you see the pieces of a ‘solution’ come together. -Don Syme, Creator F# https://www.simple-talk.com/opinion/geek-of-the- week/don-syme-geek-of-the-week/
http://www.tiobe.com/index.php/c ontent/paperinfo/tpci/index.html
The Tao of Functional Programming 1.Immutable Data 2. Function Composition
3. Pattern Matching 4. Lazy Evaluation |> http://bit.ly/backus_fun
1. Immutable Data • No variables, only values • No
imperative constructs • For, While loops • No mutable Arrays • No mutable Objects • No mutable strings http://bit.ly/backus_fun
1. Immutable Data Imperative Functional Snippets from http://blogs.msdn.com/b/doriancorompt/archive/2012/01/08/1-recursion-where-are-my-for-while-loops.aspx
1. Immutable Data Imperative Functional
The Tao of Functional Programming 1. Immutable Data 2.Function Composition
3. Pattern Matching 4. Lazy Evaluation |>
2. Function Composition Pipe-Forward Operator |> numbers Seq. map square
Seq.sum |> |> F# |> (i <3)
2. Function Composition Function Currying
The Tao of Functional Programming 1. Immutable Data 2. Function
Composition 3.Pattern Matching 4. Lazy Evaluation |>
3. Pattern Matching Switch – Case statements on steroids
3. Pattern Matching
The Tao of Functional Programming 1. Immutable Data 2. Function
Composition 3. Pattern Matching 4.Lazy Evaluation |>
4. Lazy Evaluation let x = Lazy<int>.Create(fun () -> printfn
"Evaluating x..."; 10) let y = lazy(printfn "Evaluating y..."; x.Value + x.Value)
Demos • F# Data • http://api.worldbank.org/countries/us/indicators/SP.POP.TOTL?date=2013
Demos • Game of Life • http://www.letsthinkabout.us/post/android-game-of-life • http://www.emergentmind.com/game-of-life
F# Xamarin • Tools are ready • But not up
to C#-par • iOS and Android are OO • Cannot write “pure” functional code • Good for use in Model
Building Android and iOS Apps in F# Bernard Hsu @BernardShoe
Founder, All Good People LLC www.letsthinkabout.us (Android, iOS) |> |> F# Xamarin