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