things going well
This commit is contained in:
+2
-1
@@ -1,7 +1,7 @@
|
||||
(import "alist.slime")
|
||||
|
||||
(define-typed (tf n :number a :alist)
|
||||
(printf n)
|
||||
(printf :end " " "the number is" n "and the alist is")
|
||||
(pprint-alist a))
|
||||
|
||||
|
||||
@@ -13,4 +13,5 @@
|
||||
(define (test a b)
|
||||
(printf a b))
|
||||
|
||||
(printf "addr-of test:" (addr-of test))
|
||||
(test :ij :yes)
|
||||
|
||||
@@ -9,7 +9,7 @@ pushd bin
|
||||
taskkill /F /IM %exeName% > NUL 2> NUL
|
||||
|
||||
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
|
||||
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
|
||||
// stray macros fying around, in that case, we expand them
|
||||
// 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) {
|
||||
*node = *result;
|
||||
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,
|
||||
|
||||
// we don't copy singleton objects
|
||||
if (
|
||||
n == Memory::nil || n == Memory::t ||
|
||||
if (n == Memory::nil || n == Memory::t ||
|
||||
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;
|
||||
}
|
||||
|
||||
Lisp_Object* target;
|
||||
try target = create_lisp_object();
|
||||
|
||||
Reference in New Issue
Block a user