jscl.git
11 years agoCompile and undo-ignore ecmalisp.js on gh-pages
David Vazquez [Fri, 18 Jan 2013 02:19:38 +0000 (02:19 +0000)]
Compile and undo-ignore ecmalisp.js on gh-pages

11 years agoMerge branch 'master' into gh-pages
David Vazquez [Fri, 18 Jan 2013 02:17:51 +0000 (02:17 +0000)]
Merge branch 'master' into gh-pages

11 years agoSYMBOL-PACKAGE
David Vazquez [Fri, 18 Jan 2013 02:15:57 +0000 (02:15 +0000)]
SYMBOL-PACKAGE

11 years agoDefine PROCLAIM alias for !PROCLAIM
David Vazquez [Fri, 18 Jan 2013 02:06:54 +0000 (02:06 +0000)]
Define PROCLAIM alias for !PROCLAIM

11 years agoIgnore ecmalisp.js in master branch
David Vazquez [Fri, 18 Jan 2013 01:51:52 +0000 (01:51 +0000)]
Ignore ecmalisp.js in master branch

11 years agoRemove ecmalisp from master repository
David Vazquez [Fri, 18 Jan 2013 01:50:55 +0000 (01:50 +0000)]
Remove ecmalisp from master repository

11 years agoBasic package functions
David Vazquez [Fri, 18 Jan 2013 01:48:08 +0000 (01:48 +0000)]
Basic package functions

11 years agoAll initial functions are are non-overridable by default
David Vazquez [Thu, 17 Jan 2013 21:06:07 +0000 (21:06 +0000)]
All initial functions are are non-overridable by default

11 years ago`constant' and `non-overridable' declarations
David Vazquez [Thu, 17 Jan 2013 19:31:59 +0000 (19:31 +0000)]
`constant' and `non-overridable' declarations

11 years ago!PROCLAIM and NOTINLINE support
David Vazquez [Thu, 17 Jan 2013 18:57:49 +0000 (18:57 +0000)]
!PROCLAIM and NOTINLINE support

11 years agoFix bug about strings in docstring position
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.

11 years agoUse JOIN instead of reduce/concat
David Vazquez [Thu, 17 Jan 2013 17:15:52 +0000 (17:15 +0000)]
Use JOIN instead of reduce/concat

11 years agoConsider lambda docstrings at compile-time
David Vazquez [Thu, 17 Jan 2013 17:10:28 +0000 (17:10 +0000)]
Consider lambda docstrings at compile-time

11 years agoCompile macro expander functions after first use in target
David Vazquez [Thu, 17 Jan 2013 16:27:45 +0000 (16:27 +0000)]
Compile macro expander functions after first use in target

11 years agoSupport for docstrings and DOCUMENTATION function
David Vazquez [Thu, 17 Jan 2013 16:13:57 +0000 (16:13 +0000)]
Support for docstrings and DOCUMENTATION function

11 years agoRemove redundant return value of defmacro
David Vazquez [Thu, 17 Jan 2013 15:23:45 +0000 (15:23 +0000)]
Remove redundant return value of defmacro

11 years agoRename binding-translation to binding-value
David Vazquez [Thu, 17 Jan 2013 14:41:00 +0000 (14:41 +0000)]
Rename binding-translation to binding-value

11 years agoAdd RETURN-LAST-P argument to LS-COMPILE-BLOCK
David Vazquez [Thu, 17 Jan 2013 01:53:09 +0000 (01:53 +0000)]
Add RETURN-LAST-P argument to LS-COMPILE-BLOCK

11 years agoReplace ENV by *ENVIRONMENT*
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.

11 years agoMerge branch 'special-variables' into development
David Vazquez [Wed, 16 Jan 2013 21:21:51 +0000 (21:21 +0000)]
Merge branch 'special-variables' into development

11 years agoUse special variable to fix nested toplevel compilation bug
David Vazquez [Wed, 16 Jan 2013 21:01:20 +0000 (21:01 +0000)]
Use special variable to fix nested toplevel compilation bug

11 years agoLet supports special variables
David Vazquez [Wed, 16 Jan 2013 20:54:32 +0000 (20:54 +0000)]
Let supports special variables

11 years agoAdd: DEFPARAMETER
David Vázquez [Wed, 16 Jan 2013 17:18:45 +0000 (17:18 +0000)]
Add: DEFPARAMETER

11 years agoAdd BOUNDP
David Vázquez [Wed, 16 Jan 2013 13:00:02 +0000 (13:00 +0000)]
Add BOUNDP

11 years ago%compile-defmacro compiles the name as a symbol
David Vázquez [Wed, 16 Jan 2013 12:41:15 +0000 (12:41 +0000)]
%compile-defmacro compiles the name as a symbol

11 years agoReverting "Replace INTERNP by FIND-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.

11 years agoRevert symbol dumping
David Vázquez [Wed, 16 Jan 2013 12:31:06 +0000 (12:31 +0000)]
Revert symbol dumping

11 years agoReplace INTERNP by FIND-SYMBOL
David Vazquez [Wed, 16 Jan 2013 03:21:30 +0000 (03:21 +0000)]
Replace INTERNP by FIND-SYMBOL

11 years agoTool function: DISASSEMBLE
David Vazquez [Wed, 16 Jan 2013 02:59:51 +0000 (02:59 +0000)]
Tool function: DISASSEMBLE

11 years agoAvoid circularity issue in funcalls
David Vazquez [Wed, 16 Jan 2013 02:51:08 +0000 (02:51 +0000)]
Avoid circularity issue in funcalls

11 years agoNew: symbol-plist
David Vazquez [Wed, 16 Jan 2013 02:09:41 +0000 (02:09 +0000)]
New: symbol-plist

11 years agoUnify 'lambda funcall' and 'symbol funcall' via function special form
David Vazquez [Wed, 16 Jan 2013 02:01:10 +0000 (02:01 +0000)]
Unify 'lambda funcall' and 'symbol funcall' via function special form

11 years agosymbol-function checks if the function is defined
David Vazquez [Wed, 16 Jan 2013 01:47:54 +0000 (01:47 +0000)]
symbol-function checks if the function is defined

11 years agoRemove FSETQ and LOOKUP-FUNCTION functions
David Vazquez [Wed, 16 Jan 2013 01:21:47 +0000 (01:21 +0000)]
Remove FSETQ and LOOKUP-FUNCTION functions

11 years agoRemove global lexical variables
David Vazquez [Wed, 16 Jan 2013 00:53:31 +0000 (00:53 +0000)]
Remove global lexical variables

11 years agoFix defmacro temporarily
David Vazquez [Tue, 15 Jan 2013 19:08:10 +0000 (19:08 +0000)]
Fix defmacro temporarily

11 years agoCopy *literal-counter* to target properly
David Vazquez [Tue, 15 Jan 2013 18:43:17 +0000 (18:43 +0000)]
Copy *literal-counter* to target properly

11 years agols-compile-toplevel emits a semicolon after the compiled toplevel instructions
David Vazquez [Tue, 15 Jan 2013 16:16:37 +0000 (16:16 +0000)]
ls-compile-toplevel emits a semicolon after the compiled toplevel instructions

11 years agoDifferent quote compilation in CL and ecmalisp
David Vazquez [Tue, 15 Jan 2013 13:43:45 +0000 (13:43 +0000)]
Different quote compilation in CL and ecmalisp

11 years agoFix compilation of quote in target
David Vazquez [Mon, 14 Jan 2013 20:50:28 +0000 (20:50 +0000)]
Fix compilation of quote in target

11 years agoChange definition of T and NIL, as package is kept in host now
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

11 years agols-compile-toplevel bypasses toplevel progns
David Vázquez [Mon, 14 Jan 2013 12:10:28 +0000 (12:10 +0000)]
ls-compile-toplevel bypasses toplevel progns

11 years agoBuild fixes
David Vázquez [Mon, 14 Jan 2013 12:01:32 +0000 (12:01 +0000)]
Build fixes

11 years agosetq and ls-compile deals with special-variables
David Vázquez [Mon, 14 Jan 2013 09:23:04 +0000 (09:23 +0000)]
setq and ls-compile deals with special-variables

11 years agoRename set/get to oset/oget. Define SET, SYMBOL-VALUE and SYMBOL-FUNCTION CL functions
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

11 years agoAdd PROG2 macro
David Vazquez [Sun, 13 Jan 2013 23:23:10 +0000 (23:23 +0000)]
Add PROG2 macro

11 years agoREVAPPEND, NTHCDR and rewrite some functions without recursion
David Vazquez [Sat, 12 Jan 2013 13:58:37 +0000 (13:58 +0000)]
REVAPPEND, NTHCDR and rewrite some functions without recursion

11 years agoCommon Lisp `indent' version to speed up bootstrap
David Vazquez [Sat, 12 Jan 2013 13:22:47 +0000 (13:22 +0000)]
Common Lisp `indent' version to speed up bootstrap

11 years agoFix `unknown variable' and `unknown function' error signaling
David Vázquez [Fri, 11 Jan 2013 17:24:55 +0000 (17:24 +0000)]
Fix `unknown variable' and `unknown function' error signaling

11 years agoImplicit tagbody in DOTIMES and DOLIST
David Vazquez [Wed, 9 Jan 2013 15:09:09 +0000 (15:09 +0000)]
Implicit tagbody in DOTIMES and DOLIST

11 years agoUse js!selfcall and js!bool emitter Javascript helper functions
David Vazquez [Wed, 9 Jan 2013 15:05:55 +0000 (15:05 +0000)]
Use js!selfcall and js!bool emitter Javascript helper functions

11 years agoImplement TAGBODY and GO special forms
David Vazquez [Wed, 9 Jan 2013 14:42:17 +0000 (14:42 +0000)]
Implement TAGBODY and GO special forms

11 years agoAdd UNWIND-PROTECT special operator
David Vazquez [Wed, 9 Jan 2013 01:28:07 +0000 (01:28 +0000)]
Add UNWIND-PROTECT special operator

11 years agoImplement CATCH and THROW
David Vazquez [Wed, 9 Jan 2013 01:15:16 +0000 (01:15 +0000)]
Implement CATCH and THROW

11 years agoFix DOTIMES and DOLIST implicit NIL to ignore the optional result form
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

11 years agoUpdate copyright year
David Vazquez [Tue, 8 Jan 2013 19:29:30 +0000 (19:29 +0000)]
Update copyright year

11 years agoreturn argument is optional and assoc uses non local exit
David Vazquez [Tue, 8 Jan 2013 19:29:20 +0000 (19:29 +0000)]
return argument is optional and assoc uses non local exit

11 years agoImplicit blocks for WHILE, DOTIMES, DOLIST and DEFUN
David Vazquez [Tue, 8 Jan 2013 19:13:16 +0000 (19:13 +0000)]
Implicit blocks for WHILE, DOTIMES, DOLIST and DEFUN

11 years agoImplement BLOCK, RETURN-FROM special operators and RETURN macro
David Vazquez [Tue, 8 Jan 2013 18:32:57 +0000 (18:32 +0000)]
Implement BLOCK, RETURN-FROM special operators and RETURN macro

11 years agoPrint returns object itself
David Vazquez [Tue, 8 Jan 2013 02:21:14 +0000 (02:21 +0000)]
Print returns object itself

11 years agoUnify env and fenv in a compose type lexenv
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*

11 years agoIndent use join instead of !reduce #'concat-two
David Vazquez [Tue, 8 Jan 2013 00:54:19 +0000 (00:54 +0000)]
Indent use join instead of !reduce #'concat-two

11 years agoNew functions: copy-list, identity
David Vazquez [Tue, 8 Jan 2013 00:52:51 +0000 (00:52 +0000)]
New functions: copy-list, identity

11 years agoMinor stuff
Mihai Bazon [Sat, 5 Jan 2013 09:56:28 +0000 (11:56 +0200)]
Minor stuff

- reset counters in bootstrap
- discard unreachable "return 0"

11 years agoFix bug in defun, reported by abeaumont
David Vazquez [Fri, 4 Jan 2013 16:23:35 +0000 (16:23 +0000)]
Fix bug in defun, reported by abeaumont

11 years agoSome dependencies for the REPL
David Vazquez [Fri, 4 Jan 2013 13:35:29 +0000 (13:35 +0000)]
Some dependencies for the REPL

11 years agoRename lispstrack to ecmalisp
David Vazquez [Fri, 4 Jan 2013 13:26:29 +0000 (13:26 +0000)]
Rename lispstrack to ecmalisp

11 years agogensym
David Vazquez [Fri, 4 Jan 2013 02:47:22 +0000 (02:47 +0000)]
gensym

11 years agoDOTIMES
David Vazquez [Fri, 4 Jan 2013 02:26:19 +0000 (02:26 +0000)]
DOTIMES

11 years agoMore type checking
David Vazquez [Fri, 4 Jan 2013 02:13:49 +0000 (02:13 +0000)]
More type checking

11 years agoSome type checking
David Vazquez [Fri, 4 Jan 2013 02:05:45 +0000 (02:05 +0000)]
Some type checking

11 years agonull is not primitive
David Vazquez [Fri, 4 Jan 2013 00:56:23 +0000 (00:56 +0000)]
null is not primitive

11 years agoread-until stops if it finds EOF
David Vazquez [Fri, 4 Jan 2013 00:49:22 +0000 (00:49 +0000)]
read-until stops if it finds EOF

11 years agoMacro to define built-in functions easily
David Vazquez [Thu, 3 Jan 2013 23:41:57 +0000 (23:41 +0000)]
Macro to define built-in functions easily

11 years agowrite-string and remove debug
David Vazquez [Sat, 29 Dec 2012 14:23:45 +0000 (14:23 +0000)]
write-string and remove debug

11 years agoExtra *newline* in CDR translation
David Vazquez [Fri, 28 Dec 2012 17:59:43 +0000 (17:59 +0000)]
Extra *newline* in CDR translation

11 years agoIndent output code
David Vazquez [Fri, 28 Dec 2012 17:35:04 +0000 (17:35 +0000)]
Indent output code

11 years agoClean output code
David Vazquez [Fri, 28 Dec 2012 17:04:41 +0000 (17:04 +0000)]
Clean output code

11 years agoIgnore output file
David Vazquez [Fri, 28 Dec 2012 02:16:11 +0000 (02:16 +0000)]
Ignore output file

11 years agoPrint functions with the name
David Vazquez [Fri, 28 Dec 2012 01:55:28 +0000 (01:55 +0000)]
Print functions with the name

11 years agoPrint improper lists
David Vazquez [Fri, 28 Dec 2012 01:42:45 +0000 (01:42 +0000)]
Print improper lists

11 years agoLAST and BUTLAST work for improper lists
David Vazquez [Fri, 28 Dec 2012 01:37:07 +0000 (01:37 +0000)]
LAST and BUTLAST work for improper lists

11 years agosubseq for strings
David Vazquez [Thu, 27 Dec 2012 02:36:11 +0000 (02:36 +0000)]
subseq for strings

11 years agoCall JOIN without a separator in some callers
David Vazquez [Thu, 27 Dec 2012 02:26:29 +0000 (02:26 +0000)]
Call JOIN without a separator in some callers

11 years agoPrint negative numbers
David Vazquez [Thu, 27 Dec 2012 02:24:02 +0000 (02:24 +0000)]
Print negative numbers

11 years agoMove some code from ls-read to read-sharp
David Vazquez [Thu, 27 Dec 2012 02:22:38 +0000 (02:22 +0000)]
Move some code from ls-read to read-sharp

11 years agoSome refactoring
David Vazquez [Wed, 26 Dec 2012 17:42:09 +0000 (17:42 +0000)]
Some refactoring

11 years agodefvar accepts optional value (it was required)
David Vazquez [Wed, 26 Dec 2012 17:31:35 +0000 (17:31 +0000)]
defvar accepts optional value (it was required)

11 years agojoin and join-trailing accept optional argument
David Vazquez [Wed, 26 Dec 2012 17:27:25 +0000 (17:27 +0000)]
join and join-trailing accept optional argument

11 years agoNumber of argument checking and &optional parameters
David Vazquez [Wed, 26 Dec 2012 17:25:42 +0000 (17:25 +0000)]
Number of argument checking and &optional parameters

11 years agoRemove redundant semicolons
David Vazquez [Wed, 26 Dec 2012 15:44:26 +0000 (15:44 +0000)]
Remove redundant semicolons

11 years agoFix make-symbol
David Vazquez [Wed, 26 Dec 2012 15:40:06 +0000 (15:40 +0000)]
Fix make-symbol

11 years agoconcat-two primitive function offered
David Vazquez [Wed, 26 Dec 2012 15:36:18 +0000 (15:36 +0000)]
concat-two primitive function offered

11 years agoFUNCTIONP and printer for FUNCTION
David Vazquez [Mon, 24 Dec 2012 02:58:03 +0000 (02:58 +0000)]
FUNCTIONP and printer for FUNCTION

11 years agoPrinter
David Vazquez [Mon, 24 Dec 2012 02:52:32 +0000 (02:52 +0000)]
Printer

11 years agoFix eval-when-compile and so defmacro in the REPL
David Vazquez [Mon, 24 Dec 2012 02:45:49 +0000 (02:45 +0000)]
Fix eval-when-compile and so defmacro in the REPL

11 years agoDEFVAR returns the symbol
David Vazquez [Mon, 24 Dec 2012 02:35:46 +0000 (02:35 +0000)]
DEFVAR returns the symbol

11 years agoDEFUN returns the function name
David Vazquez [Mon, 24 Dec 2012 02:34:23 +0000 (02:34 +0000)]
DEFUN returns the function name

11 years agoParent matching
David Vazquez [Mon, 24 Dec 2012 02:27:03 +0000 (02:27 +0000)]
Parent matching

11 years agoImprove scrolling in the console
David Vazquez [Mon, 24 Dec 2012 02:05:24 +0000 (02:05 +0000)]
Improve scrolling in the console