From 22fa7e3786ff4d5035c6827ed59c3bcf2e49ae53 Mon Sep 17 00:00:00 2001 From: s-ol Date: Mon, 20 Apr 2020 18:25:39 +0200 Subject: export and export* to create alive modules See #16 --- alv/copilot.moon | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'alv/copilot.moon') diff --git a/alv/copilot.moon b/alv/copilot.moon index 3d1523e..e5868bb 100644 --- a/alv/copilot.moon +++ b/alv/copilot.moon @@ -6,13 +6,7 @@ lfs = require 'lfs' import Scope from require 'alv.scope' import Registry from require 'alv.registry' import Error from require 'alv.error' -import program from require 'alv.parsing' -globals = Scope.from_table require 'alv.builtin' - -slurp = (file) -> - file = io.open file, 'r' - with file\read '*all' - file\close! +import loadfile from require 'alv.load' spit = (file, str) -> file = io.open file, 'w' @@ -59,14 +53,7 @@ class Copilot eval: => @registry\begin_eval! - ok, ast = Error.try "parsing '#{@file}'", program\match, slurp @file - if not (ok and ast) - L\print ast or Error 'syntax', "failed to parse" - @registry\rollback_eval! - return - - scope = Scope globals - ok, root = Error.try "evaluating '#{@file}'", ast\eval, scope, @registry + ok, root, ast = Error.try "running '#{@file}'", loadfile, @file if not ok L\print root @registry\rollback_eval! -- cgit v1.2.3