Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Road to LISP heaven

Road to LISP heaven

Presented: Pataconf 2018

Giovanny Gongora

November 15, 2018
Tweet

More Decks by Giovanny Gongora

Other Decks in Technology

Transcript

  1. Why talk about LISP? • Want to learn more about

    programming languages • Understand why we do something today • What is the purpose and behavior with something • It’s fun, why no? :)
  2. What is this talk about? • Language history • Context

    about design decisions • Understand which LISP concepts are good for • Think about new data reference patterns ready • No rants plz
  3. • Let’s travel to 1930s • New Princeton offices •

    Alonzo Church • Lambda Calculus • World War II
  4. • Let’s travel to 1930s • New Princeton offices •

    Alonzo Church • Lambda Calculus • World War II • Electronic Discrete Variable Automatic Computer (EDVAC)
  5. • Let’s travel to 1930s • New Princeton offices •

    Alonzo Church • Lambda Calculus • World War II • Electronic Discrete Variable Automatic Computer (EDVAC) • 1958 unveiled List Processing language (Lisp)
  6. 4

  7. a

  8. (define patacones 6) (define chorizos 5) (if (> patacones chorizos)

    (printf "Patacones!") (printf “Chorizos!”))
  9. 40

  10. Interesting facts about LISP • Comments are made using ;

    • Defined only atom, eq, cons, car, and cdr • Functions were intended to create the whole language
  11. • Conditionals • A function type • Recursion • New

    concept of variables • Garbage Collection
  12. • Conditionals • A function type • Recursion • New

    concept of variables • Garbage Collection • Composed expressions
  13. • Conditionals • A function type • Recursion • New

    concept of variables • Garbage Collection • Composed expressions • Literal data structures
  14. • Not all lambda calculus ideas transform to practice •

    Functional programming is a set of ideas, not a set of strict guidelines • Concurrency is a win