David Vázquez [Sun, 20 Jan 2013 16:20:24 +0000 (16:20 +0000)]
Compile literal arrays
David Vázquez [Sun, 20 Jan 2013 16:13:46 +0000 (16:13 +0000)]
Export MAKE-ARRAY, ARRAYP, AREF and ASET functions
David Vázquez [Sun, 20 Jan 2013 16:11:56 +0000 (16:11 +0000)]
Printer for arrays
David Vázquez [Sun, 20 Jan 2013 16:06:53 +0000 (16:06 +0000)]
LENGTH function works for arrays (vectors)
David Vázquez [Sun, 20 Jan 2013 16:03:51 +0000 (16:03 +0000)]
MAKE-ARRAY, AREF, ASET and ARRAYP functions
David Vázquez [Sun, 20 Jan 2013 15:44:20 +0000 (15:44 +0000)]
notinline version of + and -
David Vázquez [Sun, 20 Jan 2013 15:40:13 +0000 (15:40 +0000)]
Variable arity + and - functions
David Vázquez [Sun, 20 Jan 2013 14:45:10 +0000 (14:45 +0000)]
VARIABLE-ARITY helper macro
David Vazquez [Sat, 19 Jan 2013 15:54:38 +0000 (15:54 +0000)]
Export &rest and &optional symbols
David Vazquez [Sat, 19 Jan 2013 15:47:34 +0000 (15:47 +0000)]
Implement LET*
David Vazquez [Sat, 19 Jan 2013 14:57:57 +0000 (14:57 +0000)]
Export LAMBDA, no LAMBDA-CODE
Conflicts:
ecmalisp.lisp
David Vázquez [Sat, 19 Jan 2013 14:54:23 +0000 (06:54 -0800)]
Merge pull request #1 from rayslava/gh-pages
Export if from CL package
rayslava [Sat, 19 Jan 2013 14:45:11 +0000 (18:45 +0400)]
Added "if" into exports
David Vazquez [Sat, 19 Jan 2013 13:53:45 +0000 (13:53 +0000)]
Implement LET*
David Vazquez [Sat, 19 Jan 2013 12:58:22 +0000 (12:58 +0000)]
Global special declaration
Change defvar definition to include it
David Vazquez [Sat, 19 Jan 2013 02:03:49 +0000 (02:03 +0000)]
Compile support for keywords
David Vazquez [Sat, 19 Jan 2013 02:03:22 +0000 (02:03 +0000)]
Merge branch 'master' into gh-pages
David Vazquez [Sat, 19 Jan 2013 02:02:59 +0000 (02:02 +0000)]
Support for keywords
David Vazquez [Sat, 19 Jan 2013 01:07:39 +0000 (01:07 +0000)]
Update last version
David Vazquez [Sat, 19 Jan 2013 01:05:46 +0000 (01:05 +0000)]
Minor bug
David Vazquez [Sat, 19 Jan 2013 00:56:36 +0000 (00:56 +0000)]
Show current package name as prompt
David Vazquez [Sat, 19 Jan 2013 00:48:38 +0000 (00:48 +0000)]
Package prefix support in the reader
David Vazquez [Fri, 18 Jan 2013 23:33:10 +0000 (23:33 +0000)]
Compile last version
David Vazquez [Fri, 18 Jan 2013 23:32:35 +0000 (23:32 +0000)]
Merge branch 'master' into gh-pages
David Vazquez [Fri, 18 Jan 2013 23:29:40 +0000 (23:29 +0000)]
Set CL-USER package as default
David Vazquez [Fri, 18 Jan 2013 23:28:26 +0000 (23:28 +0000)]
Basic package exports
David Vazquez [Fri, 18 Jan 2013 02:19:38 +0000 (02:19 +0000)]
Compile and undo-ignore ecmalisp.js on gh-pages
David Vazquez [Fri, 18 Jan 2013 02:17:51 +0000 (02:17 +0000)]
Merge branch 'master' into gh-pages
David Vazquez [Fri, 18 Jan 2013 02:15:57 +0000 (02:15 +0000)]
SYMBOL-PACKAGE
David Vazquez [Fri, 18 Jan 2013 02:06:54 +0000 (02:06 +0000)]
Define PROCLAIM alias for !PROCLAIM
David Vazquez [Fri, 18 Jan 2013 01:51:52 +0000 (01:51 +0000)]
Ignore ecmalisp.js in master branch
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