use Tak::JSONChannel;
use Tak::ServiceManager;
use Tak::EvalService;
+use Tak::ModuleLoader;
use Tak::Router;
+use Tak::Remote;
+
+open my $stdin, '<&', \*STDIN;
+open my $stdout, '>&', \*STDOUT;
my $channel = Tak::JSONChannel->new(
- read_fh => \*STDIN,
- write_fh => \*STDOUT
+ read_fh => $stdin,
+ write_fh => $stdout,
);
my $eval = Tak::ServiceManager->new(
}
);
+my $remote = Tak::Remote->new(
+ router => $router,
+ name => 'MODULE_SENDER'
+);
+
+my $loader = Tak::ModuleLoader->new(
+ remote => $remote
+);
+
+shift @INC;
+shift @INC while $INC[0] =~ /^\Q$ENV{HOME}/;
+
+unshift @INC, $loader->inc_callback;
+
$router->run;