David Vazquez [Fri, 18 Jan 2013 01:50:55 +0000 (01:50 +0000)]
Remove ecmalisp from master repository
David Vazquez [Fri, 18 Jan 2013 01:48:08 +0000 (01:48 +0000)]
Basic package functions
David Vazquez [Thu, 17 Jan 2013 21:06:07 +0000 (21:06 +0000)]
All initial functions are are non-overridable by default
David Vazquez [Thu, 17 Jan 2013 19:31:59 +0000 (19:31 +0000)]
`constant' and `non-overridable' declarations
David Vazquez [Thu, 17 Jan 2013 18:57:49 +0000 (18:57 +0000)]
!PROCLAIM and NOTINLINE support
David Vazquez [Thu, 17 Jan 2013 17:47:50 +0000 (17:47 +0000)]
Fix bug about strings in docstring position
For instance, in
(defun f () "str")
"str" is a form, no the docstring of F.
David Vazquez [Thu, 17 Jan 2013 17:15:52 +0000 (17:15 +0000)]
Use JOIN instead of reduce/concat
David Vazquez [Thu, 17 Jan 2013 17:10:28 +0000 (17:10 +0000)]
Consider lambda docstrings at compile-time
David Vazquez [Thu, 17 Jan 2013 16:27:45 +0000 (16:27 +0000)]
Compile macro expander functions after first use in target
David Vazquez [Thu, 17 Jan 2013 16:13:57 +0000 (16:13 +0000)]
Support for docstrings and DOCUMENTATION function
David Vazquez [Thu, 17 Jan 2013 15:23:45 +0000 (15:23 +0000)]
Remove redundant return value of defmacro
David Vazquez [Thu, 17 Jan 2013 14:41:00 +0000 (14:41 +0000)]
Rename binding-translation to binding-value
David Vazquez [Thu, 17 Jan 2013 01:53:09 +0000 (01:53 +0000)]
Add RETURN-LAST-P argument to LS-COMPILE-BLOCK
David Vazquez [Thu, 17 Jan 2013 01:49:34 +0000 (01:49 +0000)]
Replace ENV by *ENVIRONMENT*
It is to say, it simplifies the code using a special variable to keep
the environment instead of a explicit argument value.
David Vazquez [Wed, 16 Jan 2013 21:21:51 +0000 (21:21 +0000)]
Merge branch 'special-variables' into development
David Vazquez [Wed, 16 Jan 2013 21:01:20 +0000 (21:01 +0000)]
Use special variable to fix nested toplevel compilation bug
David Vazquez [Wed, 16 Jan 2013 20:54:32 +0000 (20:54 +0000)]
Let supports special variables
David Vázquez [Wed, 16 Jan 2013 17:18:45 +0000 (17:18 +0000)]
Add: DEFPARAMETER
David Vázquez [Wed, 16 Jan 2013 13:00:02 +0000 (13:00 +0000)]
Add BOUNDP
David Vázquez [Wed, 16 Jan 2013 12:41:15 +0000 (12:41 +0000)]
%compile-defmacro compiles the name as a symbol
David Vázquez [Wed, 16 Jan 2013 12:33:36 +0000 (12:33 +0000)]
Reverting "Replace INTERNP by FIND-SYMBOL"
FIND-SYMBOL does not allow to difference between interned NIL and
uninterned symbols.
This reverts commit
25fa7dc525c432ea68bdae231748b279a2ab65ef.
David Vázquez [Wed, 16 Jan 2013 12:31:06 +0000 (12:31 +0000)]
Revert symbol dumping
David Vazquez [Wed, 16 Jan 2013 03:21:30 +0000 (03:21 +0000)]
Replace INTERNP by FIND-SYMBOL
David Vazquez [Wed, 16 Jan 2013 02:59:51 +0000 (02:59 +0000)]
Tool function: DISASSEMBLE
David Vazquez [Wed, 16 Jan 2013 02:51:08 +0000 (02:51 +0000)]
Avoid circularity issue in funcalls
David Vazquez [Wed, 16 Jan 2013 02:09:41 +0000 (02:09 +0000)]
New: symbol-plist
David Vazquez [Wed, 16 Jan 2013 02:01:10 +0000 (02:01 +0000)]
Unify 'lambda funcall' and 'symbol funcall' via function special form
David Vazquez [Wed, 16 Jan 2013 01:47:54 +0000 (01:47 +0000)]
symbol-function checks if the function is defined
David Vazquez [Wed, 16 Jan 2013 01:21:47 +0000 (01:21 +0000)]
Remove FSETQ and LOOKUP-FUNCTION functions
David Vazquez [Wed, 16 Jan 2013 00:53:31 +0000 (00:53 +0000)]
Remove global lexical variables
David Vazquez [Tue, 15 Jan 2013 19:08:10 +0000 (19:08 +0000)]
Fix defmacro temporarily
David Vazquez [Tue, 15 Jan 2013 18:43:17 +0000 (18:43 +0000)]
Copy *literal-counter* to target properly
David Vazquez [Tue, 15 Jan 2013 16:16:37 +0000 (16:16 +0000)]
ls-compile-toplevel emits a semicolon after the compiled toplevel instructions
David Vazquez [Tue, 15 Jan 2013 13:43:45 +0000 (13:43 +0000)]
Different quote compilation in CL and ecmalisp
David Vazquez [Mon, 14 Jan 2013 20:50:28 +0000 (20:50 +0000)]
Fix compilation of quote in target
David Vazquez [Mon, 14 Jan 2013 19:57:05 +0000 (19:57 +0000)]
Change definition of T and NIL, as package is kept in host now
David Vázquez [Mon, 14 Jan 2013 12:10:28 +0000 (12:10 +0000)]
ls-compile-toplevel bypasses toplevel progns
David Vázquez [Mon, 14 Jan 2013 12:01:32 +0000 (12:01 +0000)]
Build fixes
David Vázquez [Mon, 14 Jan 2013 09:23:04 +0000 (09:23 +0000)]
setq and ls-compile deals with special-variables
David Vázquez [Mon, 14 Jan 2013 09:13:01 +0000 (09:13 +0000)]
Rename set/get to oset/oget. Define SET, SYMBOL-VALUE and SYMBOL-FUNCTION CL functions
David Vazquez [Sun, 13 Jan 2013 23:23:10 +0000 (23:23 +0000)]
Add PROG2 macro
David Vazquez [Sat, 12 Jan 2013 13:58:37 +0000 (13:58 +0000)]
REVAPPEND, NTHCDR and rewrite some functions without recursion
David Vazquez [Sat, 12 Jan 2013 13:22:47 +0000 (13:22 +0000)]
Common Lisp `indent' version to speed up bootstrap
David Vázquez [Fri, 11 Jan 2013 17:24:55 +0000 (17:24 +0000)]
Fix `unknown variable' and `unknown function' error signaling
David Vazquez [Wed, 9 Jan 2013 15:09:09 +0000 (15:09 +0000)]
Implicit tagbody in DOTIMES and DOLIST
David Vazquez [Wed, 9 Jan 2013 15:05:55 +0000 (15:05 +0000)]
Use js!selfcall and js!bool emitter Javascript helper functions
David Vazquez [Wed, 9 Jan 2013 14:42:17 +0000 (14:42 +0000)]
Implement TAGBODY and GO special forms
David Vazquez [Wed, 9 Jan 2013 01:28:07 +0000 (01:28 +0000)]
Add UNWIND-PROTECT special operator
David Vazquez [Wed, 9 Jan 2013 01:15:16 +0000 (01:15 +0000)]
Implement CATCH and THROW
David Vazquez [Tue, 8 Jan 2013 19:34:11 +0000 (19:34 +0000)]
Fix DOTIMES and DOLIST implicit NIL to ignore the optional result form
David Vazquez [Tue, 8 Jan 2013 19:29:30 +0000 (19:29 +0000)]
Update copyright year
David Vazquez [Tue, 8 Jan 2013 19:29:20 +0000 (19:29 +0000)]
return argument is optional and assoc uses non local exit
David Vazquez [Tue, 8 Jan 2013 19:13:16 +0000 (19:13 +0000)]
Implicit blocks for WHILE, DOTIMES, DOLIST and DEFUN
David Vazquez [Tue, 8 Jan 2013 18:32:57 +0000 (18:32 +0000)]
Implement BLOCK, RETURN-FROM special operators and RETURN macro
David Vazquez [Tue, 8 Jan 2013 02:21:14 +0000 (02:21 +0000)]
Print returns object itself
David Vazquez [Tue, 8 Jan 2013 02:17:15 +0000 (02:17 +0000)]
Unify env and fenv in a compose type lexenv
So it also replaces *env* and *fenv* with *environment*
David Vazquez [Tue, 8 Jan 2013 00:54:19 +0000 (00:54 +0000)]
Indent use join instead of !reduce #'concat-two
David Vazquez [Tue, 8 Jan 2013 00:52:51 +0000 (00:52 +0000)]
New functions: copy-list, identity
Mihai Bazon [Sat, 5 Jan 2013 09:56:28 +0000 (11:56 +0200)]
Minor stuff
- reset counters in bootstrap
- discard unreachable "return 0"
David Vazquez [Fri, 4 Jan 2013 16:23:35 +0000 (16:23 +0000)]
Fix bug in defun, reported by abeaumont
David Vazquez [Fri, 4 Jan 2013 13:35:29 +0000 (13:35 +0000)]
Some dependencies for the REPL
David Vazquez [Fri, 4 Jan 2013 13:26:29 +0000 (13:26 +0000)]
Rename lispstrack to ecmalisp
David Vazquez [Fri, 4 Jan 2013 02:47:22 +0000 (02:47 +0000)]
gensym
David Vazquez [Fri, 4 Jan 2013 02:26:19 +0000 (02:26 +0000)]
DOTIMES
David Vazquez [Fri, 4 Jan 2013 02:13:49 +0000 (02:13 +0000)]
More type checking
David Vazquez [Fri, 4 Jan 2013 02:05:45 +0000 (02:05 +0000)]
Some type checking
David Vazquez [Fri, 4 Jan 2013 00:56:23 +0000 (00:56 +0000)]
null is not primitive
David Vazquez [Fri, 4 Jan 2013 00:49:22 +0000 (00:49 +0000)]
read-until stops if it finds EOF
David Vazquez [Thu, 3 Jan 2013 23:41:57 +0000 (23:41 +0000)]
Macro to define built-in functions easily
David Vazquez [Sat, 29 Dec 2012 14:23:45 +0000 (14:23 +0000)]
write-string and remove debug
David Vazquez [Fri, 28 Dec 2012 17:59:43 +0000 (17:59 +0000)]
Extra *newline* in CDR translation
David Vazquez [Fri, 28 Dec 2012 17:35:04 +0000 (17:35 +0000)]
Indent output code
David Vazquez [Fri, 28 Dec 2012 17:04:41 +0000 (17:04 +0000)]
Clean output code
David Vazquez [Fri, 28 Dec 2012 02:16:11 +0000 (02:16 +0000)]
Ignore output file
David Vazquez [Fri, 28 Dec 2012 01:55:28 +0000 (01:55 +0000)]
Print functions with the name
David Vazquez [Fri, 28 Dec 2012 01:42:45 +0000 (01:42 +0000)]
Print improper lists
David Vazquez [Fri, 28 Dec 2012 01:37:07 +0000 (01:37 +0000)]
LAST and BUTLAST work for improper lists
David Vazquez [Thu, 27 Dec 2012 02:36:11 +0000 (02:36 +0000)]
subseq for strings
David Vazquez [Thu, 27 Dec 2012 02:26:29 +0000 (02:26 +0000)]
Call JOIN without a separator in some callers
David Vazquez [Thu, 27 Dec 2012 02:24:02 +0000 (02:24 +0000)]
Print negative numbers
David Vazquez [Thu, 27 Dec 2012 02:22:38 +0000 (02:22 +0000)]
Move some code from ls-read to read-sharp
David Vazquez [Wed, 26 Dec 2012 17:42:09 +0000 (17:42 +0000)]
Some refactoring
David Vazquez [Wed, 26 Dec 2012 17:31:35 +0000 (17:31 +0000)]
defvar accepts optional value (it was required)
David Vazquez [Wed, 26 Dec 2012 17:27:25 +0000 (17:27 +0000)]
join and join-trailing accept optional argument
David Vazquez [Wed, 26 Dec 2012 17:25:42 +0000 (17:25 +0000)]
Number of argument checking and &optional parameters
David Vazquez [Wed, 26 Dec 2012 15:44:26 +0000 (15:44 +0000)]
Remove redundant semicolons
David Vazquez [Wed, 26 Dec 2012 15:40:06 +0000 (15:40 +0000)]
Fix make-symbol
David Vazquez [Wed, 26 Dec 2012 15:36:18 +0000 (15:36 +0000)]
concat-two primitive function offered
David Vazquez [Mon, 24 Dec 2012 02:58:03 +0000 (02:58 +0000)]
FUNCTIONP and printer for FUNCTION
David Vazquez [Mon, 24 Dec 2012 02:52:32 +0000 (02:52 +0000)]
Printer
David Vazquez [Mon, 24 Dec 2012 02:45:49 +0000 (02:45 +0000)]
Fix eval-when-compile and so defmacro in the REPL
David Vazquez [Mon, 24 Dec 2012 02:35:46 +0000 (02:35 +0000)]
DEFVAR returns the symbol
David Vazquez [Mon, 24 Dec 2012 02:34:23 +0000 (02:34 +0000)]
DEFUN returns the function name
David Vazquez [Mon, 24 Dec 2012 02:27:03 +0000 (02:27 +0000)]
Parent matching
David Vazquez [Mon, 24 Dec 2012 02:05:24 +0000 (02:05 +0000)]
Improve scrolling in the console
David Vazquez [Mon, 24 Dec 2012 01:09:58 +0000 (01:09 +0000)]
Rename test.html to lispstrack.html
David Vazquez [Mon, 24 Dec 2012 01:07:26 +0000 (01:07 +0000)]
Add copyright notice for rgrau
David Vazquez [Mon, 24 Dec 2012 01:05:27 +0000 (01:05 +0000)]
Some comments
David Vazquez [Mon, 24 Dec 2012 00:42:41 +0000 (00:42 +0000)]
Move all the code to only one file
David Vazquez [Sun, 23 Dec 2012 23:29:10 +0000 (23:29 +0000)]
Handle unfinished expressions in the REPL