repl works again
[scpubgit/Tak.git] / bin / tak-repl
1 #!/usr/bin/env perl
2
3 use Tak::Client;
4 use Tak::Router;
5 use Tak::REPL;
6 use strictures 1;
7
8 my $iclient = Tak::Client->new(service => Tak::Router->new);
9
10 my $rclient;
11
12 if (my $on = $ARGV[0]) {
13   $iclient->curry('meta')->do(register => connector => 'Tak::ConnectorService');
14   my @path = $iclient->curry('connector')->do(create => $ARGV[0]);
15   $rclient = $iclient->curry('connector', 'connection', @path, 'remote');
16   my $lclient = $iclient->curry('connector', 'connection', @path, 'local');
17   $lclient->curry('meta')->do(register => module_sender => 'Tak::ModuleSender');
18   $rclient->curry('meta')->do(
19     register => module_loader => 'Tak::ModuleLoader',
20     expose => { module_sender => [ 'remote', 'module_sender' ] }
21   );
22   $rclient->curry('module_loader')->do('enable');
23 } else {
24   $rclient = $iclient;
25 }
26
27 $rclient->curry('meta')->do(register => eval => 'Tak::EvalService');
28
29 my $repl = Tak::REPL->new(client => $rclient->curry('eval'));
30
31 $repl->run;