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
Bernard Hsu
September 25, 2014
Programming
1
100
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
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
130
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
160
複数アプリケーションを育てていくための共通化戦略
irof
10
3.8k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
300
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
280
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.3k
イベントストーミングから始めるドメイン駆動設計
jgeem
4
810
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
1.9k
FormFlow - Build Stunning Multistep Forms
yceruto
1
150
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
750
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
160
PT AI без купюр
v0lka
0
230
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Faster Mobile Websites
deanohume
307
31k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Designing for humans not robots
tammielis
253
25k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
BBQ
matthewcrist
89
9.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
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