aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-031/tyler-limkemann/README1
-rw-r--r--challenge-031/tyler-limkemann/ch-1.p62
-rw-r--r--challenge-031/tyler-limkemann/ch-2.p618
3 files changed, 21 insertions, 0 deletions
diff --git a/challenge-031/tyler-limkemann/README b/challenge-031/tyler-limkemann/README
new file mode 100644
index 0000000000..c03a7a0168
--- /dev/null
+++ b/challenge-031/tyler-limkemann/README
@@ -0,0 +1 @@
+Solutions by Tyler Limkemann.
diff --git a/challenge-031/tyler-limkemann/ch-1.p6 b/challenge-031/tyler-limkemann/ch-1.p6
new file mode 100644
index 0000000000..b56840cc6b
--- /dev/null
+++ b/challenge-031/tyler-limkemann/ch-1.p6
@@ -0,0 +1,2 @@
+CATCH { default { "can't divide by 0!".say } }
+(1/0).say;
diff --git a/challenge-031/tyler-limkemann/ch-2.p6 b/challenge-031/tyler-limkemann/ch-2.p6
new file mode 100644
index 0000000000..e84fc90949
--- /dev/null
+++ b/challenge-031/tyler-limkemann/ch-2.p6
@@ -0,0 +1,18 @@
+use MONKEY;
+use nqp;
+
+class Contextualizer {
+ submethod ctxsave(*@args --> Nil) {
+ $*MAIN_CTX := nqp::ctxcaller(nqp::ctx());
+ }
+}
+
+sub MAIN(Str $s) {
+ my $compiler = nqp::getcomp('perl6');
+
+ my $*MAIN_CTX := nqp::ctx();
+ my $*CTXSAVE := Contextualizer;
+
+ $compiler.eval("my \${$s.uc} = ':)'", :outer_ctx($*MAIN_CTX), :interactive(1));
+ $compiler.eval("\${$s.uc}.say", :outer_ctx($*MAIN_CTX), :interactive(1));
+} \ No newline at end of file