83
The Eyjafjallajökull 1,2 Lecture Paul Phillips Delivered @scala.world September 21 2015 1. ˈeɪjaˌfjatlaˌːkʏtl ̥ 2. Sure, that helped.

Naming Things and Finding Cothings

Embed Size (px)

Citation preview

Page 1: Naming Things and Finding Cothings

The Eyjafjallajökull1,2

Lecture

Paul Phillips

Delivered @scala.world September 21 2015

1. ˈeɪjaˌfjatlaˌjœːkʏtl ̥2. Sure, that helped.

Page 2: Naming Things and Finding Cothings

the origins of scala.world jon pretty's thirst for vengeance

Page 3: Naming Things and Finding Cothings

the origins of scala.world jon pretty's thirst for vengeance

April 2014

Page 4: Naming Things and Finding Cothings

the origins of scala.world jon pretty's thirst for vengeance

April 2014

Page 5: Naming Things and Finding Cothings

the origins of scala.world jon pretty's thirst for vengeance

April 2014 September 2015

Page 6: Naming Things and Finding Cothings

the origins of scala.world jon pretty's thirst for vengeance

April 2014 September 2015

Page 7: Naming Things and Finding Cothings

Topic?My last scala commit

Mar 12, 2014

What have I learned since?

Page 8: Naming Things and Finding Cothings
Page 9: Naming Things and Finding Cothings

That's it. Won't fill an hour.

Page 10: Naming Things and Finding Cothings

• What to call Typesafe

• What Scala could learn from Rust and Go

• Suffuse: the reactive filesystem

• Realization: inebriated audience = opportunity

Topic?

Page 11: Naming Things and Finding Cothings

- Richard Hamming You and Your Research

"If you do not work on an important problem, it is unlikely you’ll do important work."

Page 12: Naming Things and Finding Cothings
Page 13: Naming Things and Finding Cothings
Page 14: Naming Things and Finding Cothings
Page 15: Naming Things and Finding Cothings

Naming Things and Finding Cothings

The Eyjafjallajökull Lecture

Topic!

Page 16: Naming Things and Finding Cothings

Part 0: Core Search

Page 17: Naming Things and Finding Cothings

A is AAristotle's Law of Identity

Page 18: Naming Things and Finding Cothings

A is AAristotle's Law of Identity

A IS COCOAPhillips's Categorical Corollary

Page 19: Naming Things and Finding Cothings

COCOON = ON

COCONUT = NUT

COCOUNSELLED = BOUGHT

Ongoing research

Page 20: Naming Things and Finding Cothings

Part I: Naming Things

Page 21: Naming Things and Finding Cothings

arity, boxity, fixity, totality, purity... complexity, generality, modularity, portability...

productivity, security, simplicity, stability... finality, mutability, opacity, polarity... atomicity, locality, mobility, volatility...

BUT WHAT ABOUT...

OVERUSED -ITIES

Page 22: Naming Things and Finding Cothings

atrocity calamity obscenity... depravity criminality complicity...

profanity perplexity debility... inanity hilarity indignity temerity...

duplicity culpability impunity... futility hostility enmity...

UNDERUSED -ITIES

Page 23: Naming Things and Finding Cothings

liberty, equality, fraternity... intercity, intracity, supercity...

validity, probability, advisability...

FUNCTIONAL FIXEDNESS POP QUIZ

Page 24: Naming Things and Finding Cothings

CLARIFICTION It's just a monoid in the category of endofunctors, what's the problem?

CODIFICTION Follow consensus, as long as you were doing that anyway.

EDIFICTION Mansplaining

FORTIFICTION More tests

UNIFICTION M[Any]

SIMPLIFICTION go

Page 25: Naming Things and Finding Cothings

REIFICTION scala.reflect

VERIFICTION We have tests, we don't need types.

RAMIFICTION Y2K

RATIFICTION SIP-18

BEAUTIFICTION gofmt

DEMYSTIFICTIONA bialgebra is a monoid in the category of coalgebras. Equivalently, it is a comonoid in the category of algebras. Equivalently, it is a monoid in the category of comonoids in Vect Equivalently, a comonoid in the category of monoids in Vect

Page 26: Naming Things and Finding Cothings

DIVERSIFICTION We play both kinds of music, Country and Western!

GRATIFICTION That wonderful feeling you don't have after pouring your life into software

IDENTIFICTION Biometrics

INDEMNIFICTION AIG

JUSTIFICTION Unbelieber

NOTIFICTION Read receipt

Page 27: Naming Things and Finding Cothings

DIVERSIFICTION We play both kinds of music, Country and Western!

GRATIFICTION That wonderful feeling you don't have after pouring your life into software

IDENTIFICTION Biometrics

INDEMNIFICTION AIG

JUSTIFICTION Unbelieber

NOTIFICTION Read receipt

Page 28: Naming Things and Finding Cothings

Part II: Finding Cothings

"Every algebraic structure in a category has a co-version with all morphisms reversed"

Page 29: Naming Things and Finding Cothings

THE FORMAL THEORY OF TANNAKA DUALITYin 105 pages

Page 30: Naming Things and Finding Cothings

THE FORMAL THEORY OF TANNAKA DUALITYin 105 pages

coevaluation coproduct cofiltered cofibrantcodomain coalgebra cokernel coequalizer

cohomology comonoid cosplit coclosed coconecoaction corestriction comodule cocontinuouscotensor cocomplete cocompletion comonad

comultiplication cocommutative cospan coendcoassociative coalgebroid colimit

Page 31: Naming Things and Finding Cothings

In the same 105 pages

Page 32: Naming Things and Finding Cothings

In the same 105 pages

combine composite contain complicated commonconverse coherence convenience colloquiumcorrespond compose concatenation corollary

consist concrete content condition convolutionconstraint continuous component cosmoi

compatible could convention conservativecoefficient corps commutative conical

considerable compare contravariant consequencecompanion combinatorial conclusion conceptual

computation collectively coincide cosmos computeconcern counit construct context course complete

Page 33: Naming Things and Finding Cothings

Too many cothings are virtually unknown!

Page 34: Naming Things and Finding Cothings
Page 35: Naming Things and Finding Cothings

MEDIAN

COMEDIAN

Page 36: Naming Things and Finding Cothings
Page 37: Naming Things and Finding Cothings

ACHES

COACHES

Page 38: Naming Things and Finding Cothings
Page 39: Naming Things and Finding Cothings

BRA

COBRA

Page 40: Naming Things and Finding Cothings
Page 41: Naming Things and Finding Cothings

AXES

COAXES

Page 42: Naming Things and Finding Cothings
Page 43: Naming Things and Finding Cothings

DING

CODING

Page 44: Naming Things and Finding Cothings
Page 45: Naming Things and Finding Cothings

L.A.

COLA

Page 46: Naming Things and Finding Cothings
Page 47: Naming Things and Finding Cothings

LANDER

COLANDER

Page 48: Naming Things and Finding Cothings
Page 49: Naming Things and Finding Cothings

MA

COMA

Page 50: Naming Things and Finding Cothings
Page 51: Naming Things and Finding Cothings

MET

COMET

Page 52: Naming Things and Finding Cothings
Page 53: Naming Things and Finding Cothings

MIC

COMIC

Page 54: Naming Things and Finding Cothings
Page 55: Naming Things and Finding Cothings

PIER

COPIER

Page 56: Naming Things and Finding Cothings
Page 57: Naming Things and Finding Cothings

ME

COME

Page 58: Naming Things and Finding Cothings

65518

Page 59: Naming Things and Finding Cothings

FFEE

COFFEE

65518

Page 60: Naming Things and Finding Cothings
Page 61: Naming Things and Finding Cothings

PIOUS

COPIOUS

Page 62: Naming Things and Finding Cothings
Page 63: Naming Things and Finding Cothings

VET

COVET

Page 64: Naming Things and Finding Cothings
Page 65: Naming Things and Finding Cothings

STING

COSTING

Page 66: Naming Things and Finding Cothings

(Bool, T, T) => T

Page 67: Naming Things and Finding Cothings

IF

COIF

(Bool, T, T) => T

Page 68: Naming Things and Finding Cothings
Page 69: Naming Things and Finding Cothings

UNTIES

COUNTIES

Page 70: Naming Things and Finding Cothings
Page 71: Naming Things and Finding Cothings

WARD

COWARD

Page 72: Naming Things and Finding Cothings
Page 73: Naming Things and Finding Cothings

UGH

COUGH

Page 74: Naming Things and Finding Cothings
Page 75: Naming Things and Finding Cothings

UP

COUP

Page 76: Naming Things and Finding Cothings
Page 77: Naming Things and Finding Cothings

DICES

CODICES

Page 78: Naming Things and Finding Cothings
Page 79: Naming Things and Finding Cothings

JONES

COJONES

Page 80: Naming Things and Finding Cothings
Page 81: Naming Things and Finding Cothings

Q

COQ

Page 82: Naming Things and Finding Cothings
Page 83: Naming Things and Finding Cothings

ARSE

COARSE