Difference between revisions of "Common Lisp Creating A New Project"
From copec
(→Load the skeleton) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
− | Template procedure on how to create new Common Lisp project. Totally stolen from: | + | Template procedure on how to create new Common Lisp project. |
+ | Totally stolen from: | ||
* [http://xach.livejournal.com/278047.html?thread=674335 Zach Beane - Making a small Lisp project with quickproject and Quicklisp.] | * [http://xach.livejournal.com/278047.html?thread=674335 Zach Beane - Making a small Lisp project with quickproject and Quicklisp.] | ||
Line 28: | Line 29: | ||
=== Edit Stuff === | === Edit Stuff === | ||
+ | ==== Load the skeleton ==== | ||
+ | <pre> | ||
+ | CL-USER> (ql:quickload "swatchblade") | ||
+ | </pre> | ||
+ | |||
==== Hack the planet starting in '''swatchblade.lisp''' ==== | ==== Hack the planet starting in '''swatchblade.lisp''' ==== | ||
==== Import ''vecto'' symbols under '''package.lisp''' ==== | ==== Import ''vecto'' symbols under '''package.lisp''' ==== | ||
Line 73: | Line 79: | ||
#:save-png-stream)) | #:save-png-stream)) | ||
</pre> | </pre> | ||
+ | |||
=== Load Project === | === Load Project === | ||
<pre> | <pre> |
Latest revision as of 13:47, 10 January 2017
Contents
- 1 Overview
- 2 Project Creation (Steps)
- 2.1 Make Sure Environment is Setup
- 2.2 Install quickproject
- 2.3 Create Project
- 2.4 Edit Stuff
- 2.4.1 Load the skeleton
- 2.4.2 Hack the planet starting in swatchblade.lisp
- 2.4.3 Import vecto symbols under package.lisp
- 2.4.4 Add libraries cl-colors under swatchblade.asd
- 2.4.5 Add source files utils, graphics, web under swatchblade.asd
- 2.4.6 Export some sort of entry point symbols under package.lisp
- 2.5 Load Project
- 2.6 Use Project
Overview
Template procedure on how to create new Common Lisp project. Totally stolen from:
Project Creation (Steps)
Make Sure Environment is Setup
Install quickproject
CL-USER> (ql:quickload "quickproject")
Create Project
CL-USER> (quickproject:make-project "~/org.unaen.dev.src/lisp/swatchblade/" :depends-on '(vecto hunchentoot)) "swatchblade"
Default Files Created
~/org.unaen.dev.src/lisp/swatchblade/
- package.lisp
- swatchblade.lisp
- swatchblade.asd
- README.txt
Edit Stuff
Load the skeleton
CL-USER> (ql:quickload "swatchblade")
Hack the planet starting in swatchblade.lisp
Import vecto symbols under package.lisp
(defpackage #:swatchblade (:use #:cl) (:shadowing-import-from #:vecto #:with-canvas #:rounded-rectangle #:set-rgb-fill #:save-png-stream))
Add libraries cl-colors under swatchblade.asd
(asdf:defsystem #:swatchblade :serial t :depends-on (#:vecto #:hunchentoot #:cl-colors) :components ((:file "package") (:file "swatchblade")))
Add source files utils, graphics, web under swatchblade.asd
Simple ":serial t" loading example:
(asdf:defsystem #:swatchblade :serial t :depends-on (#:vecto #:hunchentoot) :components ((:file "package") (:file "utils") (:file "graphics") (:file "web") (:file "swatchblade")))
Export some sort of entry point symbols under package.lisp
(defpackage #:swatchblade (:use #:cl) (:export #:start-web-server) (:shadowing-import-from #:vecto #:with-canvas #:rounded-rectangle #:set-rgb-fill #:save-png-stream))
Load Project
CL-USER> (ql:quickload "swatchblade")
Use Project
CL-USER> (ql:quickload "swatchblade") loading output CL-USER> (swatchblade:start-web-server :port 8080) Server started on port 8080.