3. Instant Lisp Web Servers
Application!
WuWei
Portable
Hunchentoot QuickLisp
AllegroServe
Already forked on Github!
Clozure CL
SBCL
Common Lisp Buildpack
Heroku (Cedar Stack)
EC2
4. Heroku CL Buildpack
1) Get Heroku and Github accounts.
2) Fork mtravers/heroku-cl-example
heroku create -s cedar --
buildpackhttp://github.com/mtravers/heroku-
buildpack-cl.git
3) [add your stuff]
4) git push heroku
5) Voila, a Lisp-based website!
5. Infrastructure TBD
• Adding in a persistence layer
Heroku provides Postgres, hooking up
CLSQL
• Security, Performance, Scaling
• Debugging tools
(already an EVAL server)
• Building a big application
• Overtaking Rails
6. WuWei – Web toolkit
• Philosophy: toolkit not platform
• Continuation-based AJAX user interfaces
• Server-side high-level DOM operations
(update elements, visual effects, drag and drop)
• High-level interfaces to in-place editing and
autocomplete widgets
• Login and session management
• OAuth2 support (coming soon)
• Runs in multiple Common Lisp implementations
• Freely available under MIT Open Source License
• In use: http://biocyc.org (SRI)
• http://wuwei.nameor GitHubmtravers/wuwei
7. WuWei and ARC Challenge
• Paul Graham’s test for a web language
(2008)http://www.paulgraham.com/arcchallenge.
html
(wu-publish "/said"
((:form :action
(wu-continuation (:args (foo))
((:a href (wu-continuation () (:princfoo)))
"Click me")))
((:input :name "foo"))
((:input :type :submit))))
• Pretty concise and you don’t have to invent a new
language for it.
8. So What?
• Why is Lisp interesting in today’s world?
• We know it’s not just another
language, but what exactly does it offer?
9. Habitable Software
• Richard Gabriel: software where “developers … place their hands on any
item without having to think deeply about where it is.”
• Past Lisp Systems:
– REPLs
– LispM / Dynamic Windows / CLIM
• Some of Mm Efforts
– Skij (REPL in Java, 1997)
– Children’s Visual Programming / Behave / Scratch
– BioBike: through-the-web symbolic biocomputing
• But today’s computational world is different:
– Web, Mobile Devices
– Distributed Systems, Web Services
– Big Data
– Social user experience
– Social coding
10. Next Grand Vision
• What we should be building:
– All the interactive computational power of a Lisp
Machine
– in the world of the Web, Distributed Services, Big
Data, Social Computing, etc.
• Occupy Computation!
– Make computational worlds
visible, controllable, buildable, and habitable by
the people who need to interact with them.
– The computational world is increasingly
indistinguishable from the real world, so this is a
political imperative
11. Conclusion
• Lisp lowers barriers,
• The Internet lowers barriers,
• Herokulowers barriers,
• Let’s keep doing more of
that.