Index: gnu/commonlisp/lang/ChangeLog =================================================================== --- gnu/commonlisp/lang/ChangeLog (revision 7774) +++ gnu/commonlisp/lang/ChangeLog (working copy) @@ -1,3 +1,8 @@ +2014-02-06 Charles Turner + + * CommonLisp.java: Proof-of-concept start to loading the CL + primitives from the new primitives.lisp file. + 2014-02-05 Charles Turner * CommonLisp.java: Expose *package* variable to the CL language. Index: gnu/commonlisp/lang/CommonLisp.java =================================================================== --- gnu/commonlisp/lang/CommonLisp.java (revision 7774) +++ gnu/commonlisp/lang/CommonLisp.java (working copy) @@ -152,6 +152,7 @@ defun("eq", new gnu.kawa.functions.IsEq(this, "eq")); defun("equal", new gnu.kawa.functions.IsEqual(this, "equal")); defun("typep", new gnu.kawa.reflect.InstanceOf(this)); + defProcStFld("the", "gnu.kawa.functions.Convert", "as"); defun("%flet", new kawa.standard.let("flet", true)); defProcStFld("princ", "gnu.commonlisp.lisp.PrimOps"); defProcStFld("prin1", "gnu.commonlisp.lisp.PrimOps"); @@ -164,6 +165,7 @@ defProcStFld(">=", "gnu.commonlisp.lang.CommonLisp", "numGEq"); defProcStFld("functionp", "gnu.commonlisp.lisp.PrimOps"); + defProcStFld("car", "gnu.commonlisp.lisp.primitives"); } public static CommonLisp getInstance() Index: gnu/commonlisp/lisp/ChangeLog =================================================================== --- gnu/commonlisp/lisp/ChangeLog (revision 7774) +++ gnu/commonlisp/lisp/ChangeLog (working copy) @@ -1,3 +1,9 @@ +2014-02-06 Charles Turner + + * primitives.lisp (new file): Make a start on the translation of + PrimOps.scm to primitives.lisp. + * Makefile.am: Update accordingly. + 2012-12-31 Per Bothner * PrimOps.scm (princ, prin1): New functions. Index: gnu/commonlisp/lisp/Makefile.am =================================================================== --- gnu/commonlisp/lisp/Makefile.am (revision 7774) +++ gnu/commonlisp/lisp/Makefile.am (working copy) @@ -2,15 +2,16 @@ include $(top_srcdir)/Make-rules -#java_CLISP = lists.lisp +java_CLISP = primitives.lisp +# Required for Elisp java_SCM = PrimOps.scm PACKAGE_FNAME = gnu-commonlisp-lisp -EXTRA_DIST = $(java_SCM) +EXTRA_DIST = $(java_CLISP) $(java_SCM) EXTRA_GCJ_INPUTS = *.class -all: Makefile ../../../kawa/java-classes.stamp scm-classes.stamp $(@GCJ_COMPILED_SELECTED@) +all: Makefile ../../../kawa/java-classes.stamp scm-classes.stamp clisp-classes.stamp $(@GCJ_COMPILED_SELECTED@) ../../../kawa/java-classes.stamp: cd ../../../kawa; $(MAKE) Index: gnu/commonlisp/lisp/primitives.lisp =================================================================== --- gnu/commonlisp/lisp/primitives.lisp (revision 0) +++ gnu/commonlisp/lisp/primitives.lisp (working copy) @@ -0,0 +1,4 @@ +(defun car (x) + (if (null x) + nil + (invoke (the pair x) '|getCar|)))