From 871df1f691f1819dcece299860cec4a807ce16bd Mon Sep 17 00:00:00 2001 From: Pekka Laiho Date: Wed, 17 Jun 2020 18:31:13 +0700 Subject: [PATCH] separate coreLibs and userLibs for LispFactory --- src/LispFactory.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/LispFactory.php b/src/LispFactory.php index ad0a2fd..fef1ddf 100644 --- a/src/LispFactory.php +++ b/src/LispFactory.php @@ -3,7 +3,7 @@ namespace MadLisp; class LispFactory { - public function make(array $libraries = []): Lisp + public function make(array $coreLibs = [], array $userLibs = []): Lisp { $tokenizer = new Tokenizer(); $reader = new Reader(); @@ -50,14 +50,19 @@ class LispFactory (new Lib\Time())->register($env); (new Lib\Types())->register($env); - // Register additional libraries - foreach ($libraries as $lib) { + // Register additional libs for root env + foreach ($coreLibs as $lib) { $lib->register($env); } // User environment $env = new Env('user', $env); + // Register additional libs for user env + foreach ($userLibs as $lib) { + $lib->register($env); + } + return new Lisp($tokenizer, $reader, $eval, $printer, $env); } }