Added skeleton Common Lisp package.
This commit is contained in:
parent
78c15dbed6
commit
95f6c3bdbb
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
*.lisp#
|
|
@ -9,5 +9,7 @@ There is nothing here yet. You cannot use it. It is just a very rough plan.
|
|||
|
||||
There is the beginnings of a Clojure implementation. This is probably just proof-of-concept rapid prototyping. Clojure makes it extremely hard to rebind symbols, so in-core editing of Clojure is going to be pretty hard to make work. It's highly likely that working LEdit will be Common Lisp only.
|
||||
|
||||
## Common Lisp implementation
|
||||
|
||||
There is the beginnings of a Common Lisp implementation. This will probably lag the Clojure implementation largely because I am personally more familiar with Clojure, but the long term aim is to get the Common Lisp implementation to a stage where it is a robust and usable tool.
|
||||
|
||||
|
|
5
README.org
Normal file
5
README.org
Normal file
|
@ -0,0 +1,5 @@
|
|||
* Ledit
|
||||
|
||||
** Usage
|
||||
|
||||
** Installation
|
17
ledit-test.asd
Normal file
17
ledit-test.asd
Normal file
|
@ -0,0 +1,17 @@
|
|||
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
|
||||
#|
|
||||
This file is a part of ledit project.
|
||||
|#
|
||||
|
||||
(defsystem "ledit-test"
|
||||
:defsystem-depends-on ("prove-asdf")
|
||||
:author ""
|
||||
:license ""
|
||||
:depends-on ("ledit"
|
||||
"prove")
|
||||
:components ((:module "tests"
|
||||
:components
|
||||
((:test-file "ledit"))))
|
||||
:description "Test system for ledit"
|
||||
|
||||
:perform (test-op (op c) (symbol-call :prove-asdf :run-test-system c)))
|
25
ledit.asd
Normal file
25
ledit.asd
Normal file
|
@ -0,0 +1,25 @@
|
|||
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
|
||||
#|
|
||||
This file is a part of ledit project.
|
||||
|#
|
||||
|
||||
(in-package :cl-user)
|
||||
|
||||
(defpackage :ledit-asd
|
||||
(:use :cl :asdf))
|
||||
|
||||
(in-package :ledit-asd)
|
||||
|
||||
(defsystem "ledit"
|
||||
:version "0.1.0"
|
||||
:author "Simon Brooke <simon@journeyman.cc>"
|
||||
:license "GNU General Public License, version 2.0 or (at your option) any later version"
|
||||
:depends-on ("xmls")
|
||||
:components ((:module "src/lisp"
|
||||
:components
|
||||
((:file "ledit"))))
|
||||
:description "A browser-based Lisp structure editor"
|
||||
:long-description
|
||||
#.(read-file-string
|
||||
(subpathname *load-pathname* "README.md"))
|
||||
:in-order-to ((test-op (test-op "ledit-test"))))
|
33
resources/test-fragments/defun-fact.html
Normal file
33
resources/test-fragments/defun-fact.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<!-- in theory this should exactly translate into `defun-fact.lisp`, q.v. -->
|
||||
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">defun</var>
|
||||
<var class="sexpr symbol">fact</var>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">n</var>
|
||||
</div>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">cond</var>
|
||||
<div class="sexpr list">
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">zerop</var>
|
||||
<var class="sexpr symbol">n</var>
|
||||
</div>
|
||||
<code class="sexpr number">1</code>
|
||||
</div>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">t</var>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">*</var>
|
||||
<var class="sexpr symbol">n</var>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">fact</var>
|
||||
<div class="sexpr list">
|
||||
<var class="sexpr symbol">1-</var>
|
||||
<var class="sexpr symbol">n</var>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
5
resources/test-fragments/defun-fact.lisp
Normal file
5
resources/test-fragments/defun-fact.lisp
Normal file
|
@ -0,0 +1,5 @@
|
|||
;; In theory this should exactly translate into `defun-fact.html`, q.v.
|
||||
|
||||
(defun fact (n)
|
||||
(cond ((zerop n) 1)
|
||||
(t (* n (fact (1- n))))))
|
|
@ -0,0 +1,7 @@
|
|||
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
|
||||
|
||||
(defpackage ledit
|
||||
(:use :cl :xmls))
|
||||
(in-package :ledit)
|
||||
|
||||
;; blah blah blah.
|
13
test/lisp/ledit.lisp
Normal file
13
test/lisp/ledit.lisp
Normal file
|
@ -0,0 +1,13 @@
|
|||
(defpackage ledit-test
|
||||
(:use :cl
|
||||
:ledit
|
||||
:prove))
|
||||
(in-package :ledit-test)
|
||||
|
||||
;; NOTE: To run this test file, execute `(asdf:test-system :ledit)' in your Lisp.
|
||||
|
||||
(plan nil)
|
||||
|
||||
;; blah blah blah.
|
||||
|
||||
(finalize)
|
1
tests/ledit.lisp
Symbolic link
1
tests/ledit.lisp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../test/lisp/ledit.lisp
|
Loading…
Reference in a new issue