things going well
This commit is contained in:
+2
-1
@@ -1,7 +1,7 @@
|
|||||||
(import "alist.slime")
|
(import "alist.slime")
|
||||||
|
|
||||||
(define-typed (tf n :number a :alist)
|
(define-typed (tf n :number a :alist)
|
||||||
(printf n)
|
(printf :end " " "the number is" n "and the alist is")
|
||||||
(pprint-alist a))
|
(pprint-alist a))
|
||||||
|
|
||||||
|
|
||||||
@@ -13,4 +13,5 @@
|
|||||||
(define (test a b)
|
(define (test a b)
|
||||||
(printf a b))
|
(printf a b))
|
||||||
|
|
||||||
|
(printf "addr-of test:" (addr-of test))
|
||||||
(test :ij :yes)
|
(test :ij :yes)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ pushd bin
|
|||||||
taskkill /F /IM %exeName% > NUL 2> NUL
|
taskkill /F /IM %exeName% > NUL 2> NUL
|
||||||
|
|
||||||
echo ---------- Compiling ----------
|
echo ---------- Compiling ----------
|
||||||
call timecmd cl ../src/main.cpp /std:c++latest /Fe%exeName% /W3 /Zi /nologo /EHsc /link /NODEFAULTLIB:libucrt libucrtd.lib
|
call ..\timecmd cl ../src/main.cpp /std:c++latest /Fe%exeName% /W3 /Zi /nologo /EHsc /link /NODEFAULTLIB:libucrt libucrtd.lib
|
||||||
|
|
||||||
popd
|
popd
|
||||||
if %errorlevel% == 0 (
|
if %errorlevel% == 0 (
|
||||||
|
|||||||
+1
-1
@@ -427,7 +427,7 @@ proc eval_expr(Lisp_Object* node, Environment* env) -> Lisp_Object* {
|
|||||||
// is done at runtime...). That is why we sometimes have
|
// is done at runtime...). That is why we sometimes have
|
||||||
// stray macros fying around, in that case, we expand them
|
// stray macros fying around, in that case, we expand them
|
||||||
// and bake them in, so they do not have to be expanded
|
// and bake them in, so they do not have to be expanded
|
||||||
// later again.
|
// later again. We will call this "lazy macro expansion"
|
||||||
if (lispOperator->value.function.type == Function_Type::Macro) {
|
if (lispOperator->value.function.type == Function_Type::Macro) {
|
||||||
*node = *result;
|
*node = *result;
|
||||||
try result = eval_expr(result, env);
|
try result = eval_expr(result, env);
|
||||||
|
|||||||
+4
-4
@@ -287,12 +287,12 @@ namespace Memory {
|
|||||||
// TODO(Felix): If argument is a list (pair), do a FULL copy,
|
// TODO(Felix): If argument is a list (pair), do a FULL copy,
|
||||||
|
|
||||||
// we don't copy singleton objects
|
// we don't copy singleton objects
|
||||||
if (
|
if (n == Memory::nil || n == Memory::t ||
|
||||||
n == Memory::nil || n == Memory::t ||
|
|
||||||
Memory::get_type(n) == Lisp_Object_Type::Symbol ||
|
Memory::get_type(n) == Lisp_Object_Type::Symbol ||
|
||||||
Memory::get_type(n) == Lisp_Object_Type::Keyword
|
Memory::get_type(n) == Lisp_Object_Type::Keyword)
|
||||||
)
|
{
|
||||||
return n;
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
Lisp_Object* target;
|
Lisp_Object* target;
|
||||||
try target = create_lisp_object();
|
try target = create_lisp_object();
|
||||||
|
|||||||
Reference in New Issue
Block a user