SlideShare a Scribd company logo
2specsGo functional!
Shame
Mutability
Concurrency
Acceptance
WhyThe ideaUserProgramDesign
Go Functional!But what is it?!
Referential transparency Immutability
Processing data structuresFPOOpipelinedemergentbehaviorbehavior
WhyThe ideaUserProgramDesign
Starting point
NestingPrecedence:+!^
FormattingTextExampleTextExampleExample
Formattingpbrendt, t(i)bt, bt(i)acceptance
Context
doBeforewithDb.apply(e2)
WhyThe ideaUserProgramDesign
Runsequenceto textlevelsto htmlargumentsselectstatisticsexecute
Laziness vs evaluation
Iterating
Traversethe mappingA datastructure to traversethe accumulation
Applicative magic?simpleLots of instances: State
 List
 Monad
MonoidType inference is hard,Let’s go shopping!composable
Reduceraggregationmappingspecs2 reducers: Levels
 Statistics
 Arguments
 Text
 Html“parallel” composition
WhyThe ideaUserProgramDesign
TreesSuiteDescriptionTextTest Description 1Test Description 2Example 1Example 2SuiteDescriptionfChildren = TD1, TD2
TreeLoc
TreeLoc<body><h1>Title 1</h1><h2>part 1</h2><h2>part 2</h2><h1/></body><h2/><h2/>Anti-XMLThe non-violent solution
Concurrency=> Promise[Seq[ExecutedFragment]]a concurrent task
Exceptions

More Related Content

PPT
PPT
Ef code first
PDF
Download Python for R Users pdf for free
DOCX
Bc0053 – vb.net & xml
PPT
PPTX
3 where are my keys - sql explore
PDF
Financial Advisory in a Social World
PPT
The Brand Community Roles
Ef code first
Download Python for R Users pdf for free
Bc0053 – vb.net & xml
3 where are my keys - sql explore
Financial Advisory in a Social World
The Brand Community Roles

Similar to Specs2 (20)

PPTX
Specs2, go functional
PDF
"Introduction to F#" - South Dakota Code Camp, November 5, 2011
PDF
Functional Programming in Scala 1st Edition Paul Chiusano
PPTX
Specs2 - Scala-Syd presentation
PDF
Thinking Functionally
PPTX
Why functional programming in C# & F#
PDF
If You Think You Can Stay Away from Functional Programming, You Are Wrong
PDF
Functional Programming in Scala 1st Edition Paul Chiusano
PDF
Introduction to Functional Programming
PPTX
Functional Programming
KEY
Exciting JavaScript - Part II
PPTX
Functional programming
PDF
Buy ebook Functional Reactive Programming 1st Edition Stephen Blackheath chea...
PDF
Beyond PITS, Functional Principles for Software Architecture
PDF
Introduction to functional programming
PDF
JSDC 2014 - functional java script, why or why not
PDF
Twins: Object Oriented Programming and Functional Programming
PPTX
Introduction to F#
PDF
Testing concurrent java programs - Sameer Arora
PDF
Functional programming
Specs2, go functional
"Introduction to F#" - South Dakota Code Camp, November 5, 2011
Functional Programming in Scala 1st Edition Paul Chiusano
Specs2 - Scala-Syd presentation
Thinking Functionally
Why functional programming in C# & F#
If You Think You Can Stay Away from Functional Programming, You Are Wrong
Functional Programming in Scala 1st Edition Paul Chiusano
Introduction to Functional Programming
Functional Programming
Exciting JavaScript - Part II
Functional programming
Buy ebook Functional Reactive Programming 1st Edition Stephen Blackheath chea...
Beyond PITS, Functional Principles for Software Architecture
Introduction to functional programming
JSDC 2014 - functional java script, why or why not
Twins: Object Oriented Programming and Functional Programming
Introduction to F#
Testing concurrent java programs - Sameer Arora
Functional programming
Ad

More from Eric Torreborre (20)

PDF
Shoehorning dependency injection into a FP language
PDF
Shoehorning dependency injection into a FP language, what does it take?
PDF
Boost your command line applications with potions!
PDF
wire-all-the-things-lambda-days-2023.pdf
PDF
The many faces of modularity
PDF
What haskell taught us when we were not looking
PDF
Wire once, rewire twice! (Haskell exchange-2018)
PDF
Pratical eff-functional-conf
PDF
Specs2, from starters to dessert and... a look in the kitchen
PDF
Streaming, effects and beautiful folds: a winning trilogy
PPTX
Pratical eff-scalaitaly-2017
PDF
Pratical eff monad at Scaladays Chicago
PDF
Pratical eff
PPT
The Eff monad, one monad to rule them all
PPT
Easy di-slideshare
PPT
Data generation, the hard parts
PPT
Origami, a monadic fold library for Scala
PPT
Datatypes for the real world
PPT
Specs2 3.4
PPTX
DSLs with fold algebras
Shoehorning dependency injection into a FP language
Shoehorning dependency injection into a FP language, what does it take?
Boost your command line applications with potions!
wire-all-the-things-lambda-days-2023.pdf
The many faces of modularity
What haskell taught us when we were not looking
Wire once, rewire twice! (Haskell exchange-2018)
Pratical eff-functional-conf
Specs2, from starters to dessert and... a look in the kitchen
Streaming, effects and beautiful folds: a winning trilogy
Pratical eff-scalaitaly-2017
Pratical eff monad at Scaladays Chicago
Pratical eff
The Eff monad, one monad to rule them all
Easy di-slideshare
Data generation, the hard parts
Origami, a monadic fold library for Scala
Datatypes for the real world
Specs2 3.4
DSLs with fold algebras
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development
Network Security Unit 5.pdf for BCA BBA.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
MIND Revenue Release Quarter 2 2025 Press Release
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Programs and apps: productivity, graphics, security and other tools
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity

Specs2