Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lisp(Lots of Irritating Superfluous Parentheses)

My presentation is about Lisp, and its influences on ruby language.

Also speak about Lambda calculus and Turing machine. This is crucial for Lisp origins understanding.

Show major Lisp dialects. And speak a little about Emacs and Emacs Lisp.

Also I going to show project management in Common Lisp and describe CLOS (Common Lisp Object System).

  • Be the first to comment

  • Be the first to like this

Lisp(Lots of Irritating Superfluous Parentheses)

  1. 1. (L (I (S (P ots of rritating uperfluous arentheses))))
  2. 2. About me Volodymyr Yevtushenko Software Engineer at EPAM github: voloyev email:
  3. 3. (L (I (S (P ost n tupid arentheses))))
  4. 4. (LISt (Processing))))
  5. 5. History John McCarthy specified lisp in 1958: Structure of program code is represented directly in a standard data structure. E.g. homoiconicity First programming language with Garbage Collector. Macros: ability to modify the program at runtime and extend the language.
  6. 6. Lisp is not a language It is a family of programming languages
  7. 7. Let's rewrite this Ruby program in Common Lisp
  8. 8. Ruby Common Lisp
  9. 9. Cons cells: constructs memory objects.
  10. 10. Only nil and empty list are falsy
  11. 11. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. Alan Perlis
  12. 12. Lists manipulation functions
  13. 13. Contents of the Address Register Contents of the Decrement Register Steve Russell: The first implementations of Lisp were on the IBM 704, the vacuum-tube ancestor of the vacuum-tube 709, the ancestor of the transistorized 7090, later upgraded to the 7094. The time was early in 1959.
  14. 14. Iteration
  15. 15. Defvar and let Global Local
  16. 16. Let’s rewrite our Ruby program!
  17. 17. Attribute name Getter and setter Default value Getter usage Person instance Getter
  18. 18. Result Create instance Execute method
  19. 19. Why?
  20. 20. Common Lisp using LLVM and C++ for Molecular Metaprogramming
  21. 21. (format t “Thanks!”)
  22. 22. (defun questions-p (questions-list) (some #’true-p questions-list))