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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
dchart: charts from deck markup
ajstarks
3
1k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
770
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
410
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
MUSUBIXとは
nahisaho
0
140
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
今から始めるClaude Code超入門
448jp
8
9k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.6k
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Designing Experiences People Love
moore
144
24k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
94
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
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