History

do → begin

Sigrid Haflínudóttir committed 6 years ago

Commit 92fc7e41 parent ab14a0d1 file · +8 −8Browse files

Unified · Split

aa.c+8−8
@@ -39,7 +39,7 @@ typedef struct { · 38 unmodified lines
3939 }CharPtrInt;
4040
4141 enum {
42− P_LET, P_SET, P_IF, P_LAMBDA, P_MAC, P_WHILE, P_QUOTE, P_AND, P_OR, P_DO, P_CONS,
42+ P_LET, P_SET, P_IF, P_LAMBDA, P_MAC, P_WHILE, P_QUOTE, P_AND, P_OR, P_BEGIN, P_CONS,
4343 P_CAR, P_CDR, P_SETCAR, P_SETCDR, P_LIST, P_NOT, P_EQ, P_PRINT,
4444 P_ATOM, P_NUMBER, P_BOOLEAN,
4545 P_EQN, P_LT, P_LTE, P_ADD, P_SUB, P_MUL, P_DIV,
@@ -48,7 +48,7 @@ enum { · 2 unmodified lines
4848 };
4949
5050 static const char *primnames[P_MAX] = {
51− "let", "define", "if", "lambda", "mac", "while", "quote", "and", "or", "do", "cons",
51+ "let", "define", "if", "lambda", "mac", "while", "quote", "and", "or", "begin", "cons",
5252 "car", "cdr", "setcar", "setcdr", "list", "not", "eq?", "print",
5353 "atom?", "number?", "boolean?",
5454 "=", "<", "<=", "+", "-", "*", "/",
@@ -687,7 +687,7 @@ evallist(aaContext *ctx, aaObject *lst, aaObject *env) · 632 unmodified lines
687687 }
688688
689689 static aaObject *
690−dolist(aaContext *ctx, aaObject *lst, aaObject *env)
690+runlist(aaContext *ctx, aaObject *lst, aaObject *env)
691691 {
692692 aaObject *res;
693693 int save = aa_savegc(ctx);
@@ -778,7 +778,7 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 84 unmodified lines
778778 va = aa_nextarg(ctx, &arg, 0);
779779 n = aa_savegc(ctx);
780780 while(!ISNIL(eval(ctx, va, env, nil))){
781− dolist(ctx, arg, env);
781+ runlist(ctx, arg, env);
782782 aa_restoregc(ctx, n);
783783 }
784784 break;
@@ -795,8 +795,8 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 10 unmodified lines
795795 while (!ISNIL(arg) && ISNIL(res = evalarg()));
796796 break;
797797
798− case P_DO:
799− res = dolist(ctx, arg, env);
798+ case P_BEGIN:
799+ res = runlist(ctx, arg, env);
800800 break;
801801
802802 case P_CONS:
@@ -876,14 +876,14 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 73 unmodified lines
876876 arg = evallist(ctx, arg, env);
877877 va = CDR(fn); /* (env params ...) */
878878 vb = CDR(va); /* (params ...) */
879− res = dolist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va)));
879+ res = runlist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va)));
880880 break;
881881
882882 case AA_TMACRO:
883883 va = CDR(fn); /* (env params ...) */
884884 vb = CDR(va); /* (params ...) */
885885 /* replace caller object with code generated by macro and re-eval */
886− *obj = *dolist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va)));
886+ *obj = *runlist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va)));
887887 aa_restoregc(ctx, gc);
888888 ctx->calllist = CDR(&cl);
889889 return eval(ctx, obj, env, nil);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t