Giter Site home page Giter Site logo

ml4ai / shop3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shop-planner/shop3

0.0 1.0 0.0 18.79 MB

SHOP3 Git repository

Home Page: https://shop-planner.github.io

Makefile 0.17% C++ 14.17% C 0.01% Lex 0.07% Yacc 0.76% Common Lisp 84.72% Shell 0.08% CSS 0.01%

shop3's Introduction

SHOP3 logo

SHOP3

This repository contains the open source version of the SHOP3 planner.

License

Mozilla Public License

Installation Instructions

Common Lisp

SHOP3 is written in Common Lisp (CL), and requires a CL implementation to run. We recommend one of the following implementations:

  • SBCL: Steel Bank Common Lisp. Available in packages on Ubuntu Linux and Mac Homebrew. Also available from sbcl.org.
  • CCL: Clozure Common Lisp. Available from clozure.com.
  • ACL: Allegro Common Lisp: Available from franz.com. Unlike the previous two implementations, this is a commercial software product.

We regularly test SHOP3 on all three of these lisp implementations, using an exhaustive test suite. There are at least a handful of other CL implementations, both open source and commercial, but we have not tested them with SHOP3. Patches to make SHOP3 work with other implementations are welcomed, but we have no plans to add support to any others ourselves.

Obtaining the code

Clone this repository and then initialize and populate the submodules.

git clone --recurse-submodules https://github.com/shop-planner/shop3

You need to do this, at least for the moment, because some of the required libraries are not in Quicklisp.

Once you have done that, you can get SHOP3 started either using Quicklisp (probably easiest) or by configuring ASDF (the Common Lisp build manager) yourself. See below.

Option 1: Quicklisp

Probably the easiest way to work with SHOP3 will be to use it in conjunction with Quicklisp. Quicklisp is a package manager for CL libraries, and will be the easiest way to get the libraries that SHOP3 depends on.

If you wish to use Quicklisp, follow the installation instructions for quicklisp at the above site, and then clone the SHOP3 repository into the local-projects subdirectory of your Quicklisp install directory. Once this is done, you should be able to:

  1. Start CL
  2. Inside CL, enable Quicklisp
  3. Enter (ql:quickload "shop3") into the CL REPL.

Option 2: Without Quicklisp

The SHOP3 repository has links to all of the libraries it requires in its git submodules. If Quicklisp is not the right approach for you, you may use git commands to populate SHOP3's submodules, and then:

  1. Start CL
  2. Load the ASDF CL build system by doing (require :asdf) in the CL REPL.
  3. Tell ASDF where to find SHOP3:
    (asdf:initialize-source-registry
             '(:source-registry (:tree SHOP3-DIRECTORY) :inherit-configuration)
    
    Fill in the name of the directory of your cloned repository for SHOP3-DIRECTORY.
  4. Enter (asdf:load-system "shop3") into the CL REPL.

Once started

We suggest that you interact with SHOP3 through the shop-user package in the REPL.

The best environment for working with CL for any purpose, including SHOP3 planning, is through the Superior Lisp Interaction Mode for Emacs, or SLIME. If you use ACL, Franz have their own Emacs Lisp Interface (ELI) as a possible alternative. Both ACL and CCL have some sort of GUI, as well.

Using SHOP3

See the user manual in the docs directory of the repository. Building the manual requires having texinfo, and SBCL installed, and benefits from having tex/latex installed. To build, change to the docs directory and do make html if you have only makeinfo installed, or just make if you have tex/latex, as well. This will produce the manual in HTML, Emacs info, and PDF formats.

shop3's People

Contributors

rpgoldman avatar ukuter avatar aplotnick avatar adarshp avatar guicho271828 avatar mason-bially avatar rgfreedman avatar

Watchers

James Cloos 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.