why hymans use f#

26
Keith Harrison Why Hymans Use F#

Upload: keith-harrison

Post on 10-May-2015

917 views

Category:

Technology


0 download

DESCRIPTION

Talk given at http://techmeetup.co.uk/ on 25th of September 2013. Contact me at: @KeithDHar [email protected] http://www.linkedin.com/in/keithdharrison We're hiring F# developers: http://careers.stackoverflow.com/uk/company/hymans-robertson

TRANSCRIPT

Page 1: Why Hymans Use F#

Keith Harrison

Why Hymans Use F#

Page 2: Why Hymans Use F#

Risk ModellingActuarial Consultancy

Page 3: Why Hymans Use F#

Port Legacy System

Page 4: Why Hymans Use F#

Familiar

Page 5: Why Hymans Use F#

Composable

Page 6: Why Hymans Use F#

Pragmatic

Page 7: Why Hymans Use F#

Familiar

Page 8: Why Hymans Use F#

public class Multiplier { public int Factor;

public int Calculate(int value) { return value * Factor; }}

var tenMultiplier = new Multiplier { Factor = 10 };var result = tenMultiplier.Calculate(2);

Page 9: Why Hymans Use F#

let createMultiplier (factor) = fun x -> x * factor let multiplyByTen = createMultiplier(10)

let result = multiplyByTen(2)

Page 10: Why Hymans Use F#

Composable

Page 11: Why Hymans Use F#

let filter people = let results = new List<Person>() for person in people do if person.Age > 30 then results.Add(person) results

Page 12: Why Hymans Use F#

let filter people age = let results = new List<Person>() for person in people do if person.Age > age then results.Add(person) results

Page 13: Why Hymans Use F#

let filter people = let results = new List<Person>() for person in people do if person.Sex = Sex.Male then results.Add(person) results

Page 14: Why Hymans Use F#

let filter filterFunction people = let results = new List<Person>() for person in people do if filterFunction() then results.Add(person) results

Page 15: Why Hymans Use F#

let filter filterFunction people = let results = new List<Person>() for person in people do if filterFunction() then results.Add(person) results

filter (fun p -> p.Age > 30) personListfilter (fun p -> p.Age > 40) personListfilter (fun p -> p.Sex = Sex.Male) personList

Page 16: Why Hymans Use F#

let isOver30 p = p.Age > 30let isOver40 p = p.Age > 40let isMale p = p.Sex = Sex.Male

filter isOver30 personListfilter isOver40 personListfilter isMale personList

Page 17: Why Hymans Use F#

filter isOver30 personList

personList |> filter isOver30

Page 18: Why Hymans Use F#

personList |> filter isOver30 |> filter isMale

Page 19: Why Hymans Use F#

Pragmatic

Page 20: Why Hymans Use F#

F#

Functional Imperative Object Oriented

Page 21: Why Hymans Use F#
Page 22: Why Hymans Use F#

Familiar

Composable

Pragmatic

Page 23: Why Hymans Use F#
Page 24: Why Hymans Use F#

Books

Page 25: Why Hymans Use F#

We’re Hiring

• www.hymans.co.uk/contact-us.aspx• http://careers.stackoverflow.com/uk/company/hymans-robertson

[email protected]• @KeithDHar• http://www.linkedin.com/in/keithdharrison

Page 26: Why Hymans Use F#

Questions?