Skip to content

Instantly share code, notes, and snippets.

@tbatchelli
Created January 25, 2014 03:13
Show Gist options
  • Select an option

  • Save tbatchelli/8611284 to your computer and use it in GitHub Desktop.

Select an option

Save tbatchelli/8611284 to your computer and use it in GitHub Desktop.
Scratchpad proposal sent to Clojure/West 2014
Scratchpad: Code + everything needed to run it
———————————————————————
Scratchpad is a platform that lets you build scratchpads and run them
at the REPL. A scratchpad is a self-contained clojure file that includes
both code and everything needed to run it: library dependencies and
infrastructure.
Dependencies are expressed in lein-style and are downloaded and added
into the classpath when you load the scratchpad into the REPL. You can
even switch between scratchpads seamlessly, without quitting the REPL.
In addition, a scratchpad can build the server infrastructure needed to
run your code, for example a Hadoop cluster to run Cascalog queries,
MongoDB, Cassandra, etc. Since scratchpads are self-contained, you can
ship your code to third parties with everything they would need to run it.
Scratchpads are perfect for quickly jotting down some code ideas,
providing or receiving help with your code, and isolating hard to find bugs.
You can also build courseware where each section is a scratchpad, and
students can progress from section to section running the examples and their
own code, without ever having to leave the REPL.
In this talk, I'll first demonstrate Scratchpad and dive into its
implementation, showing how alembic does dynamic dependency downloads,
as well as how the infrastructure is built.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment