• Examples of LISP in society

  • Roots in IPL

  • Pioneering Concepts

  • Why did it become popular

  • Why did it become unpopular

  • Advantages of LISP in modern society

  • Conclusion

  • Viaweb

  • Emacs

  • MIT 6.001 Intro to CS (24 years of Scheme)

  • LISP was developed for AI research, IPL was also developed for AI research

  • IPL had:

    • Recursion
    • Generators
    • Higher order functions
    • Symbolic computation
    • Recursion
    • Associative arrays
    • First order functions
    • Generators
  • Lisp formalized these ideas into an algebraic language

  • Assembly style language

    • Code represented in the same way as data
    • Automatic garbage collection
    • If-Then-Else construct
    • First symbolic language that is written in an algebraic style as opposed to asm style
    • Automatic garbage collection
  • Went down a very different route to Algol, FORTRAN derivaties

  • Used in AI research, where the symbolic nature of the program lent itself to AI problems

  • John McCarthy did a lot of work in AI, so Lisp was biased to AI work. It’s symbolic computation features made writing code much easier than in FORTRAN or similar

  • Automated theorem provers

    • A lot of funding from DARPA was cut due to insufficient progress
    • Lisp was used as a dominant language in AI, and so when the claims of AI fell short, Lisp’s reputation got damaged as well
  • Slow compared to C, garbage collection is more wasteful than manually managing resources well

  • Clojure is being used in industry at several high profile companies including Citigroup

  • Functional leads to easier concurrency when you haven’t got variables.

  • Relevant in the way that it influenced a lot of functional languages today

  • Although Viaweb was rewritten in Perl and C++

  • Clojure is a Lisp that’s trying to bring Lisp into the mainstream by integration with the JVM

  • and MIT now teach 6.001 in Python

  • People still hack on Emacs daily using Elisp

  • Clojure has a bright future where concurrent programming is required.

{"cards":[{"_id":"38956f2f310523d9ec00002f","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":null,"content":"Examples of LISP in society"},{"_id":"38958982310523d9ec00003f","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38956f2f310523d9ec00002f","content":"Viaweb"},{"_id":"389589b6310523d9ec000040","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38958982310523d9ec00003f","content":"http://www.paulgraham.com/avg.html\n* Frontend programmed in LISP"},{"_id":"38958a24310523d9ec000041","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"38956f2f310523d9ec00002f","content":"Emacs"},{"_id":"38958b5c310523d9ec000042","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38958a24310523d9ec000041","content":"https://github.com/mirrors/emacs\n* 79.4% ELisp"},{"_id":"38958c00310523d9ec000043","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":"38956f2f310523d9ec00002f","content":"MIT 6.001 Intro to CS (24 years of Scheme)"},{"_id":"389db8a5a51904bde500001d","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38958c00310523d9ec000043","content":"http://mitpress.mit.edu/sicp/"},{"_id":"389dc014a51904bde500001e","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"38958c00310523d9ec000043","content":"https://groups.google.com/forum/#!topic/comp.lang.lisp/Uod8C6bm8BY"},{"_id":"389570c1310523d9ec000034","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.25,"parentId":null,"content":"Roots in IPL"},{"_id":"3895c12960aa2b5df000001b","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"389570c1310523d9ec000034","content":"LISP was developed for AI research, IPL was also developed for AI research"},{"_id":"3895c27a60aa2b5df000001c","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"3895c12960aa2b5df000001b","content":"\"History of Lisp\" -- John McCarthy 1979 (p2)"},{"_id":"389db496a51904bde500001b","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.5,"parentId":"389570c1310523d9ec000034","content":"IPL had:\n* Recursion\n* Generators\n* Higher order functions\n* Symbolic computation"},{"_id":"3895c42360aa2b5df000001e","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"389570c1310523d9ec000034","content":"* Recursion\n* Associative arrays\n* First order functions\n* Generators"},{"_id":"3895ed6360aa2b5df0000021","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"3895c42360aa2b5df000001e","content":"An introduction to information processing language V"},{"_id":"389dc067a51904bde500001f","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2.5,"parentId":"389570c1310523d9ec000034","content":"Lisp formalized these ideas into an algebraic language "},{"_id":"3895e31c60aa2b5df000001f","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":"389570c1310523d9ec000034","content":"Assembly style language"},{"_id":"3895707e310523d9ec000033","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.5,"parentId":null,"content":"Pioneering Concepts"},{"_id":"3895e3a960aa2b5df0000020","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"3895707e310523d9ec000033","content":"* Code represented in the same way as data"},{"_id":"389ddc96a51904bde500002d","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.5,"parentId":"3895707e310523d9ec000033","content":"* Automatic garbage collection\n* If-Then-Else construct"},{"_id":"3895ee3a60aa2b5df0000022","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"3895707e310523d9ec000033","content":"* First symbolic language that is written in an algebraic style as opposed to asm style"},{"_id":"3895ef3460aa2b5df0000023","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":"3895707e310523d9ec000033","content":"* Automatic garbage collection"},{"_id":"38956f79310523d9ec000030","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":null,"content":"Why did it become popular"},{"_id":"38957442310523d9ec000039","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38956f79310523d9ec000030","content":"Went down a very different route to Algol, FORTRAN derivaties"},{"_id":"3895f26a60aa2b5df0000024","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"38956f79310523d9ec000030","content":"Used in AI research, where the symbolic nature of the program lent itself to AI problems"},{"_id":"389dda56a51904bde500002c","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2.5,"parentId":"38956f79310523d9ec000030","content":"John McCarthy did a lot of work in AI, so Lisp was biased to AI work. It's symbolic computation features made writing code much easier than in FORTRAN or similar"},{"_id":"3895f88c60aa2b5df0000025","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":"38956f79310523d9ec000030","content":"Automated theorem provers"},{"_id":"38956fc2310523d9ec000031","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":null,"content":"Why did it become unpopular"},{"_id":"389571d7310523d9ec000036","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38956fc2310523d9ec000031","content":"* A lot of funding from DARPA was cut due to insufficient progress"},{"_id":"389dd8aca51904bde500002b","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.5,"parentId":"38956fc2310523d9ec000031","content":"* Lisp was used as a dominant language in AI, and so when the claims of AI fell short, Lisp's reputation got damaged as well"},{"_id":"389572d2310523d9ec000038","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"38956fc2310523d9ec000031","content":"Slow compared to C, garbage collection is more wasteful than manually managing resources well"},{"_id":"389575fd310523d9ec00003b","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3.25,"parentId":null,"content":"Advantages of LISP in modern society"},{"_id":"389dd3dda51904bde5000029","treeId":"36fb9347a097e9c75700000a","seq":1,"position":0.5,"parentId":"389575fd310523d9ec00003b","content":"Clojure is being used in industry at several high profile companies including Citigroup"},{"_id":"389dd80fa51904bde500002a","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"389dd3dda51904bde5000029","content":"http://dev.clojure.org/display/community/Clojure+Success+Stories****"},{"_id":"389576a0310523d9ec00003c","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"389575fd310523d9ec00003b","content":"Functional leads to easier concurrency when you haven't got variables."},{"_id":"38957528310523d9ec00003a","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3.5,"parentId":null,"content":"Conclusion"},{"_id":"3897ee5060aa2b5df0000027","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"38957528310523d9ec00003a","content":"Relevant in the way that it influenced a lot of functional languages today"},{"_id":"389dc27aa51904bde5000020","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1.5,"parentId":"38957528310523d9ec00003a","content":"Although Viaweb was rewritten in Perl and C++"},{"_id":"389dce9ca51904bde5000022","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"389dc27aa51904bde5000020","content":"http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02367.html"},{"_id":"3897ef7460aa2b5df0000029","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2,"parentId":"38957528310523d9ec00003a","content":"Clojure is a Lisp that's trying to bring Lisp into the mainstream by integration with the JVM"},{"_id":"389dc2caa51904bde5000021","treeId":"36fb9347a097e9c75700000a","seq":1,"position":2.5,"parentId":"38957528310523d9ec00003a","content":"and MIT now teach 6.001 in Python"},{"_id":"389dd02ca51904bde5000025","treeId":"36fb9347a097e9c75700000a","seq":1,"position":1,"parentId":"389dc2caa51904bde5000021","content":"https://groups.google.com/forum/#!topic/comp.lang.lisp/Uod8C6bm8BY"},{"_id":"389dd071a51904bde5000027","treeId":"36fb9347a097e9c75700000a","seq":1,"position":3,"parentId":"38957528310523d9ec00003a","content":"People still hack on Emacs daily using Elisp"},{"_id":"389dd17ba51904bde5000028","treeId":"36fb9347a097e9c75700000a","seq":1,"position":4,"parentId":"38957528310523d9ec00003a","content":"Clojure has a bright future where concurrent programming is required."}],"tree":{"_id":"36fb9347a097e9c75700000a","name":"PL Essay - Is LISP still relevant?","publicUrl":"io"}}