things going well

This commit is contained in:
Felix Brendel
2019-07-17 00:43:20 +02:00
parent af0c6fd2fd
commit 7d282238bf
4 changed files with 8 additions and 7 deletions
+2 -1
View File
@@ -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)
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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();