matlab: missed octave support fixes.
authorJoel Martin <github@martintribe.org>
Sat, 9 Jan 2016 02:49:45 +0000 (20:49 -0600)
committerJoel Martin <github@martintribe.org>
Sat, 9 Jan 2016 02:49:45 +0000 (20:49 -0600)
matlab/step2_eval.m
matlab/step5_tco.m
matlab/step6_file.m
matlab/step7_quote.m

index bc38ebe..b8a1d77 100644 (file)
@@ -9,11 +9,7 @@ end
 function ret = eval_ast(ast, env)
     switch class(ast)
     case 'types.Symbol'
-        %if exist('OCTAVE_VERSION', 'builtin') ~= 0
-        %    ret = env.(ast.name);
-        %else
-            ret = env(ast.name);
-        %end
+        ret = env(ast.name);
     case 'types.List'
         ret = types.List();
         for i=1:length(ast)
index 8e01426..ef42683 100644 (file)
@@ -67,14 +67,14 @@ function ret = EVAL(ast, env)
            if length(ast) > 3
                ast = ast.get(4); % TCO
             else
-               ret = types.nil;
+               ret = type_utils.nil;
                return;
             end
         else
             ast = ast.get(3); % TCO
         end
     case 'fn*'
-        fn = @(varargin) EVAL(ast.get(3), Env(env, ast.get(2), ...
+        fn = @(varargin) EVAL(ast.get(3), Env({env}, ast.get(2), ...
                                               types.List(varargin{:})));
         ret = types.Function(fn, ast.get(3), env, ast.get(2));
         return;
index 4377792..3f06433 100644 (file)
@@ -67,14 +67,14 @@ function ret = EVAL(ast, env)
            if length(ast) > 3
                ast = ast.get(4); % TCO
             else
-               ret = types.nil;
+               ret = type_utils.nil;
                return;
             end
         else
             ast = ast.get(3); % TCO
         end
     case 'fn*'
-        fn = @(varargin) EVAL(ast.get(3), Env(env, ast.get(2), ...
+        fn = @(varargin) EVAL(ast.get(3), Env({env}, ast.get(2), ...
                                               types.List(varargin{:})));
         ret = types.Function(fn, ast.get(3), env, ast.get(2));
         return;
index ff5c2d9..e6054ba 100644 (file)
@@ -95,14 +95,14 @@ function ret = EVAL(ast, env)
            if length(ast) > 3
                ast = ast.get(4); % TCO
             else
-               ret = types.nil;
+               ret = type_utils.nil;
                return;
             end
         else
             ast = ast.get(3); % TCO
         end
     case 'fn*'
-        fn = @(varargin) EVAL(ast.get(3), Env(env, ast.get(2), ...
+        fn = @(varargin) EVAL(ast.get(3), Env({env}, ast.get(2), ...
                                               types.List(varargin{:})));
         ret = types.Function(fn, ast.get(3), env, ast.get(2));
         return;