4. Structure
allows
freedom
Monday, August 15, 2011
5. Or as Björk would
have put it:
“I tried organizing freedom,
how scandinavian of me”
Monday, August 15, 2011
6. SkrivaPå aka Scrive
Digital signatures for
contracts etc
Monday, August 15, 2011
7. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Why SkrivaPå?
> Proven business model and product
> A fantastic Team
Monday, August 15, 2011
8. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Why SkrivaPå? Yes, it’s as
simple as that!
> Proven business model and product
> A fantastic Team
Monday, August 15, 2011
10. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
We Use Haskell
Because the CTO, Gracjan, wanted to.
“Haskell, whatʼs that?”
> Itʼs a strongly typed, lazily evaluated, functional language.
“Haskell, thatʼs a brave choice.”
> Itʼs well-known and loved in academic circles, but a bit unusual of
an unusual choice for building “real stuff”.
Monday, August 15, 2011
11. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Can I Describe What itʼs
Like? Imagine: Variables
canʼt change value.
Once you set the value of a variable you canʼt change it. Ever.
(If you ask me how to keep an incrementing count of user logins, I
shall say “monads”.)
Monday, August 15, 2011
12. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Functions Only
:: Input -> AnotherInput -> Output
Want to go mess around with something that isnʼt stated in the type signature. Hard
cheese. You canʼt.
Monday, August 15, 2011
13. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
My, this sounds insane,
why?!
Answer: some things are easier
The thing thatʼs making functional languages like Haskell popular at
the moment is ........
Programming for Multiple
Cores
Monday, August 15, 2011
14. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
How many cores does your computer
have?
How many will it have in 3 years time?
Monday, August 15, 2011
15. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Immutability Makes Multi-
Threaded Code Easier
Did you know Twitter uses a functional
language for itʼs highly threaded server
code?
Monday, August 15, 2011
16. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
TypeSafe
saveAddress :: String -> Maybe Error User
newtype Email = String
saveAddress :: Email -> Maybe Error User
Monday, August 15, 2011
17. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Structure Gives Freedom
But it makes compilation
longer
> “Like a logician on your shoulder” - eric
> GHC magic
Monday, August 15, 2011
18. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Itʼs Different
> Do you miss that excited
feeling you got when you
coded as a kid. Become a
happy idiot again, learn
Haskell.
Monday, August 15, 2011
19. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
Quest to Grok the Monad
> If you learn Haskell you will
quickly hear the word
“monad”. Keep calm.
Monday, August 15, 2011
20. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK
I love one thing more than
Haskell, Haskell coders.
Tip: if someone learns Haskell just to
work on your project, theyʼll probably
do a good job.
Monday, August 15, 2011
22. More links about us
Lukas Duczko on distributed teams at SSES
http://www.vimeo.com/22653093
IDG
idg.se/2.1006/1.387765/arets-webbentreprenorer-lukas-duczko-och-gracjan-polak
Monday, August 15, 2011