projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/scheme: add make-string builtin
[fw/altos]
/
src
/
scheme
/
ao_scheme_lambda.c
diff --git
a/src/scheme/ao_scheme_lambda.c
b/src/scheme/ao_scheme_lambda.c
index ec6f858c2f4fa99d95f72d8c3e01c2b93b7dd2cf..e818d7b04bd5dcbcfe6a57431d27a165c1b89b99 100644
(file)
--- a/
src/scheme/ao_scheme_lambda.c
+++ b/
src/scheme/ao_scheme_lambda.c
@@
-17,14
+17,14
@@
#include "ao_scheme.h"
#include "ao_scheme.h"
-int
+
static
int
lambda_size(void *addr)
{
(void) addr;
return sizeof (struct ao_scheme_lambda);
}
lambda_size(void *addr)
{
(void) addr;
return sizeof (struct ao_scheme_lambda);
}
-void
+
static
void
lambda_mark(void *addr)
{
struct ao_scheme_lambda *lambda = addr;
lambda_mark(void *addr)
{
struct ao_scheme_lambda *lambda = addr;
@@
-33,7
+33,7
@@
lambda_mark(void *addr)
ao_scheme_poly_mark(lambda->frame, 0);
}
ao_scheme_poly_mark(lambda->frame, 0);
}
-void
+
static
void
lambda_move(void *addr)
{
struct ao_scheme_lambda *lambda = addr;
lambda_move(void *addr)
{
struct ao_scheme_lambda *lambda = addr;
@@
-50,7
+50,7
@@
const struct ao_scheme_type ao_scheme_lambda_type = {
};
void
};
void
-ao_scheme_lambda_write(ao_poly poly)
+ao_scheme_lambda_write(ao_poly poly
, bool write
)
{
struct ao_scheme_lambda *lambda = ao_scheme_poly_lambda(poly);
struct ao_scheme_cons *cons = ao_scheme_poly_cons(lambda->code);
{
struct ao_scheme_lambda *lambda = ao_scheme_poly_lambda(poly);
struct ao_scheme_cons *cons = ao_scheme_poly_cons(lambda->code);
@@
-59,13
+59,13
@@
ao_scheme_lambda_write(ao_poly poly)
printf("%s", ao_scheme_args_name(lambda->args));
while (cons) {
printf(" ");
printf("%s", ao_scheme_args_name(lambda->args));
while (cons) {
printf(" ");
- ao_scheme_poly_write(cons->car);
+ ao_scheme_poly_write(cons->car
, write
);
cons = ao_scheme_poly_cons(cons->cdr);
}
printf(")");
}
cons = ao_scheme_poly_cons(cons->cdr);
}
printf(")");
}
-ao_poly
+
static
ao_poly
ao_scheme_lambda_alloc(struct ao_scheme_cons *code, int args)
{
struct ao_scheme_lambda *lambda;
ao_scheme_lambda_alloc(struct ao_scheme_cons *code, int args)
{
struct ao_scheme_lambda *lambda;
@@
-89,9
+89,9
@@
ao_scheme_lambda_alloc(struct ao_scheme_cons *code, int args)
}
}
}
}
- ao_scheme_cons_stash(
0,
code);
+ ao_scheme_cons_stash(code);
lambda = ao_scheme_alloc(sizeof (struct ao_scheme_lambda));
lambda = ao_scheme_alloc(sizeof (struct ao_scheme_lambda));
- code = ao_scheme_cons_fetch(
0
);
+ code = ao_scheme_cons_fetch();
if (!lambda)
return AO_SCHEME_NIL;
if (!lambda)
return AO_SCHEME_NIL;
@@
-160,9
+160,9
@@
ao_scheme_lambda_eval(void)
return ao_scheme_error(AO_SCHEME_INVALID, "need at least %d args, got %d", args_wanted, args_provided);
}
return ao_scheme_error(AO_SCHEME_INVALID, "need at least %d args, got %d", args_wanted, args_provided);
}
- ao_scheme_poly_stash(
1,
varargs);
+ ao_scheme_poly_stash(varargs);
next_frame = ao_scheme_frame_new(args_wanted + (varargs != AO_SCHEME_NIL));
next_frame = ao_scheme_frame_new(args_wanted + (varargs != AO_SCHEME_NIL));
- varargs = ao_scheme_poly_fetch(
1
);
+ varargs = ao_scheme_poly_fetch();
if (!next_frame)
return AO_SCHEME_NIL;
if (!next_frame)
return AO_SCHEME_NIL;