Post Functional - secure.trifork.com · Post Functional Thursday, January 10, 13. Extracting energy from the Turing Tarpet Alan Kay (Turing Centenary) Thursday, January 10, 13. WHATs

Post on 20-May-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Post Functional

Thursday, January 10, 13

Extracting energy from the Turing TarpetAlan Kay (Turing Centenary)

Thursday, January 10, 13

WHATs not HOWs

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

miniKanren

Thursday, January 10, 13

miniKanren๏ 200 lines of Scheme

Thursday, January 10, 13

miniKanren๏ 200 lines of Scheme๏ Purely functional monadic design

Thursday, January 10, 13

miniKanren๏ 200 lines of Scheme๏ Purely functional monadic design

๏ Backtracking for “free”

Thursday, January 10, 13

miniKanren๏ 200 lines of Scheme๏ Purely functional monadic design

๏ Backtracking for “free”๏ Relatively efficient implementation

Thursday, January 10, 13

miniKanren๏ 200 lines of Scheme๏ Purely functional monadic design

๏ Backtracking for “free”๏ Relatively efficient implementation๏ Lightweight embedding of relational

programming

Thursday, January 10, 13

core.logic

Thursday, January 10, 13

core.logic๏ emphasize efficiency

Thursday, January 10, 13

core.logic๏ emphasize efficiency๏ emphasize polymorphism

Thursday, January 10, 13

core.logic๏ emphasize efficiency๏ emphasize polymorphism

๏ all critical parts of the system should allow open extension: unification, constraints, solvers, search strategies, etc.

Thursday, January 10, 13

Core Language

Thursday, January 10, 13

demo

Thursday, January 10, 13

Thursday, January 10, 13

December 17, 1962

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

Peter Norvig points out,24 billion candidate solutions

Thursday, January 10, 13

demo

Thursday, January 10, 13

Constraints!

Thursday, January 10, 13

Thursday, January 10, 13

Thursday, January 10, 13

demo

Thursday, January 10, 13

What’s this good for?

Thursday, January 10, 13

Thursday, January 10, 13

๏ Complex configuration / validation (LonoCloud, Pallet, C2 Grammar of Graphics)

Thursday, January 10, 13

๏ Complex configuration / validation (LonoCloud, Pallet, C2 Grammar of Graphics)

๏ Static Analysis (Ekeko - Java Eclipse, Kibit - Clojure source linter)

Thursday, January 10, 13

๏ Complex configuration / validation (LonoCloud, Pallet, C2 Grammar of Graphics)

๏ Static Analysis (Ekeko - Java Eclipse, Kibit - Clojure source linter)

๏ Declarative GPU Programming (Indiana University)

Thursday, January 10, 13

๏ Complex configuration / validation (LonoCloud, Pallet, C2 Grammar of Graphics)

๏ Static Analysis (Ekeko - Java Eclipse, Kibit - Clojure source linter)

๏ Declarative GPU Programming (Indiana University)

๏ Supporting type inference? (Typed Clojure)

Thursday, January 10, 13

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

๏ Mainstream culture around OOP

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

๏ Mainstream culture around OOP

๏ FP gaining more and more traction

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

๏ Mainstream culture around OOP

๏ FP gaining more and more traction

๏ We’re writing different (hopefully simpler) kinds of programs

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

๏ Mainstream culture around OOP

๏ FP gaining more and more traction

๏ We’re writing different (hopefully simpler) kinds of programs

๏ LP still at the fringes

Culture

Thursday, January 10, 13

๏ OOP, FP, LP - all old stuff

๏ Mainstream culture around OOP

๏ FP gaining more and more traction

๏ We’re writing different (hopefully simpler) kinds of programs

๏ LP still at the fringes

๏ What kind of programs will we write?

Culture

Thursday, January 10, 13

Questions?

Thursday, January 10, 13

top related