From a1a9641baeab04b954420122b6fd1c9428a757b5 Mon Sep 17 00:00:00 2001 From: glenda Date: Sat, 10 Sep 2022 17:14:51 +0000 Subject: Try some more --- runtime/start.apl | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'runtime/start.apl') diff --git a/runtime/start.apl b/runtime/start.apl index c98462e..70df0fb 100644 --- a/runtime/start.apl +++ b/runtime/start.apl @@ -1,8 +1,19 @@ ⎕session←{ (indented main prompt)←⍵ + ⎕rawio←'Welcome to APL9',(⎕ucs 10),prompt + indented←≢prompt + unindent←{ ⎕rawio←⎕ucs ⍺⍴8 } + handleMain←{ + 0::⍺ + data←⍵ + ⎕rawio←data + ⎕rawio←⎕ucs 10 + ⎕rawio←prompt + ≢prompt + } handleError←{ 0::⍺ (task (error msg taskname))←⍵ @@ -31,11 +42,12 @@ (task (type data))←⍵ indented←⍺ _←indented∘unindent IF (indented>0)∧task≢main - type≡'!': 0 handleError task data - type≡'⎕': 0 handleQuad data - type≡'⍞': 0 handleQuoteQuad data + indented←indented×task≡main + type≡'→': indented handleMain data + type≡'!': indented handleError task data + type≡'⎕': indented handleQuad data + type≡'⍞': indented handleQuoteQuad data ⍵ } {∇ ⍵ handle {1 ⍵}⍇⍬} indented -}&'session'⊢0 ⎕self (6⍴' ') -⎕←'Welcome to APL9' +}&'session'⊢0 ⎕self ('APL9> ') -- cgit v1.2.3