13
Lisp in the Cloud and The Next Lisp Machine Will Be Everywhere Mike Travers [email protected] Github: mtravers Lisp BOF, 31 March 2012

Lisp in the Cloud

Embed Size (px)

DESCRIPTION

Hacks to support Lisp web apps, and some grandiose theorizing about the nature and future of interactive computing.

Citation preview

Page 1: Lisp in the Cloud

Lisp in the Cloudand

The Next Lisp Machine Will Be Everywhere Mike Travers

[email protected]: mtravers

Lisp BOF, 31 March 2012

Page 2: Lisp in the Cloud

Bifurcated Lightning TalkSmall hacks that make Lisp web apps practical

Grand vision of what computing should be

Page 3: Lisp in the Cloud

Instant Lisp Web Servers

EC2

Heroku (Cedar Stack)

Common Lisp Buildpack

Clozure CL

QuickLispPortable AllegroServe

WuWei

Application!

Hunchentoot

SBCLAlready forked on Github!

Page 4: Lisp in the Cloud

Heroku CL Buildpack1) Get Heroku and Github accounts.2) Fork mtravers/heroku-cl-example3)

4) [add your stuff]

5) git push heroku

6) Voila, a Lisp-based website!

heroku create -s cedar --buildpack http://github.com/mtravers/heroku-buildpack-cl.git

Page 5: Lisp in the Cloud

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

Page 6: Lisp in the Cloud

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.name or GitHub mtravers/wuwei

Page 7: Lisp in the Cloud

WuWei and ARC Challenge• Paul Graham’s test for a web language

(2008)http://www.paulgraham.com/arcchallenge.html

• Pretty concise and you don’t have to invent a new language for it.

(wu-publish "/said" ((:form :action (wu-continuation (:args (foo))

((:a href (wu-continuation () (:princ foo))) "Click me")))

((:input :name "foo")) ((:input :type :submit))))

Page 8: Lisp in the Cloud

So What?• Why is Lisp interesting in today’s

world?

• We know it’s not just another language, but what exactly does it offer?

Page 9: Lisp in the Cloud

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

Page 10: Lisp in the Cloud

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

Page 11: Lisp in the Cloud

Conclusion• Lisp lowers barriers, • The Internet lowers barriers,•Heroku lowers barriers, • Let’s keep doing more of that.

Page 12: Lisp in the Cloud

End

Page 13: Lisp in the Cloud