Enviar pesquisa
Carregar
Naïveté vs Experience How We Thought Scala Clojure Actually Did
•
Transferir como ODP, PDF
•
1 gostou
•
7,051 visualizações
Título melhorado com IA
Mike Fogus
Seguir
Presentation given at the 2010 Commercial Users of Functional Programming conference.
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 87
Baixar agora
Recomendados
Code as data as code.
Code as data as code.
Mike Fogus
The Macronomicon
The Macronomicon
Mike Fogus
Fertile Ground: The Roots of Clojure
Fertile Ground: The Roots of Clojure
Mike Fogus
How to Clone Flappy Bird in Swift
How to Clone Flappy Bird in Swift
Giordano Scalzo
Better Software: introduction to good code
Better Software: introduction to good code
Giordano Scalzo
ES6 in Real Life
ES6 in Real Life
Domenic Denicola
Groovy ネタ NGK 忘年会2009 ライトニングトーク
Groovy ネタ NGK 忘年会2009 ライトニングトーク
Tsuyoshi Yamamoto
はじめてのGroovy
はじめてのGroovy
Tsuyoshi Yamamoto
Recomendados
Code as data as code.
Code as data as code.
Mike Fogus
The Macronomicon
The Macronomicon
Mike Fogus
Fertile Ground: The Roots of Clojure
Fertile Ground: The Roots of Clojure
Mike Fogus
How to Clone Flappy Bird in Swift
How to Clone Flappy Bird in Swift
Giordano Scalzo
Better Software: introduction to good code
Better Software: introduction to good code
Giordano Scalzo
ES6 in Real Life
ES6 in Real Life
Domenic Denicola
Groovy ネタ NGK 忘年会2009 ライトニングトーク
Groovy ネタ NGK 忘年会2009 ライトニングトーク
Tsuyoshi Yamamoto
はじめてのGroovy
はじめてのGroovy
Tsuyoshi Yamamoto
Scala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 World
BTI360
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
Fabio Collini
EcmaScript 6
EcmaScript 6
Manoj Kumar
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
Haskell in the Real World
Haskell in the Real World
osfameron
Fun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming language
Pawel Szulc
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
Fabio Collini
Groovy
Groovy
Zen Urban
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Fabio Collini
Hammurabi
Hammurabi
Mario Fusco
ECMAScript 6
ECMAScript 6
Piotr Lewandowski
SDC - Einführung in Scala
SDC - Einführung in Scala
Christian Baranowski
Building fast interpreters in Rust
Building fast interpreters in Rust
Ingvar Stepanyan
About java
About java
Jay Xu
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
Ruslan Shevchenko
Groovy puzzlers по русски с Joker 2014
Groovy puzzlers по русски с Joker 2014
Baruch Sadogursky
Is Haskell an acceptable Perl?
Is Haskell an acceptable Perl?
osfameron
Go ahead, make my day
Go ahead, make my day
Tor Ivry
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Mahmoud Samir Fayed
Why Learn Python?
Why Learn Python?
Christine Cheung
The Shape of Functional Programming
The Shape of Functional Programming
Mike Fogus
Introduction to Zeder - a production rules toolkit for Clojure
Introduction to Zeder - a production rules toolkit for Clojure
Mike Fogus
Mais conteúdo relacionado
Mais procurados
Scala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 World
BTI360
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
Fabio Collini
EcmaScript 6
EcmaScript 6
Manoj Kumar
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
Haskell in the Real World
Haskell in the Real World
osfameron
Fun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming language
Pawel Szulc
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
Fabio Collini
Groovy
Groovy
Zen Urban
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Fabio Collini
Hammurabi
Hammurabi
Mario Fusco
ECMAScript 6
ECMAScript 6
Piotr Lewandowski
SDC - Einführung in Scala
SDC - Einführung in Scala
Christian Baranowski
Building fast interpreters in Rust
Building fast interpreters in Rust
Ingvar Stepanyan
About java
About java
Jay Xu
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
Ruslan Shevchenko
Groovy puzzlers по русски с Joker 2014
Groovy puzzlers по русски с Joker 2014
Baruch Sadogursky
Is Haskell an acceptable Perl?
Is Haskell an acceptable Perl?
osfameron
Go ahead, make my day
Go ahead, make my day
Tor Ivry
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Mahmoud Samir Fayed
Why Learn Python?
Why Learn Python?
Christine Cheung
Mais procurados
(20)
Scala vs Java 8 in a Java 8 World
Scala vs Java 8 in a Java 8 World
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
EcmaScript 6
EcmaScript 6
Realm to Json & Royal
Realm to Json & Royal
Haskell in the Real World
Haskell in the Real World
Fun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming language
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
Groovy
Groovy
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Hammurabi
Hammurabi
ECMAScript 6
ECMAScript 6
SDC - Einführung in Scala
SDC - Einführung in Scala
Building fast interpreters in Rust
Building fast interpreters in Rust
About java
About java
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
JDays Lviv 2014: Java8 vs Scala: Difference points & innovation stream
Groovy puzzlers по русски с Joker 2014
Groovy puzzlers по русски с Joker 2014
Is Haskell an acceptable Perl?
Is Haskell an acceptable Perl?
Go ahead, make my day
Go ahead, make my day
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Why Learn Python?
Why Learn Python?
Destaque
The Shape of Functional Programming
The Shape of Functional Programming
Mike Fogus
Introduction to Zeder - a production rules toolkit for Clojure
Introduction to Zeder - a production rules toolkit for Clojure
Mike Fogus
ClojureScript Anatomy
ClojureScript Anatomy
Mike Fogus
The Return of the Living Datalog
The Return of the Living Datalog
Mike Fogus
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
fnothaft
Confo
Confo
Mike Fogus
Good Parts of JavaScript Douglas Crockford
Good Parts of JavaScript Douglas Crockford
rajivmordani
Kotlin in action
Kotlin in action
Ciro Rizzo
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
Spark Summit
Open Stack Cheat Sheet V1
Open Stack Cheat Sheet V1
Anuchit Chalothorn
Tachyon-2014-11-21-amp-camp5
Tachyon-2014-11-21-amp-camp5
Haoyuan Li
Linux Filesystems, RAID, and more
Linux Filesystems, RAID, and more
Mark Wong
Distributed machine learning 101 using apache spark from the browser
Distributed machine learning 101 using apache spark from the browser
Andy Petrella
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
Spark Summit
The Hot Rod Protocol in Infinispan
The Hot Rod Protocol in Infinispan
Galder Zamarreño
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Daniel Krook
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Ceph Community
ELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot Times
andrewmurraympc
Why is Bioinformatics a Good Fit for Spark?
Why is Bioinformatics a Good Fit for Spark?
Timothy Danford
Velox: Models in Action
Velox: Models in Action
Dan Crankshaw
Destaque
(20)
The Shape of Functional Programming
The Shape of Functional Programming
Introduction to Zeder - a production rules toolkit for Clojure
Introduction to Zeder - a production rules toolkit for Clojure
ClojureScript Anatomy
ClojureScript Anatomy
The Return of the Living Datalog
The Return of the Living Datalog
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
Confo
Confo
Good Parts of JavaScript Douglas Crockford
Good Parts of JavaScript Douglas Crockford
Kotlin in action
Kotlin in action
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
Open Stack Cheat Sheet V1
Open Stack Cheat Sheet V1
Tachyon-2014-11-21-amp-camp5
Tachyon-2014-11-21-amp-camp5
Linux Filesystems, RAID, and more
Linux Filesystems, RAID, and more
Distributed machine learning 101 using apache spark from the browser
Distributed machine learning 101 using apache spark from the browser
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
The Hot Rod Protocol in Infinispan
The Hot Rod Protocol in Infinispan
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
ELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot Times
Why is Bioinformatics a Good Fit for Spark?
Why is Bioinformatics a Good Fit for Spark?
Velox: Models in Action
Velox: Models in Action
Semelhante a Naïveté vs Experience How We Thought Scala Clojure Actually Did
Scala introduction
Scala introduction
Alf Kristian Støyle
AST Transformations
AST Transformations
HamletDRC
Why Scala?
Why Scala?
Mike Fogus
AST Transformations at JFokus
AST Transformations at JFokus
HamletDRC
Scala presentation by Aleksandar Prokopec
Scala presentation by Aleksandar Prokopec
Loïc Descotte
Scala introduction
Scala introduction
Yardena Meymann
The Kotlin Programming Language
The Kotlin Programming Language
intelliyole
Beginning Scala Svcc 2009
Beginning Scala Svcc 2009
David Pollak
Ruby For Java Programmers
Ruby For Java Programmers
Mike Bowler
Groovy Ast Transformations (greach)
Groovy Ast Transformations (greach)
HamletDRC
Scala in Places API
Scala in Places API
Łukasz Bałamut
Scala 2 + 2 > 4
Scala 2 + 2 > 4
Emil Vladev
Ast transformations
Ast transformations
HamletDRC
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Jonas Bonér
Pragmatic Real-World Scala
Pragmatic Real-World Scala
parag978978
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
Scala - en bedre Java?
Scala - en bedre Java?
Jesper Kamstrup Linnet
Semelhante a Naïveté vs Experience How We Thought Scala Clojure Actually Did
(20)
Scala introduction
Scala introduction
AST Transformations
AST Transformations
Why Scala?
Why Scala?
AST Transformations at JFokus
AST Transformations at JFokus
Scala presentation by Aleksandar Prokopec
Scala presentation by Aleksandar Prokopec
Scala introduction
Scala introduction
The Kotlin Programming Language
The Kotlin Programming Language
Beginning Scala Svcc 2009
Beginning Scala Svcc 2009
Ruby For Java Programmers
Ruby For Java Programmers
Groovy Ast Transformations (greach)
Groovy Ast Transformations (greach)
Scala in Places API
Scala in Places API
Scala 2 + 2 > 4
Scala 2 + 2 > 4
Ast transformations
Ast transformations
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala
Pragmatic Real-World Scala
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Scala - en bedre Java?
Scala - en bedre Java?
Último
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Kaya Weers
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
itnewsafrica
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
itnewsafrica
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
itnewsafrica
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
Pixlogix Infotech
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Farhan Tariq
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
TopCSSGallery
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Cprime
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
Manik S Magar
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
marketing932765
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Knoldus Inc.
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
panagenda
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Mark Goldstein
Último
(20)
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
A Framework for Development in the AI Age
A Framework for Development in the AI Age
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Naïveté vs Experience How We Thought Scala Clojure Actually Did
1.
Naïveté vs. Experience
How We Thought We Could Use Scala and Clojure, and How We Actually Did
2.
Who
3.
4.
5.
C, C++, Java,
CLIPS, Clojure, Scala
6.
7.
Why
8.
Java
9.
Compression Potential
10.
Compression Potential
11.
Essential Boilerplate
12.
Essential Boilerplate equals
hashCode get set public Foo toString
13.
Essential Boilerplate equals
hashCode get set public Foo toString try catch finally ; { } @override static int System.out boolean . void import String Exception throws toString toString throws throws finally finally finally get get equals hashCode try } System.out boolean toString throws throws finally get public Foo catch finally ; int import String Exception throws toString get equals get toString try finally static import String toString throws finally equals try toString throws get finally String Exception hashCode finally { @override int void Exception toString throws finally hashCode toString throws finally public Foo finally int Exception @override static finally hashCode try throws throws static @override hashCode throws hashCode @override void toString toString int hashCode void finally finally public Foo int hashCode @override void toString toString int hashCode void finally finally public Foo int hashCode @override void toString toString int hashCode void finally finally public Foo int toString static finally equals try finally String toString throws finally toString finally
14.
What
15.
16.
17.
18.
19.
Java != JVM
20.
Reprieve
21.
22.
Jython
23.
Jess
24.
Scala
25.
Clojure
26.
Groovy
27.
Rhino
28.
29.
Jython
30.
Jess
31.
Scala
32.
Clojure
33.
Groovy
34.
35.
Clojure
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
(spouse !=
null ? " married to " + spouse.getFirstName() + "." : "." ); } }
47.
48.
(spouse !=
null ? " married to " + spouse.getFirstName() + "." : "." ); } }
49.
50.
(spouse !=
null ? " married to " + spouse.getFirstName() + "." : "." ); } }
51.
52.
(spouse !=
null ? " married to " + spouse.getFirstName() + "." : "." ); } }
53.
54.
override def
toString(): String = firstName + " " + lastName +
55.
(spouse match
{
56.
case None
=> "."
57.
case Some(s)
=> " married to " + s.firstName + "."
58.
});
59.
} By
default , Scala classes are immutable.
60.
61.
Disingenuous
62.
63.
( toString
[_]
64.
( str
fname " " lname
65.
( when-let
[n ( :fname spouse)]
66.
( str
" married to " n))
67.
))) By
default , Scala classes are immutable.
68.
69.
70.
71.
72.
Everything is an
Object
73.
Functional Programming
74.
List Comprehensions
75.
Case Classes
76.
Pattern Matching
77.
Interoperability
78.
Currying
79.
Implicits
80.
Architecture
81.
services The Internet
82.
services The Internet
83.
services The Internet
84.
services The Internet
85.
services The Internet
86.
services The Internet
87.
services The Internet
88.
services The Internet
89.
The Internet
90.
The Internet
91.
The Internet
92.
The Internet
93.
Naïveté
94.
95.
Everything is an
Object
96.
Functional Programming
97.
List Comprehensions
98.
Case Classes
99.
Pattern Matching
100.
Interoperability
101.
Currying
102.
Implicits
103.
104.
105.
List Comprehensions
106.
Case Classes
107.
Pattern Matching
108.
Currying
109.
Implicits
110.
111.
List Comprehensions
112.
Pattern Matching
113.
Currying
114.
Experience
115.
116.
117.
118.
119.
Disingenuous
120.
Dis ingenuous
121.
122.
123.
124.
125.
def get(ref:ReferenceParam):ComponentReturn =
{ ... }
126.
...
127.
} By
default , Scala classes are immutable.
128.
129.
def get(ref: ReferenceParam
): ComponentReturn = { ... }
130.
...
131.
}
132.
133.
def get(ref: ReferenceParam
): ComponentReturn = { ... }
134.
...
135.
136.
137.
138.
139.
140.
def get(ref: ReferenceParam
): ComponentReturn = { ... }
141.
...
142.
143.
}
144.
145.
def get(ref: ReferenceParam
): ComponentReturn = { ... }
146.
...
147.
148.
}
149.
RPCTypes LocalTypes CachedTypes
DelayedTypes ... RPCTypes LocalTypes ... The Internet
150.
151.
152.
153.
When a tree
falls in a lonely forest ... does it make a sound? – Charles Riborg Mann and George Ransom Twiss
154.
If a pure
function mutates some local data in order to produce an immutable return value, is that ok? – Rich Hickey
155.
156.
157.
158.
159.
160.
Optional Immutability
161.
Weak Laziness
162.
Less Functional
163.
Grand Hierarchies
164.
Literals-lite
165.
166.
Optional Immutability
167.
Weak Laziness
168.
Less Functional
169.
170.
171.
My employer
172.
Dean Wampler for
feedback
173.
Rich Hickey and
Martin Odersky for Clojure and Scala
174.
Chris Houser my
co-author
175.
Ryan Tomayko for
the screaming face
176.
The fam
177.
178.
Is Scala too
complicated?
179.
Best zombie movies?
180.
Kobaia is de
hundin?
181.
Favorite hangout in
Baltimore?
182.
What's with the
tie?
Baixar agora