Giter VIP home page Giter VIP logo

heroku-buildpack-ccl64's Introduction

Heroku Buildpack for OpenMCL's Common Lisp

Recall that each Heroku application consists of the application source and a buildpack. The buildpack is used each time you push your sources to Heroku to create the appliation slug(s). As your application runs Heroku will instantiate instance of the slug(s).

This buildpack assumes you'd like to run a Common Lisp application. It uses the 64 bit version Clozure Common Lisp (aka CCL) to load your application's heroku-compile.lisp file; that file will typically do little more use quickload to (re)compile your application. The buildpack then dumps an executable (./lispapp), and executable goes into the slug along with all your sources.

An example application using this buildpack can be found here: https://github.com/bhyde/heroku-buildpack-ccl64-example1#readme

This buildpack is decendant from Mike Traver's heroku-buildpack-cl2, which in turn is decendant from ??? Fork of Mike's original heroku-buildpack-cl. No doubt as soon as your application gets a bit more serious you'll want to fork this and customize the build to your unique preferences.

Usage

  • Sign up for heroku, and install their tools.
  • Fork the example.
  • CD into that directory, and create a new application using this buildpack
  • Push your sources (well the example's sources) to heroku, watch it build the slug.
  • Visit your running application.

Notes.

Disabling ASDF output tranlastions is necessary becuse Heroku performs the compile step on one machine/directory, and then copies the result into another machine/directory. With default output translations ASDF caches .fasl files according to the full path of their source files. When the sources are moved to another location, ASDF can not match them to the cached .fasls. In result full recompilation will hapen at start time of your application.

With ASDF output translations disabled the .fasl files are placed near the sources, and when copied together, ASDF still matches them.

Notes

  • Heroku does not have a persistent file system. Applications should use S3 for storage; ZS3 is a useful CL library for doing that.
  • There are more notes in the example application.

Credits

heroku-buildpack-ccl64's People

Contributors

bhyde avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.